Explanation of 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: Courses appearing in the
undergradute bulletin that are not currently offered
by the department have been omitted from the following
list.
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
140 or 143 with a minimum grade of C. Coreq: MATH 143.
(Expanded course description)
207. COMPUTERS IN ORGANIZATIONS.
(2, 2, 3). Fundamental concepts of computer usage
in business. Fourth generation language programming
in lab. 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 270 or equivalent. (Expanded
course description)
260. INTRODUCTION TO DATA STRUCTURES
AND SOFTWARE DESIGN. (3, 0, 3). Integrated software
engineering principles, fundamental data structures
and algorithm design and development. Focus on
requirements, specifications, design and testing.
Fundamental data structures will include arrays,
linked lists, stacks and queues. Fa, Sp. Prereq:
CMPS 150 with a minimum grade of C. Coreq: MATH
270. (Expanded course
description)
261. ADVANCED DATA STRUCTURES
AND SOFTWARE ENGINEERING. (3, 0, 3). Continuation
of CMPS 260. Introduction to programming methodology,
software testing techniques, software metrics
and algorithm analysis. Data structures topics
include construction, traversal, and modification
of trees (binary, AVL, 2-3 trees, B-trees), heaps,
hash tables, and graphs. Also sorting and searching
techniques on linear structures including arrays
and sequential files. Fa, Sp. Prereq: CMPS 260
and MATH 270 with a minimum grade of C. (Expanded
course description)
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 minimum 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 minimum grade of C.
310. COMPUTERS IN SOCIETY. (2,
0, 2). Technology and Humanity, social and political
impact of computers. Privacy and information:
wire tapping and encryption, internet security,
communication in cyberspace, and censorship. Protecting
software and intellectual property: patents and
cyberspace copyrights. Computer crimes: software
piracy, hacking, information theft, digital forgery,
and internet crimes. Fa, Sp. Prereq: CMPS 260
with a minimum grade of C or consent of the instructor.
(Expanded course description)
327. INTRODUCTION TO VIDEO GAME
DESIGN AND DEVELOPMENT. (3, 0, 3). Design, implementation,
and testing of video games. Incremental game engine
development, graphics, user input, animation,
sound, music and artificial intelligence. Fa.
Prereq: CMPS 261 with a minimum grade of C. (Expanded
course description)
341. FORMAL 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 minimum grade
of C.(Expanded course
description)
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
a data path. Fa, Sp. Prereq: CMPS 260 and EECE
140 both with a minimum grade of C. (Expanded
course description)
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 for solving linear systems. 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 minimum grade of C. (Expanded
course description)
353. PRINCIPLES OF FILE ORGANIZATION
AND PROCESSING. (3, 0, 3) File structures - their
manipulation and management, applications to commercial
systems, and techniques for data storage and retrieval.
The COBOL programming language is used in this
course. Fa, Sp. Prereq: CMPS 260 with a minimum
grade of C. (Expanded
course description)
359. TOPICS IN SOFTWARE DEVELOPMENT.
(1-3, 0, 1-3). Course may be repeated twice when
topics vary. Fa, Sp. Prereq: CMPS 261 with a minimum
grade of C.
360. PROGRAMMING IN JAVA. (3,
0, 3). Java syntax and semantics, use of interfaces,
packages, threads, I/O, and collections. Creation
of GUI applications, server pages, servlets, Jars,
remote methods, and database communication. Sp.
Preq: CMPS 250 or 260 with a minimum grade of
C. (Expanded course
description)
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
minimum 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 minimum grade of C; or CMPS 405, 406 both
with a minimum grade of B. (Expanded
course description)
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 minimum
grade of C; or CMPS 405, 406 both with a minimum
grade of B. (Expanded
course description)
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, and MATH 302
all with a minimum grade of C.
427(G). VIDEO GAME DESIGN AND
DEVELOPMENT. (3, 0, 3). Design, implementation,
and testing of video games. Game engine development,
graphics, user input, animation, sound, music
and artificial intelligence, with an emphasis
on 3D graphics. Sp. Prereq: CMPS 327 or permission
of instructor. (Expanded
course description)
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 minimum
grade of C; or CMPS 405, 406, both with a minimum
grade of B. (Expanded
course description)
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, CMPS 351 both
with a minimum grade of C. (Expanded
course description)
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, and concurrency. Fa.
Prereq: CMPS 440 with a minimum grade of C. (Expanded
course description)
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 minimum grade of C.
(Expanded course description)
452(G). USER 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 minimum grade of C; or CMPS 405, CMPS
406 both with a minimum grade of B.
453(G). INTRODUCTION TO SOFTWARE
METHODOLOGY. (3, 0, 3). Project planning, requirements
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 minimum
grade of C; or CMPS 405 and 406 both with a minimum
grade of B. (Expanded
course description)
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 minimum
grade of C and experience with C and C++. (Expanded
course description)
460(G). DATABASE MANAGEMENT
SYSTEMS. (3, 0, 3). Introduction to database design
and implementation using the entity-relationship
model, and mapping high-level database designs.
Relational model concepts, relational costraints,
and the relational algebra. Database declaration,
implementaion and manipulation. Embedded SQL application
development. Other topics such as normalization,
optimization, and concurrency control. Sp. Prereq:
CMPS 341 with a minimum grade of C; or CMPS 405
with a minimum grade of B. (Expanded
course description)
497-498. SPECIAL PROJECTS. (3,
0, 3). Prereq: GPA of 3.00 or better; CMPS 341,
CMPS 351 and MATH 301, all with a minimum 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.
Prereq: CMPS 341 and 351 with a minimum grade
of C.
|