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.
|