Computer Science

2006-2007 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-302
Department E-mail:
WWW Address:
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:

Thesis Plan

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

Project Plan

CS Electives (6)
CS 599 Master's Project (3)

All-Course-Work Plan

CS Electives (9)


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 entity-relationship, 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 350 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 event-driven 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.

511 Advanced Operating Systems. (3) Study of operating systems principles. Hardware, software, firmware. Survey of existing systems, future trends. Discussion of considerations for selection of particular systems. Prerequisite: CS 350 or equivalent.

512 Operating Systems II. (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 511 or 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.

521 Database Design and Administration I. (3) Review of data file structures. Database organizations, and implementations. Prerequisite: CS 351 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 521 or 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.

547 Artificial Intelligence I. (3) Problem-solving methods in artificial intelligence with emphasis on heuristic programming. Prerequisite: CS 351 or equivalent.

548 Advanced Artificial Intelligence. (3) The course will included topics from Expert Systems, Knowledge Engineering, Soft Computing, and other advanced topics. Prerequisite: CS 547 or 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)

555 Telecommunications Networks I. (3) Study of real-time and distributed processing computer networks including telecommunications and data transmission techniques. Design and implementation of typical systems. Prerequisites: CS 350 and a statistics course or equivalents.

556 Advanced Computer Networks. (3) In depth studies of computer networks and the services built on top of them. Prerequisite: CS 555 or 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 I. (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 400G or equivalent.

565 Computer Graphics I. (3) Study of graphical display devices and their applications. Techniques of graphical display software, including display files, windowing, slipping, and two- and three-dimensional transformations. Prerequisite: CS 350 and MATH 311 or equivalents.

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 565 or 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. 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.