College of Arts and Sciences
http://www.wcupa.edu/_ACADEMICS/sch_cas/
Revised May 2007
Department of Computer Science
404 Anderson Hall
610-436-2204
www.cs.wcupa.edu
James D. Fabrey, Chairperson
PROFESSORS: Epstein, Fabrey, Milito
ASSOCIATE PROFESSORS: Ahlborn, Jiang, Kline, Wyatt, Yang
ASSISTANT PROFESSORS: Agah, Edelman, Lu
INSTRUCTOR: Townsend
The Department of Computer Science offers a program leading to the bachelor of science degree. Students also can select courses leading to a computer security certificate. The B.S. in computer science prepares the student for a career in the field of computer science and its applications, such as security, and/or additional study in computer science at the graduate level. Students gain valuable on-the-job experience through an internship program with local industry or business. Normally, the computer science degree requires attendance during eight academic semesters. It is important the major consult with his/her adviser to ensure that all requirements are being met.
BACHELOR OF SCIENCE - COMPUTER SCIENCE AND INFORMATION SCIENCES
120 semester hours
1 General ed. requirements, see pages 37-41 (48 semester hours)
MAT 151*
*Required courses that will count towards the general education requirements.
2. Core curriculum
Computer science requirements (21 semester hours)
CSC 141, 142, 220, 240, 241, 242, 402
Communication skills requirements (3 semester hours)
ENG 368 or 371 and SPK 208* or 230*
*Required courses that will count towards the general education requirements.
Mathematics requirement (7 semester hours)
MAT 121, 161
Cooperative experience (i.e., internship) (9 semester hours)
CSC 400
3. Additional requirements (27 semester hours)
In addition to completing the core curriculum (requirements in computer science, communication skills, and mathematics), the student must complete 27 credits consisting of any combination of
A. approved electives in computer science,
B. approved electives in business,
C. approved electives in mathematics, or
D. courses which have been taken as part of the completion of a minor or a computer security certificate.
At least 15 of these credits must be from approved electives in computer science.
For guidance in the selection of courses to fulfill these additional requirements, see the Web page for the Department of Computer Science at www.cs.wcupa.edu.
4. Approved electives
A. Computer science courses:
Any CSC major elective course at or above the 300 level
B. Business courses:
ACC 201, ACC 202, ECO 340, ECO 348, MGT 200, MIS 300, MIS 451, MKT 200
C. Mathematics courses:
Any MAT major elective course at or above the 200 level
D. Criminal justice courses:
CRJ 380
5. Special entrance requirements
Students who enter WCU as freshman computer science majors should meet the following high school criteria:
6. Advanced Placement credit
The following guidelines will be used to determine college credit when evaluating Advanced Placement scores in computer science.
| Examination | AP Score | Policy |
| Computer Science A or AB | 3, 4, 5 | 3 credits for CSC 141 |
7. Transfer and continuation requirements
Before being admitted to the major, students who seek to transfer to computer science from another college or from another major within WCU must first
a. have received a grade of C- or better for both CSC 141 and 142,
b. have received a grade of C- or better in at least two of the following three courses: MAT 121, 151, or 161,
c. a GPA of at least 2.5 over all CSC major courses taken, and a GPA of at least 2.0 over all required MAT courses taken.
All computer science majors at WCU must satisfy the same requirements as stated above before being permitted to take any 300 or higher-level computer science major course.
Exceptions to this transfer and continuation policy can be made on a case-by-case basis by the department chairperson.
8. Graduation requirements
In order to graduate, a computer science major must earn a grade of C- or better in each course taken to fulfill the core requirements (listed above) and the additional requirements (listed above). Furthermore, a computer science major must earn a 2.5 GPA overall in CSC courses and a 2.0 GPA overall in MAT courses taken to complete the core or additional requirements.
This policy does not apply to courses that are taken as free electives.
Minor in Computer Science (19 semester hours)
Baccalaureate students may receive transcript recognition for a minor area of study in computer science by completing the following six required courses:
CSC 141, 142, 240, 241; MAT 151, 161
NOTE: Students must earn a minimum grade of C- in each course and an overall GPA of 2.0 in the minors and certificate program listed below.
Minor in Information Technology (18 semester hours)
The minor in information technology introduces students to the fundamentals of programming, computer security, Web technology, database systems, and networking. All students must complete the following six required courses: CSC 115 and 301, CST 221 and 235, CSW 131 and 315.
NOTE: Students must earn a minimum grade of C- in each course and an overall GPA of 2.0 in the minors and certificate program listed below.
Minor in Web Technology and Applications (18 semester hours)
The minor in Web technology and applications introduces students to fundamental principles of Web design, including the underlying technology and principles of aesthetics and effective communications. All students in the minor must complete four core courses (ART 111 and 113, COM 201, CSW 131) and two electives (chosen from ART 210, 211, 212, 213; COM 222**, 292**; CSW 315**; EDM 300; ENG 320; ESS 435**; HIS 390**, 480**; or an approved independent project*).
NOTE: Students must earn a minimum grade of C- in each course and an overall GPA of 2.0 in the minors and certificate program listed below.
*Required courses that will count towards the general education requirements.
** At least one of these electives must be a designated capstone project course.
Certificate in Computer Security (18 semester hours)
West Chester University has been chosen as a Center for Academic Excellence in Information Assurance (IA). With this designation students can receive a certificate in computer security that will appear on their transcripts.
Required courses:
CSC 301, 331, 335, and 402
Two different courses chosen from the following:
CRJ 380; CSC 490 (IA topic), 495 (IA topic); MAT 405 (IA topic)
NOTE: Students must earn a minimum grade of C- in each course and an overall GPA of 2.0 in the minors and certificate program listed below.
COURSE DESCRIPTIONS
COMPUTER SCIENCE
Symbol: CSW
101 Introduction to Computers (3) (nonmajors) This course is for nonmajors dealing with what computers are, what they can do, and how they are used. A brief history of computers and the societal implications of computer usage. A brief introduction to the Internet is provided along with hands-on experience using word processing, database, and spreadsheet software.
131 Introduction to Web Design (3) This course will cover HTML and introductory JavaScript programming to provide students with a basic technology skill set for pursuing other topics in Web technology. Use of some simple Web authoring and graphics packages, but a focus on the structure and semantics of HTML and JavaScript. One of three core requirement courses for the Web technology and applications minor. PREREQ: Familiarity with basic graphical user interface and systems concepts such as files, folders, and use of an editor, and Web browsers.
315 Introduction to Web Programming (3) This course will continue the design and methodologies practices that were begun in CSW 131. Beginning with an introduction to project management, the course will look at specific design practices and technology integration. In addition, the course will focus on learning to use a commercial editor and delve into server-sided scripting languages. PREREQ: A fundamental grasp of JavaScript and HTML (key components learned in CSW 131). This can be used as a capstone fulfillment. For nonmajors only.
Symbol: CST
221 Database Systems (3) (nonmajors) This course introduces students to the role of databases in information technology. PREREQ: CSC 110 or 115.
235 Network and System Administration (3) (nonmajors) This course introduces students to the fundamentals of networks and systems administration. PREREQ: CSC 110 or 115.
Symbol: CSC
110 Fundamentals of Computer Science (3) (nonmajors) Introduction to the fundamentals of computing. Topics include surveys of the following sub-areas of computer science: artificial intelligence, hardware/operating systems, programming languages/software, ethics/social issues, history, electronic communications, problem solving, and programming. The course includes laboratory projects in application software, programming, and electronic communication.
115 Introduction to Computer Programming (3) (nonmajors) The art and science of computing are introduced using an object-oriented programming language, such as Visual Basic. Topics include looping, branching, arrays, and program development.
141 Computer Science I (3) The art and science of computing and its applications are introduced using an object-oriented programming language, such as Java. Topics include structured programming, algorithmic development, decisions, loops, functions, parameter passing, and classes. PREREQ: High school algebra.
142 Computer Science II (3) Techniques of program design, documentation, and implementation are studied using an object-oriented language, such as Java. Topics include classes, multidimensional arrays, records, pointers and dynamic data, pointer arithmetic, internal storage of simple and compound data types, text and binary files, and introduction to recursion. PREREQ: CSC 141.
220 Foundations of Computer Science (3) Topics include regular and context free grammars and languages, computational logic, finite state machines, and parsing. PREREQ: MAT 151 and 161.
240 Computer Science III (3) The object-oriented paradigm is studied using a computer language, such as Java. Topics include class hierarchies and inheritance, function and operator overloading, object-oriented design and implementation, streams, templates, and class libraries. PREREQ: CSC 142, MAT 151.
241 Data Structures (3) Data structures and related algorithms are studied using object-oriented programming, such as Java. Topics include data abstraction, recursion, lists, stacks, queues, linked lists, trees, hashing, searching and sorting algorithms, and the evaluation of algorithm efficiency. PREREQ: CSC 240, MAT 151 and 161.
242 Computer Organization (3) This course teaches introductory topics in computer architecture and hardware design as well as the basics of assembly language. Software is provided to assemble, run, and debug assembly language programs. Additionally, a compiler for a high-level language, such as Java demonstrates the realistic usage of assembly language. PREREQ: CSC 142, MAT 151.
300 Cooperative Programming (3) The student works for an organization involved in the computer field. The student may do work in various areas of the discipline such as programming, networking, or customer support. PREREQ: Written approval of the internship director and a minimum grade of C- in each of the following courses: CSC 141, 142, 240, and 241 with a 2.50 GPA in CSC; MAT 151 and 161 with a 2.00 GPA in MAT.
301 Introduction to Computer Security (3) An introduction to computer security and the ethical underpinnings of security. The basic objectives of creating a secure system, attack methods, and defenses are discussed. PREREQ: Three courses in the information technology minor, or CSC 240.
317 Visual Programming (3) Techniques for programming in a visual environment are studied. Languages such as Visual BASIC and Java will be covered. PREREQ: CSC 240.
321 Database Management Systems (3) Characteristics of generalized database management systems. Surveys of different database models that are currently used. The design and implementation of a database system. PREREQ: CSC 241.
331 Operating Systems (3) This course is a general survey of elements of operating systems with in-depth studies of certain features of specific operating systems. Elements of concurrent programming are studied, such as the mutual exclusion problem, semaphores, and monitors. Additionally, the following topics are covered: process scheduling and deadlock avoidance; memory management issues such as paging and segmentation; organization and protection of file systems. PREREQ: CSC 220, 241, and 242.
335 Data Communications and Networking I (3) An overview of the various aspects of modern data and telecommunications. Discussion of the hardware and software facets of the transmission of information in the forms of voice, data, text, and image. Topics include communication protocols, transmission technologies, analog/digital transmission, communications media, public data networks, LANs, and ISDN. PREREQ: CSC 241.
336 Data Communications and Networking II (3) An in-depth study of various aspects of modern data communication systems. Discussion of serial port communications, network performance and design, and Internet protocols. Topics include PC serial port hardware (RS-232, UART) and software (XMODEM protocol), queuing theory, X.25, frame relay, SMDS, BISDN, ATM, TCP/IP, sockets, and Internet applications. PREREQ: CSC 335.
341 Compiler (3) Covers the basic topics in compiler design including lexical analysis, syntax analysis, error handling, symbol tables, intermediate code generation, and some optimization. Programming assignments will build various pieces of a compiler for a small language. PREREQ: CSC 220, 241, and 242.
345 Programming Language Concepts and Paradigms (3) An examination of the conceptual underpinning of programming languages and of the paradigms into which they fall. Topics will be drawn from those comprising the field of programming language such as abstraction, bindings, concurrency, design, encapsulation, history, representation, storage, and types. Programming projects will focus on languages within the functional, declarative, and object-oriented paradigms - such as Common Lisp, ML, Prolog, CLOS - rather than the familiar imperative paradigm. PREREQ: CSC 220 and 241.
350 Computers in Education (3) (nonmajors) Technical knowledge and skills for successful use of the computer as a supportive tool for education in the elementary and secondary school classes. Includes hands-on experience using word processing, database, spreadsheet, and elementary desktop publishing. Software evaluation techniques are learned using both utility and subject-matter software.
361 Simulation of Discrete Systems (3) Computer simulation using logical and numerical modeling to represent discrete systems. Detailed analysis of the foundation upon which all discrete simulation languages are built. Use of a special language, such as GPSS, to simulate actual systems. PREREQ: CSC 220 and 240.
371 Computer Graphics (3) A mathematical approach to the construction and manipulation of prototypes for graphical display purposes, taking into consideration light source, reflexivity of surfaces, and color palates. Includes an elementary treatment of animation. PREREQ: CSC 220, 241, and MAT 211.
400 Cooperative Specialty (9) The student works in the area of computer science that is his or her specialty. PREREQ: Written approval of the internship director and a minimum grade of C- in each of the following courses: CSC 141, 142, 240, and 241 with a 2.50 GPA in CSC; MAT 151 and 161 with a 2.00 GPA in MAT.
402 Software Engineering (3) This course explores the technical, ethical, organizational, and social implications of computing. In addition to assigned readings, including software engineering literature, students develop a moderately large software team project. PREREQ: CSC 241.
417 User Interfaces (3) This course covers designing and creating graphical user interface (GUI) programs. Window tool kit sets are presented in several programming languages to illustrate variation in styles of GUI programming. PREREQ: CSC 241 or permission of instructor.
481 Artificial Intelligence (3) Artificial Intelligence (AI) is concerned with the replication or simulation on a machine of the complex behaviors associated with intelligence. Topics will be drawn from any of those comprising the field of AI such as agent architectures, automatic truth maintenance, constraint satisfaction, expert systems, fuzzy logic, games, genetic algorithms, knowledge representation, machine learning, neural networks and connectionism, natural language processing, planning, reasoning, robotics, search, theorem proving, and vision. Projects requiring coding will focus on an AI language such as Common Lisp or Prolog. PREREQ: CSC 220 and 241.
490 Independent Project in Computer Science (3) The student designs and implements a software system. Project problems are drawn from local industry and university departments. A computer science faculty member supervises each project. PREREQ: Permission of instructor.
495 Topics in Computer Science (3) Topic announced at time of offering. PREREQ: Permission of instructor.
This course may be taken again for credit.
499 Independent Study in Computer Science (3) In conjunction with the instructor, the student selects study topics via literature search. PREREQ: Permission of instructor.