COMPUTER 5030 3 credits Artificial Intelligence
A study of knowledge representation, search techniques, expert systems, predicate calculus, and natural languages. Discussion of the successes and limitations of past and current AI programs. Programming assignments in LISP and Prolog illustrate formal topics. P: COMPUTER 2630.
COMPUTER 5430 3 credits Object-Oriented Analysis and Design
Requirements engineering, analysis, and specification using the object-oriented paradigm. Object-oriented architectural and detailed design. Use of an OOA&D modeling language such as UML. Investigation of OOA&D patterns. Use of object-oriented libraries such as component libraries and toolkits. Moderate size, GUI-based group project. P: COMPUTER 2630 and SOFTWARE 2730
COMPUTER 5730 3 credits Software Quality
Study of topics related to producing quality software, including software quality assurance, quality metrics, configuration management, verification and validation, reviews, inspections, audits, and software process improvement models. Individual and team projects.
COMPUTER 5920 3 credits Computer Graphics
An introduction to computer graphics including raster hardware, standard graphics software packages and important algorithms such as window-to-viewport mapping; clipping; 2D and 3D transformations and hidden line/surface removal. In addition, topics such as 3-D modeling, illumination, fractals, and animation will be covered. P: COMPUTER 2630 and MATH 3230
COMPUTER 6130 3 credits Real-time Embedded Systems Programming
An exploration of programming techniques and constructs used to develop reliable software systems capable of responding in real time to environmental changes. An overview of the platforms, tools, and processes used in developing software for embedded systems. Hands-on lab projects experimenting with real-time embedded systems programming details. P: COMPUTER 2630 and ELECTENG 3760
COMPUTER 6830 1-3 credits Special Topics in Computer Science
COMPUTER 7120 2 credits Software Project I
Participation in a semester-long software development group project at the student’s home university. Application of software engineering techniques and principles to the development of the project. P: COMPUTER 2630 and SOFTWARE 2730
COMPUTER 7220 2 credits Software Project II
Participation in a semester-long software development group project. This course is only open to JIM-CS students in their “abroad” semester. Application of software engineering techniques and principles to the development of the project. P: COMPUTER 2630 and SOFTWARE 2730

COMPUTER 7430 3 credits Simulation
Application of computer simulation to discrete systems with emphasis on model formation and output analysis. Programming of several simulation models using a simulation language. P: COMPUTER 263 and MATH 2430 or MATH 4030
COMPUTER 7460 3 credits Computer Security
Introduction to the concepts, theory, and application of Computer Security. Topics include cryptography, digital signatures, authentication and identification schemes, viruses, worms, firewalls, and electronic commerce. P: COMPUTER 3830
COMPUTER 7630 3 credits Compiler Construction
Study of the theory and design techniques used in compiler construction, including lexical analysis, parsing, grammars, semantic analysis, code generation, and optimization. P: COMPUTER 3520
COMPUTER 7830 1-3 credits Special Topics in Computer Science
Specific contemporary issues or other issues related to Computer Science will be explored in depth. Topics vary. P: Consent of instructor
COMPUTER 7980 1-4 credits Independent Study in Computer Science
The amount of graduate credit allowed for independent study may not exceed a total of four credits except with the special permission of the student’s advisor and the dean of the School of Graduate Studies. Approval must be secured before independent study courses are begun. Students registering for independent study must submit at or before registration a description signed by the instructor conducting the independent study of the subject to be covered. Independent study may not be used for collecting information for the seminar paper.
COMPUTER 7990 3-6 credits Thesis Research