Home
Curriculum
People
Facilities
Links



Curriculum

     
Course Descriptions Degree Programs Scholarships

Explanation of 2005-2007 Course Descriptions

In the following course descriptions, the course number is followed by the course name. After the name, the contact and credit hours are given in parentheses. The first number within the parentheses represents the number of lecture hours per week. The second number represents the number of laboratory hours per week, and the last number represents the total credit hours awarded for satisfactory completion of the course.

At the end of each description, the prerequisites and corequisites for the course are mentioned and abbreviations which represent the semesters in which a course is taught are given. The abbreviations are as follows:

Fa. means that the course is offered in the Fall.
Sp. means that the course is offered in the Spring.
Su. means that the course is offered in the Summer.

NOTE: There may discrepancies between this course listing and the Computer Science courses that appear in the undergraduate bulletin. Courses not currently offered by the department have been omitted.

Course Index

Course Descriptions

150. INTRODUCTION TO COMPUTER SCIENCE. (3, 1, 3). Problem solving, structured design of algorithms, implementation of algorithms, and testing and debugging of programs. Data types, control structures, and abstractions. The laboratory component focuses on algorithm design and implementation. Fa, Sp. Prereq: MATH 109 with a grade of C. Coreq: MATH 110.

207. COMPUTERS IN ORGANIZATIONS. (2, 2, 3). Fundamental concepts of computer usage in business. Fourth generation language programming in lab. Fa. Prereq: MATH 105; ENGL 101; BSAT 100 or equivalent.

250. HONORS INTRODUCTION TO DATA STRUCTURES AND SOFTWARE DESIGN. (4, 1, 4). Accelerated coverage of CMPS 150 and CMPS 260. Students passing CMPS 250 with a C or better will also receive credit for CMPS 150. Fa. Prereq: Prior programming experience in a high-level programming language. Coreq: MATH 110 or equivalent.

260. INTRODUCTION TO DATA STRUCTURES AND SOFTWARE DESIGN. (3, 1, 3). Integrated software engineering principles, fundamental data structures, and algorithm design and development. Requirements, specifications, design, implementation and testing. Fa, Sp. Prereq: CMPS 150 with a grade of C. Coreq: MATH 270.

261. ADVANCED DATA STRUCTURES AND SOFTWARE ENGINEERING. (3, 0, 3). Programming methodology, software testing techniques, and alogrithm analysis. Data structures topics include construction, traversal, and modification of trees, heaps, and hash tables. Sorting and searching techniques on linear structures including arrays and sequential files. Fa, Sp. Prereq: CMPS 260 and MATH 270 with a grade of C.

300. COMPUTER LITERACY. (3, 0, 3). Impact of computers on society. Experience with software packages. Restr: This course is not open to Computer Science majors and minors nor to any student with earned credit for CMPS 200. Fa, Sp, Su. Prereq: ENGL 101; MATH 105.

301. COMPUTING FOR THE NATURAL SCIENCES. (3, 0, 3). Computing techniques emphasizing solutions to problems encountered in the mathematical and natural sciences. This course is not open to computer science majors or minors. Fa, Sp. Prereq: MATH 105 with a grade of C.

303. COMPUTING FOR THE SOCIAL SCIENCES. (3, 0, 3). Computing techniques emphasizing solutions to problems encountered in the social sciences. This course is not open to computer science majors or minors. Fa, Sp. Prereq: MATH 105 with a grade of C.

310. COMPUTERS IN SOCIETY. (2, 0, 2). Technology and Humanity, Social and Political impacts of computers. Privacy and Information: wire tapping and encryption, internet security, communication in cyberspace, censorship. Protecting software and their intellectual property: patent, cyberspace copyright. Computer crimes: software privacy, hacking, information theft, digital forgery, internet crimes. Fa, Sp. Prereq: CMPS 260 or equivalent or consent of the instructor.

327. INTRODUCTION TO VIDEO GAME DESIGN & DEVELOPMENT.(3, 0,3). Design, implementation, and testing of video games. Incremental game engine development, graphics, user input, animation, sound, music and artificial intelligence. Sp. Prereq: CMPS 261 and MATH 270/272 with a grade of C.

341. FOUNDATIONS OF COMPUTER SCIENCE. (3, 0, 3). Formal logic and its applications. Proof of correctness. Sets and combinatorics. Induction, recursion, and recurrence equations. Relations, functions, and graphs: shortest path and minimal spanning tree, planarity, Eulerian paths, Hamiltonian cycles. Finite-state machines. Fa, Sp. Prereq: CMPS 261 with a grade of C.

351. COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE PROGRAMMING. (3, 0, 3). Overview of computer organization. Performance evaluation, MIPS architecture, assembly and machine language, data representation, hardware/software interface, assembly and linking process, implementation of data-path. Fa, Sp. Prereq: CMPS 260 and EECE 140 both with a grade of C.

352. SCIENTIFIC COMPUTING. (3, 0, 3). Computer-oriented methods for solving numerical problems in science and engineering. Accuracy of floating-point representation and operations. Matrix computations: Orthogonal transformations, LU factorization, condition number, direct and indirect methods of solving linear systems of equations. Application of integration and differentiation. Fast Fourier Transform (FFT). Survey of available tools for numerical computation. High performance computers and visualization methods. Fa. Prereq: CMPS 351 and MATH 270 with a grade of C.

353. PRINCIPLES OF FILE ORGANIZATION AND PROCESSING. (3, 0, 3). File structures - their manipulation and management, application to commercial systems, techniques for data storage and retrieval. Sp. Prereq: CMPS 260 with a grade of C.

359. TOPICS IN SOFTWARE DEVELOPMENT. (1, 0, 1). Course may be repeated twice when topics vary. Fa, Sp. Prereq: CMPS 261 with a grade of C.

370. FORMAL METHODS FOR ALGORITHM ANALYSIS. (3, 0, 3). Addresses the systematic application of formal Computer Science techniques for the analysis of the complexity of procedural systems. Includes the formal characteristics, manipulation, and evaluation of procedural systems. Sp. Prereq: CMPS 341, MATH 301, and STAT 325 each with a grade of C.

To enroll in any 400-level course, students must be admitted to the Upper Division; to enroll in a 400(G)-level course in which there are graduate students, students must have junior or higher standing.

405. FUNDAMENTAL PRINCIPLES OF COMPUTER PROGRAMMING. (3, 0, 3). Program design and data abstraction; iteration and recursion. Fundamental data structures and their operations. Sorting and searching. A matriculation course for graduate students in computer science and engineering lacking computer science background. No credit toward any computer science or computer engineering degree. Fa. Prereq: CMPS 150. Coreq: CMPS 406.

406. FUNDAMENTALS OF COMPUTING THEORY. (3, 0, 3). Review of mathematical background. Algorithmic problems and their solutions. Methodology for algorithmic problem solving, abstraction and design; case study. Basics of program correctness and complexity analysis. A matriculation course for graduate students in computer science and engineering lacking computer science background. No credit toward any computer science or computer engineering degree. Fa. Prereq: CMPS 150 and 341. Coreq: CMPS 405.

411(G). SYSTEM SIMULATION. (3, 0, 3). Construction and verification of simulation models. Sampling techniques used in simulation, pseudo random number generators and their tests. Prereq: CMPS 341, CMPS 351 and MATH 301 with a grade of C.

415(G). COMPUTER GRAPHICS. (3, 0, 3). Algorithms, analysis, and software architecture for graphical information systems, visualization, realistic rendering, and interactive user interfaces. Project on extensive image representation, transformation, and rendering. Fa. Prereq: CMPS 341, 351 both with a grade of C; or CMPS 405, 406 both with a grade of B.

419. STUDENT CONSULTATION. (0, 9, 3). Practical experience in assisting others in the process of testing and maintaining software. Cannot count as a CMPS elective for computer science majors. Fa, Sp, Su. Prereq: CMPS 261 and permission of instructor.

420(G). ARTIFICIAL INTELLIGENCE. (3, 0, 3). Theories and techniques. The background and foundations of AI, intelligent agent-based representation, problem solving and search algorithms, game playing, introduction to LISP, knowledge representation and knowledge-based systems. Introduction to other sub-areas such as: natural language processing, connectionist models and evolutionary algorithms. Fa. Prereq: CMPS 341, 351 both with a grade of C; or CMPS 405 with a grade of B.

425(G). INTRODUCTION TO ROBOTICS. (3, 0, 3). Robotic manipulation systems: geometric transformations in 3-D space, forward and inverse manipulator kinematics and dynamics, trajectory generation, open-loop kinematics based manipulation control, robotic languages, and AI applications to robotics. Prereq: CMPS 341, 351; MATH 302 or 462G all with a grade of C.

430(G). COMPUTER ARCHITECTURE. (3, 0, 3). Hierarchical multilevel structure of computer systems; instruction set; microprogrammed and hardwired control; memory; basics of pipelines and multiprocessors; performance evaluations; I/O organization; buses and channels; computer arithmetic. Fa, Sp. Prereq: CMPS 351 with a grade of C; or CMPS 405, 406, both with a grade of B.

440(G). THEORY OF COMPUTATION. (3, 0, 3). Abstract basis of machines and programming; automata, context free grammars and Turing machines; equivalence and non-equivalence of classes of devices; Chomsky hierarchy; incomputability; computational complexity. Sp. Prereq: CMPS 341, 351 both with a grade of C.

450(G). PROGRAMMING LANGUAGES. (3, 0, 3). Formal, functional, and practical issues of design and implementation of imperative, functional, and declarative languages; denotational semantics; data types and abstraction, control abstraction, separate compilation units, concurrency. Fa. Prereq: CMPS 440 with a grade of C.

451(G). COMPILER CONSTRUCTION. (3, 0, 3). Introduction to compilers and language translation. Aspects of lexical, syntactic and semantic analysis including language theory and implementation. Finite state machines, regular expressions, top-down, bottom-up parsing techniques. Code generation and optimization, subroutine calls, symbol table management, LL and LR parser generators. Sp. Prereq: CMPS 450 with a grade of C.

452(G). HUMAN COMPUTER INTERFACE DESIGN. (3, 0, 3). Introduction and implementation. Human factors of interactive software, interactive styles, design principles and considerations, development methods and tools, interface quality and evaluation methods. Sp. Prereq: MATH 301; CMPS 341, 351, all with a grade of C; or CMPS 405, CMPS 406 both with a grade of B.

453(G). INTRODUCTION TO SOFTWARE METHODOLOGY. (3, 0, 3). Project planning, requirement engineering, specification development techniques, structured design methods, software validation, and quality assurance. CASE tools and team dynamics. Fa. Prereq: CMPS 341, 351 both with a grade of C; or CMPS 405 and 406 both with a grade of B.

455(G). OPERATING SYSTEMS. (3, 0, 3). Process management in a multiprogramming environment; CPU scheduling, concurrency, memory management, deadlock, virtual memory, and file systems. Fa, Sp. Prereq: CMPS 453 with a grade of C and experience with C and C++.

460(G). DATABASE MANAGEMENT SYSTEMS. (3, 0, 3). Introduction to database design and implementation using the Entity-Relationship model, mapping high-level designs. Relational model concepts, relational constraints, and relational algebra. Database declaration and manipulation. Embedded SQL and CGI-base database application development. Other topics such as normalization, optimization, and concurrency control. Fa, Sp. Prereq: CMPS 341 with a grade of C; or CMPS 405 with a grade of B.

497-498. SPECIAL PROJECTS. (3, 0, 3 ea. ). Fa, Sp, Su. Prereq: GPA of 3.00 or better; CMPS 341, CMPS 351 and MATH 301, each with a grade of C; and permission of instructor.

499. SPECIAL TOPICS IN COMPUTER SCIENCE. (3, 0, 3). May be repeated for credit. Alternate subtitles will appear on student’s transcripts. Fa, Sp. Prereq: CMPS 341 and 351 with a grade of C.