Computer Science Graduate Course Descriptions (COMP)


COMP 505 — THEORY OF COMPUTATION (3)
Topics in discrete mathematics, discrete probability, first order logic and models of computation.
Prerequisite: CMPSC 463.

COMP 511 — DESIGN AND ANALYSIS OF ALGORITHMS (3)
Amortized analysis, graph algorithms, NP-complete problems, approximation algorithms, parallel algorithms.
Prerequisites: CMPSC 463, COMP 505.

COMP 512 — ADVANCED OPERATING SYSTEMS (3)
A study of the principles and practice of distributed system design, including communication, synchronization, processes, file systems and memory management.
Prerequisite: CMPSC 472 or permission of the program.

COMP 513 — FORMAL METHODS FOR SOFTWARE ENGINEERING (3)
Object-oriented software development, formal specification techniques and related CASE tools, software re-use, verification and validation, transformational development.
Prerequisites: CMPSC 487W, COMP 511 or permission of the program.

COMP 516 — ADVANCED PROGRAMMING LANGUAGES (3)
Programming paradigms and styles, object-oriented programming, formal semantics, programming language design.
Prerequisite: CMPSC 460 or permission of the program.

COMP 517 — COMPUTER SECURITY (3)
Introduction to the area of computer security and current issues associated with computer security.
Prerequisite: MATH 315.

COMP 519 — ADVANCED TOPICS IN DATABASE MANAGEMENT SYSTEMS (3)
Concurrency control, crash recovery, query processing, semantic data models, advanced file access, distributed database systems, performance, case studies, advanced applications.
Prerequisites: MATH 315, CMPSC 430.

COMP 520 — ADVANCED ARTIFICIAL INTELLIGENCE (3)
Problem solving, knowledge representation, language understanding, perception, learning, artificial neural networks.
Prerequisite: CMPSC 463

COMP 524 — EVOLUTIONARY COMPUTATION (3)
Topics in evolutionary algorithms and genetic algorithms.
Prerequisite: COMP 511 or permission of the program.

COMP 545 — COMPUTER ARCHITECTURE (3)
Cache, pipelining, memory design, interconnection networks, multiprocessor systems.
Prerequisite: CMPSC 312.

COMP 580 — MASTER’S PROJECT (3)
Research into a specific computer science problem, development of a scholarly written paper, and oral defense of the work. This class may be taken for credit twice.
Prerequisite: Permission of the program.

COMP 594 — MASTER’S STUDIES (3)
Presentation of various research methodologies, techniques, and tools in organization and effective communication, and current research activities of faculty. In-depth study of a specific computer science problem, development of a written paper or project, and an oral defense
Prerequisite: A minimum of 2 of the 500-level computer science required courses or permission of program.

COMP 596 — INDIVIDUAL STUDIES (1 – 9)
Creative projects, including nonthesis research, that are supervised on an individual basis and which fall outside the scope of formal courses.

COMP 597 — SPECIAL TOPICS (1 – 9)
Formal courses given on a topical or special interest subject which may be offered infrequently; several different topics may be taught in one year or semester.

COMP 600 — THESIS RESEARCH (1-6)
Research into a specific computer science problem, development of a scholarly written paper, and an oral defense.
Prerequisite: A minimum of 2 of the 500-level computer science required courses or permission of program.