 |
Credit hours are shown in parentheses. Links point
to additional information about the course.
- CS 1000.
Computer Basics (3)
- Fall, Spring, Summer. Computer technology and
related social issues. Hardware, software,
applications in diverse areas. Problems concerning
computerized services, data banks, governmental
controls. Problem solving using software packages
(such as hypertext, spreadsheets, word processing,
database, presentation graphics, etc.). Credit not
allowed for both CS 1000 and MIS 2000. Credit not
applicable toward major or minor in computer
science. Prerequisite: one year of high school
algebra or MATH 0950.
- CS 1010.
Introduction to Programming (3)
- Fall, Spring, Summer. Algorithms. Programming
language features: expressions, assignments,
functions with parameters, conditions, loops,
arrays. Several programming assignments required.
Does not apply to the computer science major or
minor. Credit not allowed for both CS 1010 and CS
2610. Prerequisite: two years of high school
algebra or MATH 0950.
- CS 1800. Introductory Topics
(1-3)
- Introduction to the use of a programming
language or other computer software. Can be
repeated to three hours if topics differ. Credit
not applicable to major or minor in computer
science.
- CS 1810. Introductory Topics
(1-3)
- Introduction to the use of a programming
language or other computer software. Can be
repeated to three hours if topics differ. Credit
not applicable to major or minor in computer
science. Graded S/U.
- CS 2010.
Introduction to Object-Oriented Programming
(3)
- Fall, Spring, Summer. Introduction to
programming using the object-oriented paradigm.
Fundamental data types and control structures;
objects and classes; strings, vectors and arrays.
Introduction to data representation. Prerequisite:
Two years of high school algebra or MATH 1120 or
equivalent.
- CS 2020. Objects
and Data Abstraction (3)
- Fall, Spring, Summer. Inheritance; virtual
functions and polymorphism. Object-oriented design;
recursion; sorting and searching algorithms;
operator overloading; templates; pointers;
elementary data structures including lists, stacks,
and queues. Prerequisite: Grade of C or better in
CS 2010.
- CS 2170.
Computer Organization (3)
- Fall, Spring, Summer. Organization of digital
computer hardware. Combinational and sequential
circuits. Assembly language concepts. ALU, CPU, and
control unit design. Projects will be implemented
on a circuit simulator. Prerequisite: CS 2010 or CS
2050.
- CS 2800. Intermediate Topics
(1-3)
- Introduction to the use of a programming
language or other computer software. For students
who already know how to program. Can be repeated to
three hours if topics differ. Credit not applicable
to major or minor in computer science.
Prerequisite: CS 1010 or CS 2010 or equivalent.
- CS 2900. Co-Op
Preparation (1)
- Fall. Introduction to co-op experience
(benefits, scheduling alternatives, etc.). Career
options in computer science. Job search strategies.
Professional ethics. Credit not applicable to major
or minor in computer science. Prerequisite or
corequisite: CS 2020 or CS 2150. Graded S/U.
- CS 3010.
Information Management Technologies (3)
- Spring. An introduction to technologies of
current importance in information management
application development, such as database
management, computer graphics, artificial
intelligence, and web development. Prerequisite: CS
2020 or CS 2150.
- CS 3140. Web
Application Development (3)
- Spring. A survey of web technologies and
emerging web standards, protocols, markup
languages, and scripting languages. Both
client-side and server-side technologies and
scripting languages are covered. Prerequisite: CS
2010 or CS 2050.
- CS 3160. Windows
Application Development (3)
- Spring, Summer. Implementing a graphical user
interface on the Windows operating system with
object-oriented programming. Dialogs and controls;
messages and commands; the view/document paradigm;
database access; SDI and MDI. Prerequisite: CS 2020
or CS 2150.
- CS 3240.
Usability Engineering (3)
- Spring. User interface design and
human-computer interaction. Understanding the user.
Design and prototyping of highly usable interfaces.
Design notations, dialog styles, screen layouts,
and usability testing. Event-driven programming
language for rapid prototyping. Prerequisite: CS
2020 or CS 2150.
- CS 3270.
Operating Systems and Networks (3)
- Fall. Design of multiprocessing operating
systems, process scheduling and synchronization.
Device drivers and communication hardware. Networks
and their topologies. Communication protocols and
client/server environments with implication for
operating system services and user programs.
Prerequisites: CS 2170 and either CS 2020 or CS
2150.
- CS 3350. Data
Structures and Algorithms (3)
- Fall. Specification, encapsulation, adaptation,
use and reuse of advanced data structures and
related algorithms. Criteria for analysis and
selection of software components for use in
applications. Prerequisite: CS 2020 or CS 2150.
- CS 3600. COBOL
Programming (3)
- Spring, Summer. COBOL programming language and
techniques for use; report generation; table
handling; sorting; sequential and random-access
data files; debugging techniques; COBOL standards.
Prerequisite: Grade of "C" or better in CS 1010 or
CS 2010 or CS 2610 or equivalent.
- CS 3710. Introduction to Unix
(1)
- Spring. The Unix operating system; utilities;
file structure; pipes; filters; shell programming.
Prerequisite: CS 1010 or CS 2010 or CS 2610.
- CS 3800. Special Topics in Computer
Science (1-3)
- Detailed study of the professional and ethical
issues pertaining to computer science or of a
particular computer system or programming language
that is not covered elsewhere in the curriculum.
May be repeated if topics differ. Prerequisite: CS
2010 or CS 2050. (Additional prerequisites, if any,
will be announced.)
- CS 3900. Practicum in Computer
Science (1-6)
- For students working in internship or co-op
programs. Written report required. Does not apply
to major or minor in computer science. May be
repeated to three hours. Students working through
the co-op office may earn up to six hours of
credit. Prerequisite: consent of department. Graded
S/U.
- CS 4080.
Advanced Operating Systems (3)
- Spring. Structure of operating systems.
Physical input-output, buffering, interrupt
processing. Memory, processor, device, information
management; resource management interdependencies.
Job and processor scheduling. Prerequisite: CS
3270.
- CS 4090.
Language Design and Implementation (3)
- Fall. Fundamental concepts of languages.
Processors, data, operations, sequence control,
data control, storage management, syntax,
translation. Prerequisite: CS 2170 and either CS
3250 or CS 3350.
- CS 4100. Formal
Language Theory (3)
- Fall odd years. Various types of languages
(context-sensitive, context-free, regular).
Discussion of recognition devices such as pushdown
automata, linear bounded automata and Turing
Machines. Some topics of current interest.
Prerequisite: MATH 2220 or MATH 3220.
- CS 4170.
Introduction to Parallel Computing (3)
- Spring even years. Principles and practice of
parallel computing. Parallel program design,
implementation and evaluation of parallel programs
for shared memory, local memory and vector
architectures. Prerequisite: CS 3270.
- CS 4200.
Artificial Intelligence Methods (3)
- Summer odd years. Intermediate AI programming
with application to representative problems
requiring searching, reasoning, planning, matching,
deciding, parsing, seeing and learning.
Prerequisite: junior or senior standing.
- CS 4250.
Computer Graphics (3)
- Spring every year; Summer even years. Graphic
I/O devices; 2-dimensional and 3-dimensional
display techniques; display processors; clipping
and windowing; hidden-line removal; data structures
for graphics. Prerequisites: CS 2020 or CS 2150 or
CS 3350, and one of MATH 2220, 3220, 3320.
- CS 4290. Data
Communication and Networks (3)
- Spring. Data communication concepts; network
topologies; transmission media; network access
control; communication protocols; network
architecture; LANs, MANs, and WANs;
internetworking. Prerequisite: CS 3270.
- CS 4400.
Optimization Techniques (3)
- Fall even years. Linear programming, game
theory, PERT, network analysis; duality theory and
sensitivity analysis; applications. Computer
programs written to implement several techniques.
Prerequisites: CS 1010 or CS 2010 and either MATH
2220 or MATH 3220.
- CS 4420.
Techniques of Simulation (3)
- Spring odd years. Principles of simulation and
application of simulation languages to both
continuous and discrete systems. Prerequisites:
MATH 2470 and either CS 2020 or CS 2150.
- CS 4510.
Numerical Analysis (3)
- Fall. Study of numerical methods for
interpolation and approximation, integration and
differentiation, solution of non-linear equations
and systems of linear and non-linear equations.
Prerequisites: CS 1010 or CS 2010 and MATH 3320.
Not open to students with credit for MATH 4510.
- CS 4520.
Numerical Analysis (3)
- Spring. Numerical methods for the algebraic
eigenvalue problem, solutions of ordinary
differential equations; topics from approximation
theory, numerical solution of partial differential
equations, optimization techniques, and sparse
matrix computations. Prerequisites: CS 4510 and
MATH 3370. Not open to students with credit for
MATH 4520.
- CS 4620.
Database Management Systems (3)
- Fall. Semantic models for conceptual and
logical design of databases. Detailed study of
relational systems: design, dependency and normal
forms. Use of interactive and embedded query
language. Overview of topics such as database
connectivity, security, and object-oriented
systems. Prerequisite: CS 2020 or CS 2150.
- CS 4640.
Software Development (3)
- Fall. In-depth study of all aspects of software
development process: user requirements,
specifications, design, coding, testing,
maintenance, documentation, management. Use of CASE
tools for analysis and design. Prerequisite: CS
3240.
- CS 4800. Seminar in Computer
Applications (1-3)
- Prerequisite: consent of instructor. May be
repeated up to six hours.
- CS 4900. Independent Project
(1-3)
- Readings and/or computer implementations in
area of interest to individual student. Does not
apply to major or minor in computer science. May be
repeated up to six hours. Graded S/U.
|