Computer Science
2015-2016

Admission | Courses | Program | Requirements | Integrated Degree | Profile

Director:  Dennis DeVolder
Graduate Committee Chairperson: Martin Maskarinec
Office: Stipes Hall 447
Telephone: (309) 298-1452 Fax: (309) 298-2302
E-mail: C-Sciences@wiu.edu
Website: wiu.edu/computersciences
Location of Program Offering: Macomb

Graduate Faculty
Professors

  • Dennis DeVolder, Ph.D., Florida State University
  • Binto George, Ph.D., Indian Institute of Science
  • Byoung Lee, Ph.D., University of Iowa
  • Martin Maskarinec, Ph.D., Northwestern University
  • James McQuillan, Ph.D., University of Western Ontario
  • Kathleen Neumann, Ph.D., Northwestern University

Associate Professors

  • Yeongkwun Kim, Ph.D., Illinois Institute of Technology
  • L. Leff, Ph.D., Southern Methodist University
  • George Mangalaraj, Ph.D., University of Texas-Arlington
  • Sumesh Philip, Ph.D., State University of New York

Assistant Professors

  • Justin Ehrlich, Ph.D., University of Kansas
  • Chunying Zhao, Ph.D., University of Texas-Dallas

Associate Graduate Faculty
Assistant Professors

  • William Siever, Ph.D., Missouri University of Science & Technology

 Program Description

The School of Computer Sciences offers a Master of Science degree in Computer Science. 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.

Integrated Baccalaureate and Master’s Degree Program

Go to integrated programs for details and program offerings.

 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 advisor 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 School of Computer Sciences offers four 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 Internship Plan, requires 30 semester hours of course work, and three hours of internship credit. A final written report on the internship is required.

Plan 4, 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.

No more than 15 s.h. of 4xxG credit may be applied to the graduate degree.

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:

I. Proficiency: 3 s.h.

CS 500 Intensive Programming Review (3)

II. Core Requirements: 18 s.h.

Students must complete one course from each subject area below while in residence at WIU.

Subject Area 1 – Operating Systems

CS 410G Operating Systems (3)
CS 512 Advanced Operating Systems (3)
CS 513 Topics in Operating Systems (3)

Subject Area 2 – Database Systems

CS 470G Database Systems (3)
CS 522 Advanced Database Design and Administration (3)
CS 523 Topics in Database Systems (3)

Subject Area 3 – Artificial Intelligence

CS 460G Artificial Intelligence Methods (3)
CS 548 Advanced Artificial Intelligence (3)
CS 549 Topics in Artificial Intelligence (3)

Subject Area 4 – Computer Networks

CS 420G Computer Communication and Networks (3)
CS 556 Advanced Computer Networks (3)
CS 557 Topics in Computer Networks (3)

Subject Area 5 – Computer Architecture

CS 560 Computer Architecture (3)
CS 561 Advanced Computer Architecture (3)
CS 562 Topics in Computer Architecture (3)

Subject Area 6 – Computer Graphics

CS 465G Computer Graphics (3)
CS 566 Advanced Computer Graphics (3)
CS 567 Topics in Computer Graphics (3)

III. Depth Requirements: 6 s.h.

Students must complete a second course in two of the subject areas listed above.

IV. Plans of Study: 6 s.h.

A. Thesis

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

B. Project

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

C. Internship (This plan is not available to students in the Integrated Bachelor’s and Master’s degree program.)

CS Electives (3)
CS 595 Graduate Computer Science Internship (3)

D. All Coursework (This plan is not available to students in the Integrated Bachelor’s and Master’s degree program.)

CS Electives (6)

TOTAL PROGRAM: 33 s.h.

The successful completion of a final oral examination covering the project, internship, 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

Computer Science (CS)

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. Prerequisites: 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 310 and 350.

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) An introduction to the main principles and methods of artificial intelligence. Solving problems by searching, knowledge and reasoning; machine learning; current AI applications. Programming paradigms relevant to AI will be explored. Graduate students will need to write a term paper on a topic in or related to AI. Prerequisite: CS 351.

465G Computer Graphics. (3) Introduction to computer-generation of graphs and pictures, using both character and pixel graphics methods, in two and three dimensions. Animation techniques, CAD methods. Computer lab projects. Prerequisite: CS 351 or equivalent.

470G Database Systems. (3) Survey of data models with emphasis on the relational model. Data normalization. Query languages and query optimization. Design and security considerations. Exposure to commercial database management systems. Prerequisite: CS 351 or NET 432. Credit cannot be given for both CS 470, and CS 483 or IS 342.

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. Prerequisite: CS 101 or 114. Credit cannot be given for both CS 483, and CS 470 or IS 342.

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 or CS 114 or CS 214 or CS 211 and CS 212. Credit cannot be given for both CS 484, and IS 324 or CS 420.

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 or ET 105, or equivalent.

500 Intensive Programming Review. (3) This course will review computer programming, object-oriented design, linear and non-linear data structures, and the software development lifecycle. All concepts will be reinforced through hands-on programming assignments and projects. Prerequisite: CS 350.

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.

530 Design and Analysis of Algorithms. (3) Fundamentals of the design and analysis of algorithms, space and time-complexity issues, dynamic programming, greedy algorithms, linear programming, NP-completeness, multithreaded algorithms, and applications. Prerequisites: CS 355 and prerequisite or corequisite CS 250.

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 include 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 worlds. Prerequisite: CS 465G 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: Permission of the instructor.

595 Graduate Computer Science Internship. (3) A one-semester on-the-job experience in an industrial facility or research laboratory. Graded S/U. Must have completed at least 9 hours of Computer Science graduate coursework and department permission required.

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.