Home myWCU Calendars Site Map Searches Contact Us

Undergraduate Catalog 08-09

College of Arts and Sciences
http://www.wcupa.edu/_ACADEMICS/sch_cas/

 

 

Revised May 2008

Department of Computer Science

404 Anderson Hall
610-436-2204
www.cs.wcupa.edu
James D. Fabrey, Chairperson

PROFESSORS: Epstein, Fabrey, Milito

ASSOCIATE PROFESSORS: Jiang, Kline, Wyatt, Yang

ASSISTANT PROFESSORS: Agah, Asadi, 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

a. Computer science requirements (27 semester hours)
CSC 141, 142, 220, 240, 241, 242, 301, 345, 402

b. 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.

c. Mathematics requirement (7 semester hours)
MAT 121, 161

d. Additional mathematics and science requirements (11 semester hours)
MAT 122 or 162, plus electives in science or mathematics (At least one general education science course must be a laboratory science course for science majors.)

e. Cooperative experience (i.e., internship) (6 semester hours)
CSC 400

3. Computer science 300- and 400-level electives (12 semester hours)

4. Free electives (6 semester hours)

5. Special entrance requirements
Students who enter WCU as freshman computer science majors should meet the following high school criteria:
• Rank in the top two-fifths of graduating class
• Pass algebra I, algebra II/trigonometry, geometry, and a senior year math course
• Earn a math SAT original score of 530 (or recentered score of 550) or better
• Earn a combined SAT original score of 950 (or recentered score of 1020) or better

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)

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 and Algorithms (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.

302 Computer Security II (3) Principles and current technological developments in computer security (a continuation of CSC 301). Topics include security requirements, attack models, cryptography, authentication, and systems security, among others. Students will also learn practical knowledge through hands-on lab experience. PREREQ: CSC 301.

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 Internship (6) 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.

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!