Home myWCU Calendars Site Map Searches Contact Us

Graduate Catalog 08-09

Office of Graduate Studies and Extended Education
McKelvie Hall, 102 W. Rosedale Avenue
West Chester University
West Chester, PA 19383
610-436-2943
fax: 610-436-2763
gradstudy@wcupa.edu

Revised March 2008

Computer Science

Faculty Program Description Degree Requirements Course Descriptions

404 Anderson Hall
West Chester University
West Chester, PA 19383
610-436-2204

Dr. Fabrey, Chairperson
Dr. Milito, Assistant Chairperson and Coordinator of Graduate Studies
610-436-2690

PROFESSORS

Richard Epstein, Ph.D., Temple University
James D. Fabrey, Ph.D., Massachusetts Institute of Technology
Elaine R. Milito, Ph.D., Pennsylvania State University

ASSOCIATE PROFESSORS

Robert Kline, Ph.D., Washington University
Bin Lu, Ph.D., Texas A & M University
Richard Wyatt, Ph.D., University of California, Berkeley
Cheer-Sun D. Yang, Ph.D., University of Delaware
Zhen Jiang, Ph.D., Florida Atlantic University

ASSISTANT PROFESSOR
Afrand Agah, Ph.D., University of Texas at Arlington
Mehran Asadi, Ph.D., University of Texas at Arlington

Programs of Study

The department offers a certificate program for students whose undergraduate degree is not in computer science, and a master of science degree for students who possess an undergraduate degree in computer science or a closely related discipline. Students who complete the certificate program will be awarded a certificate in computer science.

MASTER OF SCIENCE IN COMPUTER SCIENCE

The purpose of this program is to provide its graduates with the intellectual and practical tools that they will need either to pursue careers as professional computer scientists in industry or to pursue a doctor's degree in computer science at a doctoral-granting institution. The curriculum is designed with three goals in mind:

1. A solid foundation in the fundamental principles of computer science (the core).

2. Exposure to a variety of subject areas (the 500-level electives).

3. Exposure to research topics of current interest and to provide in-depth knowledge of several areas (the 600-level courses).

The computing platform is UNIX-based workstations, and the programming paradigm is mainly object oriented.

Admission Requirements

Applicants for the master of science program in computer science must satisfy the general graduate admission requirements of the University. Further, applicants should possess an undergraduate degree in computer science or an equivalent degree. An applicant who does not have an undergraduate degree in computer science or the equivalent may, however, apply for admission into the certificate program, which is an 18-credit program designed to give students a broad knowledge of standard topics in computer science. See "Certificate Program" below.

Applicants also must submit scores for the general section of the Graduate Record Examination, unless they have an earned master's degree. Other circumstances may apply.

A TOEFL score of 550 is required for non-native speakers only. Three letters of recommendation also are required of all applicants.

Degree Requirements

A student must take a total of 33 semester hours from the following courses (subject to the stipulations listed below):

Curriculum (33 semester hours)

I. All four core courses (12 semester hours)
CSC 520, 530, 540, and 560

II. At least four 500-level electives (at least 12 semester hours)
Chosen from the following:
CSC 525, 535, 545, 555, 565, 570, 573, 575, and 581

III. At least two 600-level courses (at least 6 semester hours)
Chosen from the following:
CSC 600 (see stipulation #3 below), 610, 620

Stipulations:

1. A student must complete the four core courses within the first six courses taken.

2. All core courses must be completed before a student can take a 600-level course.

3. The advanced seminar course offers a variety of advanced topics in computer science. Different topics will be listed as different sections of this course. A student must take at least one section and not more than two of these.

4. A student who elects to do a master's thesis must take CSC 610 (independent research) and CSC 620 (thesis). CSC 610 may count for credit towards the degree only once.

Thesis Options

Independent Research (CSC 610)

The student may work in one of three directions for this course:

1. Master's thesis preparation: After consulting with a faculty adviser, the student will conduct a comprehensive literature search in a research area, write a detailed report on the current state of the art in that area, and develop a thesis proposal.

2. Individual project: The student will work on a substantial programming project throughout the semester. The student will be expected to do sufficient background research and then design, as needed, all the data structures, flow of control, and so forth, required for implementation.

3. Team project: The student will be involved in an ambitious software development project with at least one other student under the guidance of the adviser. This course emphasizes the development of those capabilities that are considered especially important in the practical world of computing, such as written and oral communications skills and the ability to work as part of a team.

Thesis (CSC 620)

The student is to carry out the research proposal developed in CSC 610. At the completion of the project, the student must submit a bound manuscript that meets the approval of the graduate committee.

Certificate Programs

The Department of Computer Science offers three certificate programs in Web technology, information systems, and computer security.

Certificate in Web Technology (15 semester hours)

The department offers a graduate certificate in Web technology consisting of five courses. If the student wishes to pursue a master's degree in computer science, all of the graduate computer science courses (CSC) listed can be counted towards the master's degree program.

Admission Requirements

A student who wishes to enroll in this program must hold a bachelor's degree (in any subject area) and needs to have successfully completed an undergraduate data structures course using an object-oriented programming language (like C++ or Java) - i.e., the equivalent of West Chester University course CSC 241.

Curriculum

Students must take five of the following courses: CSC 515, 535, 545, 584, 585, 587, 588, 604.

Certificate in Information Systems (15 semester hours)

The department offers a graduate certificate in information systems consisting of five courses. If the student wishes to pursue a master's degree in computer science, all of the graduate computer science courses (CSC) listed can be counted towards the master's degree program.

Admission Requirements

A student who wishes to enroll in this program must hold a bachelor's degree (in any subject area) and needs to have successfully completed an undergraduate data structures course using an object-oriented programming language (like C++ or Java) - i.e., the equivalent of West Chester University course CSC 241.

Curriculum

Students must take five of the following courses:

At least three: CSC 545, 555, 582, 586, 589

At most two: GEO 534, MIS 501, STA 511, TEC 505

Certificate in Computer Security (15 semester hours)

The department offers a graduate certificate in computer security consisting of five courses. If the student wishes to pursue a master's degree in computer science, all of the graduate computer science courses (CSC) listed can be counted towards the master's degree program.

Admission Requirements

A student who wishes to enroll in this program needs to hold a bachelor's degree (in any subject area) and needs to have successfully completed an undergraduate data structures course using an object-oriented programming language (like C++ or Java) - i.e., the equivalent of West Chester University course CSC 241.

Curriculum

Students must take five of the following courses: CRJ 555; CSC 525, 535, 555, 583, 586, 588, 603.

Prerequisite Certificate Program (18 semester hours)

This program is designed for students whose undergraduate degree is not in computer science. The certificate program in computer science has two fundamental purposes:

1. To serve as a "bridge" between an undergraduate degree in some field other than the discipline of computing and the regular master's degree program in computer science.

2. To allow those who wish to study computing at the graduate level, without pursuing a master's degree, to do so.

The program consists of six, three-credit courses offered over two semesters. These graduate-level courses are specifically designed to give students broad knowledge of those topics in computer science that would be known by a college graduate in the field. Students who complete the prerequisite program with a 3.0 GPA or better will receive a certificate in computer science. They also will be entitled to enter the computer science master's degree program.

Admission Requirements

The applicant is expected to have a bachelor's degree from an accredited institution including four semesters of mathematics including Calculus I and discrete math. Non-native speakers are expected to have a TOEFL score of 550. Three letters of recommendation are required of all applicants.

Curriculum (18 semester hours)

Fall Semester:
CSC 512, 514, 220

Spring Semester:
CSC 513, 516, 517

COURSE DESCRIPTIONS
COMPUTER SCIENCE

Symbol: CSC

CSC 512 - CSC 517 may not be used for credit in the master's degree program.

512 Computer Programming I (3) The principles of algorithmic problem solving is introduced using the C++ language. This course teaches programming techniques which involve elementary data and control structures.

513 Computer Programming II (3) This course further develops the topics started in Computer Programming I with a strong emphasis on software issues and object-oriented program design. PREREQ: CSC 512.

514 Computer Organization (3) This course introduces students to the basics of computer hardware design, including digital logic and hardware components. Assembly-level programming is taught as a tool for understanding how it is used by compilers of high-level languages.

516 Introduction to Data Structures and Algorithms (3) This course introduces the definitions, implementations, and applications of the most basic data structures used in computer science. The concept of abstract data type is introduced and reinforced by the object concept of C++. PREREQ: CSC 512.

517 Programming Paradigms (3) This course is designed to develop students' understanding of the nature of programming languages and to enhance their programming skills. The approach is more formal than in a beginning course and emphasizes both the general features of languages and sound problem-solving methods. PREREQ: CSC 512.

520 Foundations of Computer Science (3) This course offers an advanced treatment of many of the theoretical areas underlying other computer science subjects.

525 Operating Systems (3) This course covers the basic features of operating systems. Examples will be drawn from UNIX and other operating systems. This course includes an intensive study of the UNIX operating system by way of the UNIX kernel commands and utilities.

530 Data Structures (3) This course builds on rudimentary understanding of linked structures and develops complex data structures such as trees, hash tables, graphs, etc. It also introduces the basics of asymptotic analysis of running time and space in order to provide the justification for various data structures.

535 Networks and Data Communications (3) This course provides in-depth studies of various aspects of modern telecommunication systems such as network design, network implementation, serial port communications, and user interfaces.

540 Programming Languages (3) This course introduces the theoretical and practical foundations of programming languages from the point of view of design and implementation.

545 Database System Concepts (3) This course emphasizes recent technological advances in database management systems. The course centers around data models and languages for those data models. Special attention is paid to relational and object-oriented data models and systems which implement these. PREREQ: CSC 520.

555 Software Engineering (3) This course emphasizes important topics in software engineering from an object-oriented point of view (as opposed to the older functional, or structural analysis approach).

560 Analysis of Algorithms (3) This course introduces the methods to analyze the efficiency of computer algorithms in terms of their use of both space and time. Algorithmic design techniques, such as divide and conquer, greedy methods, and dynamic programming are illustrated throughout the course. The theory of NP-completeness and tractability is introduced. PREREQ: CSC 520.

565 Compiler Design (3) An in-depth study of the principles and design aspects of programming language translation. Students will design and implement a compiler using standard UNIX-based compiler tools for a small but representative language. PREREQ: CSC 520.

570 Computer Architecture (3) This course will study the methodology for design of components and interfaces in a uniprocessor computer. Various architectures/machine languages are compared, and one is studied in depth.

573 Graphics and User Interfaces (3) This course covers the basic aspects of generating and transforming computer graphical images. PREREQ: Linear algebra background.

575 Artificial Intelligence (3) Artificial Intelligence (AI) aims to reproduce or simulate the intelligent capacities of human beings such as forming plans of action and conversing in English. This course will combine theoretical, practical, and programming aspects of AI. Common Lisp will be used for programming projects. PREREQ: CSC 520.

581 Topics in Computer Science (3) This course will allow instructors to teach a 500-level (not research-oriented) course in a computer science topic not specified in the current course list. Different topics will be taught as different sections of this course. PREREQ: To be determined by topic.

600 Advanced Seminar (3) This is a research-oriented course which will involve an investigation into an advanced and specialized topic determined according to faculty and student interest. PREREQ: Completion of 18 graduate credits including the core courses.

605 Internship in Computer Science (3) Provides the student with professional development and work experiences in the computer science field. PREREQ: Successful completion of the four core courses in the M.S. computer science program: CSC 520, 530, 540, 560.

610 Independent Research (3) The student may work in one of three directions: thesis, individual project, or team project. (See "Thesis Options" above.) PREREQ: The agreement of the faculty member to act as an adviser.

620 Thesis (3) A continuation of Independent Research. (See "Thesis Options" above.) PREREQ: The permission of the thesis adviser, and approval of the thesis proposal by the computer science graduate committee.

WCU Home | WCU Web Text Only | Prospective Students | Current Students | Parents & Family
Alumni | Faculty & Staff | Visitor Info | Administration | Academic Programs | Library | Athletics
Catalogs | News & Events | Text Only Site Map | Giving to WCU
Searches | Contact Us

Valid HTML 4.01!