|
All courses
are 3 credits unless otherwise noted
Jump to: 200-Level, 300-Level,
400-Level Courses
CS
101 Fundamentals of Computer Science I
This is an introduction to computer programming in C++. Topics include
data types, arithmetic and logical expressions, arrays, and modular programming.
Pre-requisite: MATH 165 Pre-Calculus
CS
102 Fundamentals of Computer Science II
This course is a continuation of CS 101 Fundamentals Of Computer Science.
Topics include program debugging and testing, multidimensional arrays,
string processing; searching and sorting.
Pre-requisite: CS 101 Fundamentals Of Computer Science I
CS
107 Computers and Information Systems
This is a general introduction to methods of processing information via
modern computer systems. Covered topics include computer system components,
primary and secondary storage, input/output devices, system and software
development, end user application tools and the modern electronic data
processing environment. Students are introduced to the Internet in this
course.
CS
115 Microcomputers and Programming I
This is an introduction to microcomputers and programming. Topics include
planning, writing, and documenting programs, control structures, numeric
and string variables, arrays, and subroutines.
CS
201 Assembly Language Programming (IBM)
This course is designed for those students who desire knowledge of IBM
System 370 assembly language programming with emphasis on the following
topics: binary and hexadecimal number systems, addressing formats, instruction
formats, arithmetic operations, logical operations and branching. Note:
Only one of CS 201 or CS 212 may be credited toward the Computer Science
major.
Pre-requisite: CS 101 Fundamentals of Computer Science I
CS
202 Discrete Structures I
This course introduces basic theoretical tools for describing algorithmic
processes and covers topics such as propositional logic, predicate logic,
set theory and graph theory.
Pre-requisite: MATH 165 Pre-Calculus
CS
203 Discrete Structures II
The course is a continuation of CS 202 and might include topics such as
Boolean algebra, recursion relations, graph traversal algorithms and random
number generators.
Pre-requisite: CS 202 Discrete Structures II
CS
204 Introduction to Computer Organization
Topics include representation of data and control information by digital
signals and the design of logic devices such as flip-flops and gates.
Pre-requisite: CS 202 Discrete Structures I
and either CS 201 Assembly Language Programming (IBM)
or CS 212 Assembly Language Programming (VAX)
CS
205 Computational Methods
This is an introduction to numerical methods. Topics may include error
analysis, methods for solving simultaneous equations, polynomial approximation,
interpolation, quadrature, solving differential equations with initial
conditions and the Fast Fourier Transform.
Prerequisites: CS 202 Discrete Structures I and MATH 190 Calculus
I
CS
206 Concepts of Operating Systems
Topics typically include translators, loaders, linkage editing,
input/output processing, and file system organization. Other topics might
include parallel processes, job scheduling, and batch and time-sharing
systems.
Pre-requisite: CS 201 Assembly Language Programming (IBM)
or CS 212 Assembly Language Programming (VAX)
CS
209 Data Structures
This course covers basic data structures including stacks, queues, lists,
linked trees, graphs, and hash tables; this will introduce the role of
such data structures in sorting, merging, searching and hashing.
Pre-requisite: CS 102 Fundamentals of Computer Science II
CS 210 Fundamentals of Telecommunications
and Networks
This course covers data communications
concepts, hardware, and networks as they
apply to computer systems. Topics include
but are not limited to signal concepts,
modulation, synchronous and asynchronous
transmission, RS 232, multiplexing
signals, modems, communication software
protocols and network configuration, open
system interconnect, and LAN products..
Pre-requisite: CS 102 Fundamentals of Computer Science II
CS
212 Assembly Language Programming (VAX)
This course is essentially the same as CS 201 except that it is designed
for students who desire knowledge of DEC VAX assembly language programming.
Note: Only one of CS 201 or CS 212 may be credited toward the Computer
Science major.
Pre-requisite: CS 101 Fundamentals of Computer Science I
CS
214 Business Applications on the Microcomputer I
This is designed for students interested in using application software
within a business environment. The focus of this course is Microsoft Office.
Students learn to use Microsoft Word, Excel, PowerPoint and Access.
CS
215 Business Applications on the Microcomputer II
This course is a continuation of CS 214. Advanced topics are covered.
Pre-requisite: CS 214 Business Application on the Microcomputer
I
CS
218 Microcomputers for Elementary Teachers
This is a general elective for elementary education majors.
CS
222 Microcomputers for Secondary Teachers
This is a general elective for secondary education majors.
CS
232 Introduction to Database Design and Distributed Search
This is a course designed as a non-technical introduction to database
concepts and search methods for databases on the Internet. Topics covered
may include relational databases, object-oriented databases, and sequential
query languages.
Pre-requisite: CS 107 Computer and Information Systems
CS
240 Systems Analysis and Design I
This is a basic course in information systems, focusing on the System
Development Life Cycle (SDLC). Topics include systems analysis, system
environments and constraints, performance and processing, control measures,
user requirements, hardware requirements, file design, project documentation
and system testing.
CS
241 Systems Analysis and Design II
This course analyzes practical case problems in information systems design
as part of the development of a management information system. General
system design features are emphasized so that the course is independent
of any particular programming language.
Pre-requisite: CS 240 Systems Analysis and Design I
CS
250 Introduction to Programming in Ada
This introduces and exposes the student to the Department of Defense sponsored
language Ada, stresses the functionality of Ada as a system designed language
as well as a structured special-purpose language. Topics include basic
Ada syntax and semantics, program units, specification, unit bodies, types
and information hiding.
Pre-requisite: CS 209 Data Structures
CS
300 Introduction to Computer Architecture
Topics for discussion may include arithmetic operations (adders, accumulators,
multipliers, dividers), organization and control of computer and microcomputer
architecture, machine language and systems principles, microprogramming
and microprocessors, hardware-software tradeoffs, parallel computers and
distributed processing, array processors, computer networks, registers,
interfacing components, bus structures, input/output techniques, and priority
interrupts.
Pre-requisite: CS 204 Introduction to Computer Organization
CS
302 Introduction to Programming Languages
Lecture topics typically include examination of the syntactic and semantic
features of Pascal, C, Prolog, LISP, and other languages, focusing on
data types, lists and trees, language features affecting static and dynamic
storage, control structures and data flow, subroutine procedures, block
structures and interrupts, run time considerations, string processing
with language features such as those available in SNOBOL4 and Perl. (Topics
covered may vary considerably from year to year.)
Pre-requisite: CS 209 Data Structures
CS
304 Operating System Design
Topics covered in this course include translators, loaders, relocation,
linkage editing, interrupt handling, input/output processing, file system
organization, memory management, parallel processing, job scheduling,
batch systems, semaphores, multiprogramming, multiprocessors and time-sharing
networks.
Pre-requisite: CS 206 Concepts of Operating Systems
CS
306 Database Design
This is an introduction to basic terminology associated with computer
database technology. Topics covered may include classical data storage
and retrieval methods, information needs within the business environment,
access methods, data structures, database management systems, database
design methodologies, and data normalization.
Pre-requisite: CS 202 Discrete Structures I and 209 Data Structures
CS
308 Advanced Microcomputers and Programming
Discussion topics may include the architecture of 16- and 32-bit microprocessors;
machine and assembly language programming for microcomputers.
Pre-requisite: CS 201 Assembly Language Programming (IBM)
or CS 212 Assembly Language Programming (VAX)
CS
320 Intermediate Ada Language Programming
This course serves as a review of the basic syntax and semantics of Ada
and covers advanced topics such as packages, encapsulation of data types
and data objects, blocks, exceptions, generics, private types, records
and tasking.
Pre-requisite: CS 250 Introduction to Programming in ADA
CS
350 Software Engineering I
This course embodies the general scientific principles commonly known
as software engineering. It discusses the software life-cycle, using a
large software system as model. Topics covered include requirements-specification
analysis, requirements-type languages and specification checking using
mathematical techniques. The design phase is analyzed by considering program
design language techniques and fast prototyping. A study of the implementation
phase, involving validation and verification methods is included. Maintenance
and enhancement techniques are developed.
Pre-requisite: CS 209 Data Structures
CS
351 Software Engineering II
This course uses the concepts and techniques developed in CS 350 to allow
students, working in teams, to develop nontrivial software systems. Completion
of a larger project is required.
Pre-requisite: CS 350 Software Engineering
CS
355 Visual Programming
This course introduces the student to some object-oriented/event-driven
language such as Visual BASIC, Visual C++, or Visual J++, focusing on
the design of interactive Windows applications and graphical user interfaces
(GUI).
Pre-requisite: CS 209 Data Structures
CS
360 Principles of Computer Graphics
This is an introduction to computer graphics hardware and software techniques
and applications. Students develop and test graphics algorithms.
Pre-requisite: CS 209 Data Structures
CS365
- Advanced Java Programming
This course provides an in-depth study of Object Oriented Design (OOD)
and advanced Java topics. It presents and applies a "Best Practices"
approach to: exception handling, Java Database Connectivity (JDBC), multithreading
and synchronization, networking, serialization and marshalling, Remote
Method Invocation (RMI), Graphical User Interface (GUI) development using
Swing, Enterprise JavaBeans, and server-side programming with servlets
and JavaServer pages.
Pre-requisite: <Students should possess a strong fundamental
knowledge of Object Oriented Design and Java>
CS
401 Introduction to Algorithms
Intensive study of the design, analysis, and verification of algorithms
is pursued in this course. Applications are drawn from a wide variety
of mathematical and computer science problems.
Prerequisites: CS 202 Discrete Structures I and CS 209 Data Structures
CS
402 Compiler Design
This course covers the lexical, syntactic, and semantic analysis phases
of compilation. Other possible discussion topics include symbol table
organization, intermediate code generation, and LL and LR parsing algorithms.
Pre-requisite: CS 209 Data Structures
CS
404 Artificial Intelligence
This is a survey of concepts and problems in artificial intelligence research.
Topics include natural language processing, knowledge representation,
and automatic deduction.
Pre-requisite: CS 202 Discrete Structures I
CS
405 Theory of Computability
This is a survey of theoretical models of computation-notably the Turing
machine model, the Markov algorithm model and register machine model-as
well as equivalence results relating those models. Considerations of efficiency
(complexity theory) are also introduced with an emphasis upon the use
of big-O notation to describe the time/space requirements of specific
machines. Simulation software is used extensively, thereby enabling students
to design and run their own abstract machines. This is an essential course
for students interested in pursuing graduate study later.
Pre-requisite: CS 202 Discrete Structures I
CS
406 An Introduction to Expert Systems
Topics covered in the course include hands-on use of production based,
rule-based, and frame-based expert system shells. The class discusses
the current limitations of expert systems.
Pre-requisite: CS 202 Discrete Structures I
CS
408 Cooperative Education Project
This, in conjunction with a two to six month work experience, provides
reinforcement of the academic program direct industrial experience. Work
assignments are provided and approved by the director of the Office of
Cooperative Education. Interested students who have completed at least
30 credits of course work toward the computer science major should make
contact with that office.
Pre-requisite: Permission of chairperson
CS
410 Telecommunications and Networks
This is a study of data communications and networks. Topics include signal
concepts, modulation, synchronous and asynchronous transmissions, multiplexing
and multiplexers, modems, controllers, error detection and correction,
communication software, protocols and network configurations.
Pre-requisite: CS 204 Introduction to Computer Organization
CS
417 Object-Oriented Methodologies
This course introduces students to object-oriented design and analysis
contrasted with traditional approaches. The course focuses on the issues
involved in the transition of object-oriented design.
Pre-requisite: CS 209 Data Structures
Cooperative
Education
The Cooperative Education Program consists of a combination of work and
study for undergraduate students in their sophomore, junior, and senior
years. The Cooperative Education Program is designed to combine classroom
learning with practical experience in an educationally beneficial way.
Students may choose from a wide range of employment opportunities that
enhance both their academic experience and their professional career skills.
|