Computer Science

Department Chairperson: Rohan Attele

Faculty: Victor K. Akatsa, Kapila Rohan Attele, Jan-Jo Chen, Johng-Chern Chern, Raymond

H. Y. Chu, John F. Erickson, Dawit Getachew, Lun-Pin Ho, Daniel J. Hrozencik, Lixing (Adam) Jia, Paul M. Musial, Sharon O’Donnell, Howard A. Silver (Emeritus), Richard J.Solakiewicz, Marjorie M. Stinespring (Emeritus), Luis Vidal-Ascon, Guang-Nay Wang,Jesse Y. Wang, Asmamaw Yimer, George I. Zazi

The Department of Mathematics and Computer Science offers a Bachelor of Science degree in Computer Science and a minor sequence in computer science for students majoring in other fields. Students may choose to concentrate in database and software engineering, communications and networks, or web programming and development. Students obtaining this degree will be prepared for positions in private industry or government, or to pursue an advanced degree in their area of specialization.

All entering freshmen and transfer students are required to take the university placement examination in mathematics. These students may not register for any mathematics or computer science course until they have taken the examinations. This examination is designed to place students into the appropriate mathematics course from Basic Mathematics to Calculus.

General Requirements

Admission to the program is contingent upon completion of CPTR 1100/141 and CPTR 2100/241, cumulative grade point average of 2.0 or higher, and acceptance by the department. The department will not accept D grades in any required major courses or required supportive courses, either as transfer credit or completed at Chicago State University.

Requirements include completion of 120 semester hours of work: 39 hours in general education; plus 5 additional hours in the natural sciences as specified in required supportive courses; 46 hours in computer science; 40 hours in required supportive courses; and passing the examination on the state and federal constitutions. By demonstrating proficiency a student may be able to obtain credit for certain mathematics and computer science courses at the recommendation of the department.

Specific Requirements

Required Courses (46 credit hours)

  1. 34 credit hours
    CPTR 1100/141, 1900/180, 2100/241, 2400/305, 2550/255, 3100/307, 3500/355, 3700/356, 4210/317, 4220/320, 4400/333, 4600/357;
  2. 6 credit hours selected from one of the three following tracks:
    1. Database and Software Engineering:
      CPTR 3150/313, 3620/308, 4620/358, 4800/339, 4820/340.
    2. Communications and Networks:
      CPTR 4700/366, 4710/362, 4720/365, 4730/368.
    3. Web Programming and Development:
    4. CPTR 1120, 2130, 3640.
  3. 6 credit hours from courses not taken in the list above or from the following:
    CPTR 3330/301, 3350/310, 4200/309, 4310/371, 4320/372, 4340/341, 4740/364, 4750, 4900/370, 4920/381.

Required Supportive Courses (40 credit hours)

  1. Mathematics: MATH 1410/261 or 1415, 1420/262, 1600/210 or 4600/315, 2200/201, 2800/283
  2. Science: BIOL 1070/107, 1080/108 or equivalent; one of the following physical science sequences: PHYS 1510/151, 1520/152 or PHYS 2110/211, 2120/212 or CHEM 1550/155, 1560/156. (These courses can be applied to the natural science requirement.)
  3. Communications and Ethics: CMAT 2030/203, ENGL 2120/212, PHIL 2530/265 (These courses can be applied to the humanities requirement.)

Elective Courses (1 credit hour):

One credit hour of electives selected with the departmental advisor’s approval.

A semester-by-semester sample curriculum pattern is given below.

Sample Curriculum Pattern

Computer Science Option 

First Semester

 

Second Semester

 

BIOL 1070

3

MATH 1410

4

ENG 1270

3

ENG 1280

3

Soc. Sci.***

3

BIOL 1080

3

CPTR 1100

3

MATH 2800

3

CPTR 1900

1

CPTR 2100

3

 

13

 

16

 

Third Semester

 

Fourth Semester

 

MATH 1420

4

MATH 2200

3

CPTR 2550

3

MATH 1600

3

CPTR 3100

3

CPTR 2400

3

PHIL 2530

3

Language

3

Language

3

Soc. Sci.

3

 

16

 

15

 

Fifth Semester

 

Sixth Semester

 

CPTR 3500/355

3

CPTR 3700/356

3

CPTR 4220/320

3

CPTR 4400/333

3

CPTR 4210/317

3

CPTR 4600/357

3

Soc. Sci.

3

Elective

3

ENGL 2120

3

CMAT 2030

3

 

15

 

15

 

Seventh Semester

 

Eighth Semester

 

CPTR Elective**

3

CPTR Elective**

3

CPTR Elective**

3

CPTR Elective**

3

Fine Arts

3

Elective

4

Elective

3

Physical Science

4

Physical Science

4

  

16

  

14

 

*The first course in mathematics is determined by placement examination.

**Six hours selected from one of three tracks (Database and Software Engineering, Communications and Networks, or Web Development), plus six more hours from an approved list.

***Any one of HIST 1300/130, 1310/131; POL 1010/101 or 4030/303 will satisfy the constitution examination requirement.

Minor in Computer Science (18 credit hours)

The requirements for minors must be completed prior to graduation in order for the minor to appear on the transcript. For more information about minors, see the Department Advisor.

Required Courses (15 credit hours)

CPTR 1100/141, 2100/241, 2400/305, 3100/307, and one course selected from 3620/308, 3500/355 or 4600/357.

Elective Courses (3 credit hours)

Completion of one computer science course at the 3000 level or higher. The minor may be modified depending upon the student’s interests and objectives.

Computer Science (CPTR) Course Offerings

Note: All entering freshmen and transfer students are required to take the university placement examination in mathematics. These students may not register for any computer science course until they have taken the examination.

Students enrolling in CPTR classes must earn at least a grade of C in all its pre-requisite mathematics and computer science courses.

1050/105 INTRODUCTION TO DATA PROCESSING (3)

Basic concepts of data processing, introduction to the modern digital computer and its peripheral devices,

data representation and computer arithmetic. Additional course fee.

1060/106 INTRODUCTION TO PERSONAL COMPUTERS (3)

An introduction to personal computer environment using Windows and the Microsoft Office package: Word, Excel, and Power Point, including Web page publishing. Additional course fee.

1065 INTRODUCTION TO PERSONAL COMPUTER (MAC) (3)

Prerequisites: MATH 0990, Placement Exam, or consent of the Instructor

Macintosh operating system, terminal applications, networking, word processing, spreadsheets, elementary database solutions, iWeb, iMovie, iPhoto, iTunes, podcasts.

1070/107 INTRODUCTION TO WEB PAGE DESIGN AND DATABASE APPLICATIONS (3)

Prerequisite: CPTR 1060/106 or consent of the department.

Continues CPTR 106, exploring Microsoft Power Point, Access, and Explorer. Using the internet. Web page creation. Additional course fee.

1080 INTRODUCTION TO HTML/XHTML/DREAMWEAVER (3)

Prerequisite: Consent of the Instructor.

Introduction to basic Web design technologies. Client-server architecture, structuring Web pages with HTML/XHTML, representation of multimedia and interactivity, Dreamweaver, Photoshop, Fireworks, and CSS. Additional course fee.

1100/141 INTRODUCTION TO C++ PROGRAMMING /5 (3)

Prerequisite: MATH 0990/099 or concurrent registration

Basic elements of C++ programming, control structures, functions, arrays, pointers, and strings. Credit may not be given for both CPTR 140 and 1100/141. Additional course fee. IAI: CS 911, ENR 922

1120 INTRODUCTION TO WEB SCRIPT PROGRAMMING JAVASCRIPT/DHTML/CSS/COLDFUSION MX (3)

Prerequisites: CPTR 1080, 1090

Interactive and animated web pages, dynamic HTML, JavaScript, and CSS, scripting access to objects embedded in different applications. Additional course fee.

1150/151 INTRODUCTION TO VISUAL BASIC (3)

Prerequisite: Math 0990/099 or by mathematics placement examination.

Windows programming language to create powerful applications for Microsoft Windows operating system to use graphical user interface (GUI), to use other Windows applications’ objects (OLEO), and to explain advanced programming techniques such as DE and DLL. Additional course fee.

1900/180 INTRODUCTION TO COMPUTER PROFESSIONS (1)

Prerequisite or concurrent enrollment in CPTR 1100/141

A survey of career opportunities for computer science professionals in industry, government, and education. Overview of the skills, training, strategies, and education required for the various occupations and computer science curriculum. Introduction to the resources available to aid the computer science major. May not be used to fulfill general education requirements.

2100/241 ADVANCED C++ PROGRAMMING /5 (3)

Prerequisite: CPTR 1100/ 141; CPTR 1900/180 (or concurrent enrollment); MATH 0990/099.

Classes and data abstraction, operator overloading, inheritance, virtual functions and polymorphisms, templates, file processing. Credit may not be given for both CPTR 240 and 2100/241. Additional course fee.

2120/243 INTRODUCTION TO MULTIMEDIA (3)

Prerequisite: CPTR 1100/ 141.

Introduction to basic multimedia techniques including hardware and software. Manipulating media information (sound, image, and video) under Windows environment such as analog to digital data conversion and media information capturing. Additional course fee.

2130 ADVANCED SCRIPT PROGRAMMING – CGI/PERL/PHP/ASP.NET (3)

Prerequisite: 1100, 1120

Server site script to respond to requests from client applications, CGI, PERL, PHP, and ASP.NET. Additional course fee.

2150/250 BUSINESS APPLICATIONS PROGRAMMING (3)

Prerequisite: CPTR 1100/ 141.

Introduction to COBOL data processing computer language. File processing techniques. Retrieval, access, and maintenance of sequential and index files. Data storage manipulation. Methods of system analysis and design. Credit not given for both CPTR 211 and CPTR 2150/250. Additional course fee.

2400/305 ASSEMBLY LANGUAGE PROGRAMMING /5 (3)

Prerequisite: CPTR 1100

Assembly language and numbering system. Hardware and software architecture. Macro assembler, I/O services. Conditional processing, arithmetic processing. Subroutines. High-level language interface. Additional course fee.

2550/255 UNIX APPLICATIONS (3)

Prerequisite: CPTR 1100/141.

UNIX operating system: UNIX standardization and implementations; the file system; files and directories; advanced I/O. Some utility programs. Use of Vi editor. Communication with other users. Formatting text. System administrator. UNIX and inter-process communication. Communicating with Post Script printer. Credit not given for both CPTR 312 and CPTR 2550/255. Additional course fee.

Note: A prerequisite for any 3000 or higher level computer science course is the successful completion of the English and reading qualifying examinations.

3100/307 DATA STRUCTURES /5 (3)

Prerequisite: CPTR 2100/ 241 and MATH 2800/283.

An introduction to data representations and data structures, followed by a detailed study of operations and applications with character strings (including character sorting, table searching, text editing), linearly linked lists, trees, and graphs. Additional course fee. IAI: CS 921

3150/313 OBJECT ORIENTED PROGRAMMING (3)

Prerequisite: CPTR 2100/241.

Classes, data encapsulation, inheritance, polymorphisms, OOD/OOP technologies, C++ and other OOP languages. Additional course fee.

3330/301 NUMERICAL METHODS (3)

Prerequisite: 1100/141 and MATH 1410/261.

Numerical methods in problems in mathematics, including numerical integration and differentiation, calculation of roots, interpolation, numerical techniques in linear algebra, programming in a high level language. Additional course fee.

3350/310 COMPUTER GRAPHICS /5 (3)

Prerequisite: CPTR 2100/241 and MATH 1210/163 or 1250/171.

Among the topics covered are line drawing algorithms, tables, clipping algorithms, techniques for motion, and other topics in two-dimensional graphics. Students are required to write programs implementing the techniques discussed. Some evaluation of graphics software may be done as well as an introduction to three-dimensional graphics. Additional course fee.

3500/355 INTRODUCTION TO OPERATING SYSTEMS (3)

Prerequisite: CPTR 2400/305 and 3100/307.

Introduction to the basic components and functions of operating systems, resources management and performance evaluation. Writing Emphasis Course. Additional course fee.

3640 DATABASE PROGRAMMING FOR WEB DEVELOPMENT (3)

Prerequisite: CPTR 2120

Multi-layer (2/3)architectures used for web-based applications. Model and design databases, entity-relationship (ER) diagrams, Standard Query Language(SQL), CGI, PERL, PHP, and ASP.NET. Additional course fee.

3700/356 COMMUNICATION AND COMPUTER NETWORKS I (3)

Prerequisite:CPTR 2550

Digital data flow and error control, multiplexing, switching architecture, satellite communication, network structure and topology, layering, protocols, interfaces, OSI reference model, IEEE 802 LAN. Writing Emphasis Course. Additional course fee.

4200/309 COMPUTER ALGORITHMS (3)

Prerequisite: CPTR 3100/307.

Design and analysis of algorithms. Searching, sorting, and cominatorial algorithms. Time and space complexity.

Additional course fee.

4210/317 THEORY OF COMPUTATION (3)

Prerequisites: Math 2800/283 or 303 and a co-requisite of CPTR 3100/307.

Regular expressions and languages; finite-state machines; formal grammars; regular, context-free, context-sensitive, and unrestricted grammars; pushdown automata; context-free languages; Turing machines; Church’s thesis; random-access machines; recursive functions; P- completeness problem; intractable problems. Additional course fee.

4220/320 PROGRAMMING LANGUAGES (3) 

Prerequisite: CPTR 3100/307.

Language syntax; lexical properties, BNF , and parsing examples; language processors; compilers, interpreters, and direct execution; language representations and language styles. Additional course fee.

4310/371 PATTERN RECOGNITION (3)

Prerequisite: CPTR 3100/307; and MATH 1600/210 or 4600/315.

Decision theory, parameter estimation, supervision learning, nonparametric methods, clustering, unsupervised learning, introduction to image processing. Additional course fee.

4320/372 INTRODUCTION TO ARTIFICIAL INTELLIGENCE (3)

Prerequisite: CPTR 3100/307.

Problem representation, problem solving, game

playing, knowledge representation, and predicate calculus, resolution and refutation, expert systems, robot problem solving, A.I. languages (LISP and/or PROLOG). Additional course fee.

4340/341 MODELING AND SIMULATION (3)

Prerequisite: CPTR 3100/307; and MATH 1600/210 or 4600/315.

Simulation methodology, techniques of random number generation, discrete system simulation, simulation languages, model validation, and case studies. Additional course fee.

4400/333 COMPUTER ORGANIZATION (3)

Prerequisite: CPTR 2400/305.

Introduction to hardware concepts of digital computation: logical design, data representation, and transfer. Digital arithmetic, input-output facilities, system organization. Additional course fee. Credit not given for both CPTR 4400/333 and CPTR 303. IAI: CS 922.

4600/357 INTRODUCTION TO DATABASE SYSTEMS (3)

Prerequisite:CPTR 1100.

Database system architecture. Relational, hierarchical, network database models. Query languages and data definition languages. Security and system evaluation. Case studies. Additional course fee.

4620/358 RELATIONAL DATABASE AND MANAGEMENT (3)

Prerequisite: CPTR 4600/357; co-requisite CPTR 3100

Relational data model. Normalization. SQL. Concurrent control. Query optimization. Emphasis in laboratory work including system development using a software package. Additional course fee.

4700/366 COMMUNICATION AND COMPUTER NETWORKS II (3)

Prerequisite: CPTR 3700/356.

Local area network topology. Protocols. Access media. Client/server. Network management and trouble shooting. Novel network. TCP/IP. Open system. Emphasis in laboratory work. Additional course fee.

4710/362 NETWORK SECURITY (3)

Prerequisite: CPTR 3700/356.

Computer systems, network, and data security; formal definitions of security, privacy, and integrity; risk assessment and management; establishing security policies; securing the infrastructure; perimeter security components; encryption technology overview; coding, cryptography, and crypto-analysis; authentication methods and digital signatures; network security management tools; malicious software (e.g. viruses and logic bombs); audit and control methods; legal factors; databases and inference controls; security kernels and verification methods; internet/intranet firewalls. Additional course fee.

4720/365 NETWORK ADMINISTRATION (3)

Prerequisites: CPTR 3700/356.

Simple network management protocol; structure and identification of management information bases; managing interfaces; address translation; IP addresses; ICMP, TCP, and UDP management; gateway protocol management; reporting SNMP traffic; managing the Ethernet; token ring; FDDI; PPP; X.25 and the frame relay interface; bridge management. Additional course fee.

4730/368 TCP/IP INTER-NETWORKING AND APPLICATIONS (3)

Prerequisite: CPTR 3500/355.

The OSI model and TCP/IP protocol; TCP/IP architecture; IP addressing, sub-netting, and routing. ARP and RARP address resolutions; internet control message protocol; user datagram protocol; routing protocols; application layer and client-server model; domain name system; file transfer protocol; simple mail transfer protocol; telnet remote login; network security. Additional course fee.

4740/364 PRINCIPLES OF WIRELESS COMMUNICATION (3)

Co requisites : CPTR 4700 or Consent of Instructors

A comprehensive description of the concepts used in modern wireless and cellular systems. Wireless channel models, multi-access issues, such as FDMA/TDMA and CDMA with a brief view of GSM, digital transmission methods in wireless, receiver diversity, channel estimation and multi-user detection, and wideband communications. Methods to increase the data rate: antenna diversity and sectorization, adaptive equalization, multi-rate transmission and multi-amplitude phase modulation. Spread spectrum for digital cellular, personal communications and wireless LAN applications. Lab fee.

4750 SYSTEM ADMINISTRATION FOR WEB/DATABASE SERVERS (3)

Prerequisites: CPTR 3640 and CPTR 3700/356

Installation and Maintenance of Web and Database Servers; configuration of web and database servers; software installation; application and database backups; security and access control. Additional Course Fee.

4800/339 SOFTWARE ENGINEERING (3)

Prerequisites: CPTR 2100/241.

Project management fundamentals; software design and development; software life cycle; tools for verification and validation software; software metrics, project estimation, testing methods and strategies; walkthrough and inspection; object-oriented software engineering. Additional course fee.

4820/340 SYSTEMS ANALYSIS AND DESIGN (3)

Prerequisite: CPTR 2100/ 241.

An introduction to the system development life cycle. Emphasis on strategies and techniques of system planning, analysis form and file design, documentation, implementation and evaluation. Additional course fee.

4900/370 SPECIAL TOPICS IN COMPUTER SCIENCE (1-3)

Prerequisite: To be determined by instructor and consent of the department.

Computer science topics of current interest. May be repeated for credit with a different topic for a maximum of 6 hours. Additional course fee.

4920/381 COMPUTER SCIENCE INTERNSHIP (3-6)

Prerequisite: Grade of C or higher in three 3000-level computer science courses, earned 80 semester hours toward the bachelor’s degree and major in computer science; or consent of the department.