Computer Science Undergraduate Catalogue

Department Chairperson: Kapila Rohan Attele

Faculty: Victor Akatsa, Jan-Jo Chen, Johng-Chern Chern, Dawit Getachew, Daniel Hrozencik, Lixing (Adam) Jia, Paul Musial, Richard Solakiewicz, Luis Vidal-Ascon, Guang-Nay Wang and Asmamaw Yimer.

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 who intend to major in computer science 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 examination. 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 and CPTR 2100, a 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; 5 additional hours in the natural sciences as specified in required supportive courses; 46 hours in computer science; 40 hours in required supportive courses; writing a honors thesis; 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)

34 credit hours: CPTR 1100, 1900, 2100, 2400, 2550, 3100, 3500, 3700, 4210, 4220, 4400, 4600;
6 credit hours selected from one of the three following tracks:
Database and software engineering: CPTR 3150, 3620, 4620, 4800, 4820.
Communications and networks: CPTR 4700, 4710, 4720, 4730.
Web programming and development: CPTR 1120, 2130, 3640.

6 credit hours from courses not taken in the list above or from the following: CPTR 3330, 3350, 4200, 4310, 4320, 4340, 4740, 4750, 4900, 4920.

REQUIRED SUPPORTIVE COURSES (40 CREDIT HOURS)

  • Mathematics: MATH 1410 or 1415, 1420, 1600 or 4600, 2200, 2800
  • Science: BIOL 1070, 1080, or equivalent; one of the following physical science sequences: PHYS 1510, 1520; or PHYS 2110, 2220; or CHEM 1550, 1560. (These courses can be applied to the natural science requirement.)
  • Communications and Ethics: CMAT 2030, ENG 2120, PHIL 2530 (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

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, 2100, 2400, 3100, and one course selected from 3500, 3620, or 4600

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 the pre-requisite mathematics and computer science courses.

1050 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 INTRODUCTION TO PERSONAL COMPUTERS (3)
An introduction to personal computer environment using Windows and the Microsoft Office package: Word, Excel, and PowerPoint, including Web page publishing. Additional course fee.

1065 INTRODUCTION TO PERSONAL COMPUTER (Mac) (3)
Prerequisite: 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, and podcasts.

1070 INTRODUCTION TO WEB PAGE DESIGN AND DATABASE APPLICATIONS (3)
Prerequisite: CPTR 1060 or consent of the department.
Continues CPTR 1060, exploring Microsoft PowerPoint, 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 INTRODUCTION TO C++ PROGRAMMING /5 (3)
Prerequisite: MATH 0990 (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. Additional course fee. IAI: CS 911, ENR 922.

1120 INTRODUCTION TO WEB SCRIPT PROGRAMMING JAVASCRIPT/DHTML/CSS/COLDFUSION MX (3)
Prerequisite: CPTR 1080 and 1090.
Interactive and animated web pages, dynamic HTML, JavaScript, and CSS, scripting access to objects embedded in different applications. Additional course fee.

1150 INTRODUCTION TO VISUAL BASIC (3)
Prerequisite: MATH 0990 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 INTRODUCTION TO COMPUTER PROFESSIONS (1)
Prerequisite: CPTR 1100 (or concurrent enrollment).
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 ADVANCED C++ PROGRAMMING /5 (3)
Prerequisite: CPTR 1100, CPTR 1900 (or concurrent enrollment), and MATH 0990.
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. Additional course fee.

2120 INTRODUCTION TO MULTIMEDIA (3)
Prerequisite: CPTR 1100.
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: CPTR 1100 and 1120.
Server site script to respond to requests from client applications, CGI, PERL, PHP, and ASP.NET. Additional course fee.

2150 BUSINESS APPLICATIONS PROGRAMMING (3)
Prerequisite: CPTR 1100.
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. Additional course fee.

2400 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 UNIX APPLICATIONS (3)
Prerequisite: CPTR 1100.
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. Additional course fee. NOTE: A prerequisite for any 3000 or higher level computer science course is the successful completion of the university qualifying examinations in English and reading.

3100 DATA STRUCTURES /5 (3)
Prerequisite: CPTR 2100 and MATH 2800.
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 OBJECT ORIENTED PROGRAMMING (3)
Prerequisite: CPTR 2100.
Classes, data encapsulation, inheritance, polymorphisms, OOD/OOP technologies, C++ and other OOP languages. Additional course fee.

3330 NUMERICAL METHODS (3)
Prerequisite: CPTR 2100 and MATH 1410.
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 COMPUTER GRAPHICS /5 (3)
Prerequisite: CPTR 2100 and MATH 1210 or 1250.
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, as well as an introduction to three-dimensional graphics. Additional course fee.

3500 INTRODUCTION TO OPERATING SYSTEMS (3)
Prerequisite: CPTR 2400 and 3100.
Introduction to the basic components and functions of operating systems, resources management and performance evaluation. (A 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 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. (A writing emphasis course.) Additional course fee.

4200 COMPUTER ALGORITHMS (3)
Prerequisite: CPTR 3100.
Design and analysis of algorithms. Searching, sorting, and combinatorial algorithms. Time and space complexity. Additional course fee.

4210 THEORY OF COMPUTATION (3)
Prerequisite: MATH 2800.
Corequisite: CPTR 3100.
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 PROGRAMMING LANGUAGES (3)
Prerequisite: CPTR 3100.
Language syntax; lexical properties, BNF, and parsing examples; language processors; compilers, interpreters, and direct execution; language representations and language styles. Course work require writing in the IEEE format a significant project and its presentation. Satisfies the University undergraduate thesis requirement. Additional course fee.

4310 PATTERN RECOGNITION (3)
Prerequisite: CPTR 3100 and MATH 1600 or 4600.
Decision theory, parameter estimation, supervision learning, nonparametric methods, clustering, unsupervised learning, introduction to image processing. Additional course fee.

4320 INTRODUCTION TO ARTIFICIAL INTELLIGENCE (3)
Prerequisite: CPTR 3100.
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 MODELING AND SIMULATION (3)
Prerequisite: CPTR 3100 and MATH 1600 or 4600.
Simulation methodology, techniques of random number generation, discrete system simulation, simulation languages, model validation, and case studies. Additional course fee.

4400 COMPUTER ORGANIZATION (3)
Prerequisite: CPTR 2400.
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 and CPTR 303. IAI: CS 922.

4600 INTRODUCTION TO DATABASE SYSTEMS (3)
Prerequisite: CPTR 1100 and consent of the instructor.
Database system architecture. Relational, hierarchical, network database models. Query languages and data definition languages. Security and system evaluation. Case studies. Additional course fee.

4620 RELATIONAL DATABASE AND MANAGEMENT (3)
Prerequisite: CPTR 4600. Corequisite: 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 COMMUNICATION AND COMPUTER NETWORKS II (3)
Prerequisite: CPTR 3700.
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 NETWORK SECURITY (3)
Prerequisite: CPTR 3700.
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 NETWORK ADMINISTRATION (3)
Prerequisite: CPTR 3700.
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 TCP/IP INTER-NETWORKING AND APPLICATIONS (3)
Prerequisite: CPTR 3500.
The OSI model and TCP/IP protocol; TCP/IP architecture; IP addressing, subnetting, 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 PRINCIPLES OF WIRELESS COMMUNICATION (3)
Corequisite: CPTR 4700 or consent of instructor.
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)
Prerequisite: CPTR 3640 and CPTR 3700.
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 SOFTWARE ENGINEERING (3)
Prerequisite: CPTR 2100.
Project management fundamentals; software design and development; software life cycle; tools for verification and validation software; software metrics, project estimation, testing methods and strategies; walk-through and inspection; object-oriented software engineering. Additional course fee.

4820 SYSTEMS ANALYSIS AND DESIGN (3)
Prerequisite: CPTR 2100.
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 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 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.
A student project or activity in a computer science environment outside the department where the techniques of computer science are applied in an essential way. Activity to be performed must be approved in advance by the department. A written final report is required. Additional course fee.