Computer Science Course Descriptions (COMP)


CMPSC 305 — Object-Oriented Programming for Mathematics and Science I (3) — (Old Name: COMP 350)
Techniques and strategies for object-oriented programming, graphical user interfaces, overview of computer organization.

CMPSC 306 — Object-Oriented Programming for Mathematics and Science II (3) — (Old Name: COMP 351)
Advanced techniques and strategies for object-oriented programming, graphical user interfaces, overview of computer organization.
Prerequisite: CMPSC 305

CMPSC 312 — COMPUTER ORGANIZATION AND ARCHITECTURE (3) — (Old Name: COMP 402)
Data representation, digital logic, instruction set/control logic, machine/assembly languages, advanced architectures, memory hierarchy, I/O devices, overall system design.
Prerequisite: Permission of program

CMPSC 313 — ASSEMBLY LANGUAGE PROGRAMMING (3) — (Old Name: COMP 403)
Program design, addressing modes, subroutines, parameter passing, stacks, bit manipulation, text processing, DOS functions, macros, I/O, high level language interfaces.
Prerequisite: previous experience in a high-level programming language

CMPSC 402 — UNIX AND C (3) — (Old Name: COMP 430)
UNIX operating system, functions, libraries, programming style, operators and variables, data types, control statements, pointers, arrays, strings, lists, input/output, macros. (Students CANNOT take this course after having taken CMPSC 422.)
Prerequisite: Ada, Pascal, or FORTRAN.

CMPSC 422 — Object-Oriented Programming with C++ (3) — (Old Name: COMP 432)
Inheritance, polymorphism, containers, iterators, templates, exception handling, and overview of object-oriented design.
Prerequisite: Three credits of a high level programming language such as Ada, C, Pascal, or permission of program.

CMPSC 423 — Object-Oriented Programming with Java(3) — (Old Name: COMP 440)
Inheritance, polymorphism, exception handling, applet programming, Java graphics, and an overview of object-oriented design.
Prerequisite: 3 credits of a high-level programming language such as Ada, C, C++, Pascal, or permission of program

CMPSC 426 — Object-Oriented Design(3) — (Old Name: COMP 435)
Object-oriented design methodologies and programming.
Prerequisite: 3 credits of an object-oriented programming language such as Ada, C++, or Java

CMPSC 428 — INTRODUCTORY ADA AND PROGRAM DESIGN (3) — (Old Name: COMP 408)
Structured program design using Ada; strong typing, data abstraction, packages, subprograms, separate compilation, visibility, exceptions, generic units.
Prerequisite: previous experience in a high-level programming language

CMPSC 429 — ADVANCED ADA PROGRAMMING LANGUAGE (3) — (Old Name: COMP 409)
Advanced types, exceptions, generic units and tasking, and their use in software systems.
Prerequisite: CMPSC 428.

CMPSC 430 — DATABASE DESIGN (3) — (Old Name: COMP 430)
Relational database model, query languages, integrity, reliability, and normal forms for design.
Prerequisite: CMPSC 462, MATH 315 and Ada, Pascal, C, C++, Java, or FORTRAN

CMPSC 436 — COMMUNICATIONS AND NETWORKING (3) — (Old Name: COMP 421)
Data transmission, basic signaling, data encoding, error control, communication protocols, security, network topologies, routing, switching, internetworking, emerging high speed networks.
Prerequisite: CMPSC 312 and experience in a high-level programming language

CMPSC 441 — ARTIFICIAL INTELLIGENCE (3) — (Old Name: COMP 420)
History of AI, problem solving, search techniques, knowledge representation, LISP, learning.
Prerequisite: A high level programming language such as Ada, Pascal, C, or C++
Concurrent: CMPSC 462

CMPSC 452 — NUMERICAL ANALYSIS I (3) — (Old Name: COMP 401)
Algorithm efficiency and accuracy, function interpolation and polynomial approximation, numerical differentiation and integration, initial-value problems, and approximation of eigenvalues.
Prerequisite: MATH 430, Pascal, C, FORTRAN, or an object-oriented programming language .

CMPSC 457 — COMPUTER GRAPHICS ALGORITHMS I (3) — (Old Name: COMP 406)
Coordinate systems, clipping, curves and regions, geometric transformations, parallel and projective projections, hidden line and surface removal, interactive techniques, animation.
Prerequisite: MATH 430, an object-oriented programming language

CMPSC 460 — PRINCIPLES OF PROGRAMMING LANGUAGES (3) — (Old Name: COMP 416)
Design and implementation of high level programming languages and survey of programming language paradigms.
Prerequisites: CMPSC 312, 469, 462.

CMPSC 462 — DATA STRUCTURES (3) — (Old Name: COMP 410)
Asymptotic notations, lists, stacks, queues, trees, balanced trees, self-adjusting data structures, hash tables, priority queues, bionomial heaps.
Prerequisite: Pascal, Ada, C, C++ or Java
Concurrent: MATH 315

CMPSC 463 — DESIGN AND ANALYSIS OF ALGORITHMS (3) — (Old Name: COMP 463)
Recurrences, algorithms design techniques, searching, sorting, selection, graph algorithms, NP-completeness, approximation algorithms.
Prerequisites: CMPSC 462, MATH 315 and Introductory Probability

CMPSC 469 — FORMAL LANGUAGES WITH APPLICATIONS (3) — (Old Name: COMP 404)
Regular, context free, and recursive languages; notations for language specification and applications.
Prerequisite:MATH 315 and Ada, Pascal, C, C++, Java, or FORTRAN

CMPSC 470 — COMPILER CONSTRUCTION (3) — (Old Name: COMP 418)
Programming language structure, basic automata theory, design of a complier, scanning and parsing, semantic processing (including type checking), code generation, and error detection.
Prerequisite: CMPSC 469, CMPSC 462.

CMPSC 472 — OPERATING SYSTEMS (3) — (Old Name: COMP 412)
Process management, synchronization, deadlocks, memory management, virtual memory, CPU and process scheduling, file systems, disk scheduling, security, protection, distributed systems.
Prerequisites: CMPSC 312, 462, programming experience in a high-level language

CMPSC 487W — SOFTWARE ENGINEERING AND DESIGN (3) — (Old Name: COMP 413W)
Requirements analysis, specification, design, expectation and testing strategies, development handling, development libraries, approaches to project management, and documentation.
Prerequisite: CMPSC 462, MATH 315

CMPSC 495 — INTERNSHIP (1-18) — (Old Name: COMP 495)
Supervised off-campus, nongroup instruction including field experiences, practica, or internships. Written and oral critique of activity required.
Prerequisite: Prior approval of proposed assignment by instructor

CMPSC 496 — INDEPENDENT STUDIES (1-18) — (Old Name: COMP 496)

CMPSC 497 — SPECIAL TOPICS (1-9) — (Old Name: COMP 497)
Typical special topic courses offered include Advanced Data Structures and Algorithms, Computer Security.



 
Math/Computer Sciences Home Page

|CS Home| Entrance Req| Degree Req| Courses| Faculty| Students| Student Activities|
 
Prospective CS Students      Current CS Students