Computer Science (2005-2006)
Department Chairperson: Kathleen Neumann
Associate Graduate Faculty
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.
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.
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:
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.
411G Theory and Techniques of Compilers. (3) This course will cover 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. Prerequisites: CS 351.
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 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 Operating Systems I. (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.
521 Database Design and Administration I. (3) Review of data file structures. Database organizations, and implementations. Prerequisites: CS 351 or equivalent.
522 Database Design and Administration II. (3) Analysis of information content by statistical, syntactic, and logical methods. Search and matching techniques. Automatic retrieval systems, matching and question-answering systems. Evaluation of retrieval effectiveness. Encoding schemes: information systems software. Prerequisite: CS 521.
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.
547Artificial Intelligence I. (3) Problem-solving methods in artificial intelligence with emphasis on heuristic programming. Prerequisite: CS 351 or equivalent.
548 Artificial Intelligence II. (3) This course is a continuation of CS 547 and will include topics from Expert Systems, knowledge engineering, and other advanced topics. Prerequisite: CS 547.
550 Workshop. (1-3)
555 TelecommunicationsNetworksI. (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 Telecommunications Networks II. (3) Continuation of 555. Advanced topics in telecommunications networks. Prerequisite: CS 555.
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. Prerequisites: CS 310 or equivalent.
561 Computer Architecture II. (3) Advanced topics in computer architecture. Prerequisite: CS 560.
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 Computer Graphics II. (3) Detailed study of selected research and/or application areas of computer graphics. Prerequisite: CS 565.
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. Prerequisite: 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. Prerequisite: 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.