Computer Science

2007/2008 Graduate Catalog

| Courses | Program | Requirements

Department Chairperson: Kathleen Neumann
Graduate Committee Chairperson: Dennis DeVolder
Department Office: Stipes Hall 447
Department Telephone: 309/298-1452
Fax: 309/298-2302
Department E-mail:
Location of Program Offering: Macomb

Graduate Faculty

Associate Graduate Faculty

Program Description

The Department of Computer Science offers a Master of Science degree. The program
emphasizes technical and professional education that integrates academic course work with extensive projects. The program is designed to have the flexibility to provide academic and professional preparation for industrial careers as well as the pursuit of higher degrees. The program integrates the theoretical with the practical by combining academic technical preparation in core areas and depth areas as well as a number of elective areas. The program is also designed to accommodate students with B.A. and B.S. degrees from other majors wishing to pursue a master’s degree in computer science.

Admission Requirements

All students must meet the general admission requirements of the School of Graduate
Studies. The Departmental Graduate Committee will evaluate undergraduate work at the time a student seeks admission to the program. Students entering this program should normally have received their undergraduate degree in computer science. Other students may be admitted, at the discretion of the Departmental Graduate Committee, but may have to remedy deficiencies in their undergraduate preparation by taking courses for nondegree credit.

Degree Requirements

The Chairperson of the Departmental Graduate Committee serves as a student’s adviser during the first semester. After completing nine semester hours of course work acceptable for the graduate degree, and prior to the completion of 15 hours, students will complete the Degree Plan for the School of Graduate Studies. The Chairperson of the Departmental Graduate Committee will approve an advisory committee when the Degree Plan is approved.

Each graduate student’s advisory committee will consist of three full-time faculty members. For those students under the Thesis or Project Plans, the chairperson of the student’s graduate committee will direct the thesis or project research, and the remaining members will share responsibility with the chairperson for final approval of the written research document and for conducting an oral examination over the project or thesis.

The Department of Computer Science offers three plans by which the Master of Science
degree may be earned.

Plan 1, the Thesis Plan, requires 27 semester hours of course work and six hours of research. The final written thesis will be a formal document describing the research and
will be prepared in accordance with requirements of the School of Graduate Studies.

Plan 2, the Project Plan, requires 30 semester hours of course work, and three hours of directed study research. A final written report on the research project is required.

Plan 3, the All-Course-Work Plan, requires 33 semester credit hours of course work.

In the All-Course-Work Plan, the chairperson of the student’s graduate committee will
normally be the chairperson of the Departmental Graduate Committee; students can
petition the Departmental Graduate Committee for a change of chairperson.

If a student requires no remedial computer science course work, a total of 33 semester
hours is required for the master’s degree in computer science. The hours are distributed as follows:


CS Electives (9)
CS 600 Research (3)
CS 601 Thesis (3)


CS Electives (12)
CS 599 Master’s Project (3)


CS Electives (15)


The successful completion of a final oral examination covering the research project or
thesis, when those plans are chosen, is required to graduate.

A variety of programming languages and software packages are used at the graduate level. Graduate students are expected to have the ability to immediately learn these languages and packages as needed for their programs.

Course Descriptions

400G Computer Organization II. (3) Computer systems analysis and design, interconnection structures, memory, input/output processors, machine instruction
sets, microprogramming, CPU structures, control units, parallel processing, computer architectures and systems. Prerequisities: CS 214 and 310.

410G Operating Systems. (3) Overview of the concepts/theory of operating systems with emphasis on process management, memory management, file management, scheduling, device management, and synchronization. Prerequisite: CS 350.

411G Compilers and Systems Programming. (3) This course will cover theory and operational features of compilers, loaders, assemblers and interpreters. Topics will include lexical analysis, formal languages, parsing techniques, intermediate code generation, optimization, and creation of object code. Prerequisite: CS 351.

412G Graphical User Interface Programming. (3) Development of programs that use multiple windows, dialog boxes, mouse input, interapplication communication using API calls, object-oriented frameworks and application builders. Prerequisite: CS 351.

420G Computer Communication and Networks. (3) Survey of the operational features of telecommunications systems, computer networks, and distributed-processing systems. Considerations for the design of real-time systems. Prerequisite: CS 351.

460G Artificial Intelligence Methods. (3) Survey of major AI applications areas. Introduction to basic techniques in automatic problem solving, pattern recognition, natural language processing, and robotics. Graduate students will need to write a term paper on a topic in or related to AI. Prerequisite: CS 351.

465G Computer Graphics. (3) Provides an overview to the science, theory, and art of computer graphics. It assumes a working knowledge of PC/Windows, C++, and advanced data structures. Covers output modes, basic algorithms, 2- and 3-D modeling, fractals, animation, and 3-D rendering. Assignments will include programs in C++ with OpenGL and work with modern graphics software. Prerequisite: CS 351 or equivalent.

470G Database Systems. (3) Introduction to database concepts. Survey of semantic models such as entityrelationship, network, relational, and hierarchical. Data normalization. Data sublanguages. Design, security, and integrity considerations. Survey of operational systems and their relation to data models. Prerequisite: CS 351 or TM 432.

473G Computer Simulation. (3) This class will introduce the science and art of computer based simulation. We will focus on discrete event simulation using the simulation languages ProModel and GPSSH. The class will focus on discrete event simulation, but will also cover Monte Carlos and continuous simulations. Scientific method and statistics will be used to develop, analyze, and report on a student developed simulation project. Prerequisite: CS 350 or equivalent.

483G Microcomputer Systems with Database Applications. (3) Covers command language, programming logic and applications of database systems for the non-computer science major. Cannot be applied to the computer science master’s program. Credit cannot be given for both CS 483 and CS 302. Prerequisite: CS 101 or 482.

484G Network and Data Communications Concepts (3) Concepts and design of commercial computer and telecommunications networks. Course is designed for non-majors, especially those who will manage/operate networks in business environments. Cannot be applied toward the Computer Science Master’s Program. Prerequisite: CS 101, CS 203, or CS 482 or equivalent.

488G Introduction to Programming with Visual Basic. (3) Introduction to the principles of programming for Windows in Visual Basic. Principles include eventdriven
programming, control structures, properties, events, methods of controls, and forms. Cannot be applied to the computer science master’s program. Prerequisites: CS 101, 203, 482 or equivalent.

512 Advanced Operating Systems. (3) Topics chosen from the theory of distributed, parallel, and concurrent operating systems. Other possible topics include secure systems and formal models of operating systems. Prerequisite: CS 410G.

513 Topics in Operating Systems. (3) Topics to include additional depth, readings, and/or examination of research trends in operating systems. Prerequisite: CS 410G or equivalent.

522 Advanced Database Design and Administration. (3) Advanced relational database concepts. This course will examine topics such as relational database management system design (RDBMS), including discussion of the major components of a RDBMS; query optimization strategies and cost estimation techniques; active databases, advanced transaction processing; and concurrency control. Prerequisite: CS 470G.

523 Topics in Database Systems. (3) Topics to include additional depth, reading and/or examination of research trends in Database Systems. Prerequisite: CS 470G or equivalent.

540 Computer Simulation. (3) Statistical techniques used in computer simulations. Construction and verification of simulation models. Programming projects. Prerequisites: One statistics course and familiarity with two programming languages.

548 Advanced Artificial Intelligence. (3) The course will included topics from Expert Systems, Knowledge Engineering, Soft Computing, and other advanced topics. Prerequisite: CS 460G, or equivalent.

549 Topics in Artificial Intelligence. (3) Course covers modern trends in artificial intelligence. Prerequisite: CS 460G or equivalent.

550 Workshop. (1–3)

556 Advanced Computer Networks. (3) In depth studies of computer networks and the services built on top of them. Prerequisite: CS 420G, or equivalent.

557 Topics in Computer Networks. (3) Survey of computer networks covering current trends and advanced topics. Survey of research papers from classic literature through contemporary research. Prerequisite: CS 420G or equivalent.

560 Computer Architecture. (3) Study of computer architecture for large-scale and small-scale systems. Microprogramming concepts. Minicomputer and microcomputer design and applications, projects on small-scale systems. Prerequisite: CS 310 or equivalent.

561 Advanced Computer Architecture. (3) Investigation of techniques to enhance system performance. Topics may include compiler optimization, hardware optimization, branch prediction, speculation, exploitation of instructional-and loop-level parallelism,
etc. Prerequisite: CS 560 or 400G, or equivalent.

562 Topics in Computer Architecture. (3) Advanced topics to include additional depth, readings, and/or examination of research trends in computer architecture.
Prerequisite: CS 560 or 400G, or equivalent.

566 Advanced Computer Graphics. (3) Study and programming of problems beyond the introductory level, such as real time computer graphics using modern programming languages and graphics development environments. Prerequisite: CS 465G, or equivalent.

567 Topics in Computer Graphics. (3) Designed to gain depth in computer graphics. Possible topics include the study of 3-D modeling for, and the development of,
multi-user virtual words. Prerequisite: CS 465G or equivalent.

570 Programming Languages. (3) Study of programming language constructs and applications, lexical, syntax, and semantic analysis in compilers. Comparative survey of data descriptors, organization of data declarations, binding time, storage structures,
extensible data structures, operations, and storage management. Prerequisite: CS 350 or equivalent.

575 Independent Study. (3) An investigation of issues related to computer science not specifically covered in other courses. A written report is required. Graded S/U. Prerequisites: Completion of nine graduate hours in computer science with a GPA of at least 3.0 and permission of the department.

585 Software Engineering. (3) Covers the design and implementation of large software applications through the study of team approaches and industrial standards.
Prerequisite: CS 351 or equivalent.

590 Topics in Computer Science. (3) May be repeated with a change in subject matter to a total of nine credit hours. This course is designed to give students knowledge at the frontier of a rapidly changing technology. It is offered in the following areas: a) expert database systems; b) object-oriented programming; c) fundamentals of computer arithmetic; d) computing theory for software engineers; e) design of decision support systems; f) complexity; g) cybernetics; h) fuzzy logic; i) distributed computing. j) knowledge engineering; k) software maintenance; l) systems analysis. Prerequisites: Graduate standing and permission of the instructor.

599 Master’s Project. (3, repeatable once with change in subject matter) Special software or hardware project work, in lieu of a thesis, under supervision of the student’s graduate committee chairperson. Written and oral project reports are required. Graded S/U.

600 Research. (3) Research project for the MS Thesis, under direction of the student’s graduate committee chairperson. Graded S/U.

601 Thesis. (3) Graded S/U.