MU Catalog » Course descriptions » Graduate »
CS 500 Language Design (3)
Introduction to concepts of fundamental programming languages. Survey of the major programming paradigms and issues that are involved in the design and implementation of programming languages. Prerequisite: CS 210 or equivalent.
CS 501A Java Certification (1)
Provides an advanced-level introduction to programming in Java to prepare students who have a solid expertise in structured programming and some knowledge of object-oriented design for the Sun Java Programmer Certification exam.
CS 501B C++ (1)
Provides an advanced-level introduction to programming in C++ for students who have a solid expertise in structured programming and some knowledge of object-oriented design. Students will design C++ software systems using object-oriented concepts.
CS 501C Perl (1)
Perl is a language in which programmers can develop software to do common tasks that are typically too heavy or portability-sensitive for the shell programming, and yet too weird, short-lived, or complicated to code in C or some other UNIX glue language. This course provides an advanced-level introduction to Perl for students having a sound knowledge of UNIX and operating systems concepts. The common features of Perl will be discussed, as well as the use of Perl for simple client/server applications.
CS 501D Java Swing (1)
Provides an advanced-level introduction to the Java Swing library for building GUIs for students who are intermediate or advanced Java programmers.
CS 501E Java Server Pages (1)
Provides an advanced-level introduction to Java Server Pages (JSP) for programming on the Web for students who are intermediate or advanced Java programmers.
CS 501F C# (1)
Provides an advanced-level introduction to the programming language C# for students who are intermediate or advanced Java programmers.
CS 501G ASP: Active Server Pages (1)
Provides an advanced-level introduction to Active Server Pages for programming on the Web for students who are intermediate or advanced programmers in any high-level programming language.
CS 501H Cold Fusion (1)
Provides an advanced-level introduction to Cold Fusion to build three-tier database Web applications for students who are intermediate or advanced programmers in any high-level programming language and who have expertise with databases.
CS 505 Design and Analysis of Algorithms (3)
Introduction to basic methods of design and analysis of algorithms. Topics covered include measures of time and space complexity, NP-complete problems, and determination of efficient algorithms for sorting and searching. Prerequisites: CS 220, MA 150, and MA 181 or equivalent.
CS 510 Theoretical Foundations of Computer Science (3)
Survey of formal languages and automata and an examination of fundamental questions in theoretical computer science such as computability and undecidability. Applications of topics in theoretical computer science to practical issues such as the design of compilers and text processors are discussed. Prerequisite: MA 150 or equivalent.
CS 515 Advanced Computer Architecture (3)
A survey of new developments in advanced computer architecture. After a brief review of the concepts underlying current architecture, a variety of approaches and techniques used in the design of advanced computer systems is examined. Prerequisite: CS 230 or equivalent.
CS 520 Data Communications (3)
A survey of the complex technology surrounding data communications. The student selects appropriate communication lines, equipment, and software in constructing data communication systems. Prerequisite: CS 230 or equivalent.
CS 525 Computer Networking (3)
Provides an introduction to issues in network architecture, particularly design of network protocols, analysis of their efficiency, and popular network standards. In addition, this course provides an introduction to network programming. It is recommended that students possess a knowledge of statistics, elementary differential calculus, and a structured programming language before attempting this course. Prerequisites: CS 220 and CS 230, or equivalent.
CS 530 Software Engineering (3)
An overview of system and software engineering, software project planning, problem specification and analysis, system design techniques, UML programming languages and coding, system testing and maintenance, and software quality assurance. Prerequisite: CS 220 or equivalent.
CS 531 Software Development and Implementation (3)
Expands upon the software development process and provides students with the opportunity to design, develop, and implement a medium-sized project. Prerequisite: CS 530.
CS 535 Human Engineering Issues in Computer System Design (3)
Emphasizes the importance of human engineering issues in implementing successful computer-based systems. Prerequisite: CS 530.
CS 550 Principles of Operating Systems (3)
Introduction to the major features of operating systems, such as concurrent processing, CPU scheduling, deadlocks, memory management, real and virtual memory, secondary storage management, and file management. Prerequisite: CS 220 or equivalent.
CS 555 Theory and Applications of Artificial Intelligence (3)
A survey of artificial intelligence algorithms including search heuristics for problem solving and game playing, logic, knowledge representation and reasoning, planning and navigation, machine learning, neural networks, natural language processing, and robotics. Prerequisite: a grade of C- or better in CS 220 or consent of instructor.
CS 560 Theory and Programming of Computer Graphics (3)
Principles for the understanding, use, design, and implementation of computer graphics. Provides a focus on hardware and software components of graphic systems. Prerequisite: CS 220 or equivalent.
CS 565 Data Management Systems (3)
A study of the design of relational databases using ER data modeling. This course also explores modern database systems, such as Oracle, and programming database applications using Java JDBC and tools like Cold Fusion. Prerequisite: a grade of C- or better in CS 220 or consent of instructor.
CS 570 Computer Security (3)
A survey of topics in computer security including network security, data security, Internet security, programming language security features, risk analysis, the major threats to computer security and their countermeasures, and an introduction to cryptography.
CS 600 Compiler Design and Implementation (3)
Analysis of the concepts of compiler design and the steps involved in compiler writing. Prerequisite: CS 220 or equivalent.
CS 610 Graduate Research Seminar in Computer Science (3)
Preparation for the Master's Thesis/Project and presentations. Exposure to current research in computer science and the professional means of communicating the results of research. Prerequisite: permission of advisor.
CS 620 Distributed Processing (3)
The primary focus of this course is client/server and distributed architectures and distributed programming in Java. The course covers how heterogeneous components of a client/server system work together in various models. Prerequisites: CS 220 and CS 230 or equivalent.
CS 625 Cryptography and Coding Theory (3)
Concepts in coding theory and cryptography with emphasis on applications in computer science. Prerequisites: MA 182, CS 505, CS 510 or equivalent.