1014 Introduction to Computers
An introduction to the inner workings of computers, their history, uses, and future. Topics
include computers, past and present; personal computer systems; computers in society;
computer applications; programming languages and problems; and opportunities. Students will
obtain a working knowledge of word processing, data bases, spreadsheets, and writing
programs in Pascal or BASIC. Designed mainly for students in areas other than computer
science. Credit is not allowed for this course if the student already has credit for Computer
Science 1124 or 2124.
1124 Computer Science I
A history of computers, computer hardware, computer software, programming languages, and
present and future uses of the computer. Students will become proficient in word processing
and in programming in C. Designed primarily as the first course in a sequence of courses for
computer science majors.
2044 Computer Languages
An introduction to the use of a particular computer language and to its characteristic
applications. Various languages, such as FORTRAN, COBOL, C, and C++, will be treated
depending on demand. The course may be repeated to include different languages. IV
2124 Computer Science II
A continuation of Computer Science 1124. Emphasis on logic in problem solving, minimum
step algorithms, and character string manipulation. Prerequisite: Computer Science 1124.
2144 Computer Organization
Computer Organization is designed to give the computer science major a new view of the
operation of a modern digital computer. The course focuses on the hardware implementation
of computing devices. The binary number system, basic logic design, memory, control, I/O,
and arithmetic units will be covered. The student will be indtroduced to the MIPS assembly
language as a tool to explore these issues. Prerequisite: Computer Science 2124. IV
2264 Computer Music
A study of the use of computers and synthesizers in the creation of music. Topics will include
basic principles of musical acoustics, analysis of sounds, electronic synthesizers, computer
control of synthesizers, sequencers, computer languages for music processing, algorithmic
composition, and the aesthetic principles of organizing sounds in a creative, musical manner.
Students will create and perform original compositions. Prerequisites: Any computer course
and any music course or consent of instructor. Also listed as Music 2264. IV
2444 Data Structures
Includes the study of strings, lists, graphs, trees, and files. Sorting, searching, and memory
management will be analyzed for minimizations. Prerequisite: Computer Science 2124. IV
3014 Computer Graphics I
An introduction to computer graphics with an emphasis on developing and implementing a
graphics library. Components include display methods, transformations of two- and three-
dimensional figures, windowing and clipping, hidden line and surface removal, curve fitting,
fractals, and interactive procedures. Prerequisite: Computer Science 2444. IV
3024 Compiler Construction
Students learn the detailed procedure necessary in compiler construction. A two-phase
compiler will be written. Reverse Polish and other algebraic interpreters are included.
Prerequisite: Computer Science 2444. IV
3054 Discrete Computer Mathematics
The discrete structures basic to computer theory and applications including: formal logic,
proofs, recursion, sets, combinatorics, functions, relations, graphs, trees, boolean algebra,
languages, machines, and computability. Prerequisites: Computer Science 2124 and either
Mathematics 2144 or permission of instructor. Also listed as Mathematics 3054. IV
3074 Operating Systems
Designed to familiarize students with the concept of operating systems. Topics include
hardware, software, firmware, process concepts, monitors, deadlock, real storage, virtual
storage, job and process scheduling, multiprocessing, disk scheduling, networks and security,
and case studies. The C programming language will be used to implement algorithms presented
in the course. Prerequisites: Computer Science 2144, 2444. IV
3114 Special Topics in Computer Science
Study of computer hardware, computer software, and the integration of hardware and software.
Emphasis on current issues in computing and topics not fully treated in other computer courses.
May be repeated for credit. Standard or CR/NC grading. Prerequisites:Computer Science 2124
and permission of instructor.
3214 Computer Graphics II
This course is designed to be a continuation of CS 3014. Using the tools developed in CS 3014,
the student will apply them to more advanced topics in three areas: (1) two and three
dimensional splines, (2) illumination and surface rendering of three dimensional models, and
(3) r ay tracing. Graphical user interfaces and interactive input methods are also emphasized.
Classical approaches will be studied, but emphasis is on methods which take advantage of
current machine architecture. Programming will be in C/C++,and the OpenGL graphics library
will be used where appropriate. Prerequisite: Computer Science 3014. IV
3304 Numerical Analysis I
An investigation of numerical methods for computer solutions of applied problems. Topics
include review of calculus, round-off errors and computer arithmetic, solutions of equations in
one variable, interpolation and polynomial approximation, approximation theory, and
numerical differentiation and integration. Prerequisites: Computer Science 2114, Mathematics
2144. Also listed as Mathematics 3304.
3324 Numerical Analysis II
A continuation of Computer Science 3304 with the addition of initial value problems for
ordinary differential equations, direct methods for solving linear system,iterative techniques in
matrix algebra, numerical solutions of nonlinear systems of equations, boundary-value
problems for ordinary differential equations, and numerical solutions to partial-differential
equations. Prerequisite: Computer Science 3304. Also listed as Mathematics 3324.
4004 Senior Seminar - Algorithm Theory
This course is designed to provide the student with a solid background in the theoretical aspects
of computer science by reexamining the topics covered in the lower-level CS classes from a
theoretical perspective. The topics of the mathematical analysis of algorithms, optimization,
complexity, efficiency, and computability will be explored. The course is required for all
computer science majors. Prerequisite: Senior standing in Computer Science .
4034 Artificial Intelligence
A course to familiarize the student with the growing field of artificial intelligence. The course
will describe what is artificial intelligence, how it is presently being used, and future uses.
Students will learn to design artificial intelligence systems, such as game systems and
production systems. Prerequisite: Computer Science 2444. IV W
4204, 4208 Internship
A program offering students supervised instruction in a nonclassroom setting. (1 or 2 course
units.) CR/NC grading. Prerequisite: Junior or senior standing .
4214 Independent Study in Computer Science
Readings, research, and computer simulations on an approved topic. May be repeated once for
credit. Standard or CR/NC grading. Prerequisite: Junior or senior standing.
4314 Honors in Computer Science
A primarily independent study of a topic chosen by the student in consultation with a professor.
Library and research facilities will be employed. May be taken for credit more than once.
Prerequisites:Senior standing, 6 course units in computer science with at least a 3.0 grade point
average, and the presentation of a satisfactory project proposal.