COMPUTER SCIENCE Undergraduate Courses (2006-7)



For Computer Science majors, all prerequisites imply that the respective courses were passed with a grade of "C"or higher. Students who do not satisfy the prerequisites of a course may be admitted by permission of the Department Chair.

CS 102 Cr. 3-- recent syllabus
Scientific Computer Applications

An introduction to word processing, spreadsheets, slide presentations, databases, and the Internet with special emphasis on scientific computations and technical reports and presentations. Four hours per week. Not open to students who have taken Computer Science 100 or 201, or Information Technology 100.



 

CS 120 Cr. 4-- recent syllabus
Foundations of Computer Science

Broad but substantive overview of computer science, designed to provide students with awareness and deeper understanding of the field’s many aspects.  Topics include fundamentals of computer architecture, operating systems, and problem-solving, as well as social and ethics issues.  Intended primarily as a first course for computer science majors, although may be useful as an elective in any major. Four hours per week. Pre-req: MA050.


CS 175-176 Cr. 4-4 -- recent 176 syllabus
Introduction to Computer Science I & II

Introduction to the basic concepts of program development for computer science majors; problem solving methods and algorithm development; basic data structures and abstract data types; language syntax, style, and documentation; coding and testing of programs in a structured procedural language. Four hours per week.



CS 275 Cr. 3 --recent syllabus
Introduction to an Algorithmic Language

A thorough overview of the syntax of an algorithmic language and stress on the concepts of structured programming. Four hours per week. 
Prerequisite or co-requisite: Mathematics 120.



CS 286 Cr. 3-- recent syllabus
Computer Architecture I

Number representations and operations; processor control; fundamentals of assembly language programming, addressing modes, stacks and procedures; instruction sets; microcode; computer organization, memory, CPU, I/O interfaces and devices. Three hours per week. 
Prerequisites: Computer Science 176 or 275; Mathematics 120.



CS 298 Cr. 1-3
Special Topics in Computer Science
(200-level)

An intensive study of a particular subject or problem in computer science to be announced prior to registration. The course may be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week.
Prerequisite: As announced in course schedule booklet.



CS 303 Cr. 3 -- recent syllabus
Computer Networks

Provides introduction to computer-networking concepts, technologies and services, including basic communications theory, analog and digital devices, Public Switched Telephone Network, data networks, LANs, wireless services, data protocols, the Internet, multi-media and B-ISDN.
Prerequisite: Computer Science 286


CS 305 Cr. 4
Computer Algorithms I

Introduction to the design and analysis of intermediate computer algorithms such as sorting, searching, pattern matching, and tree and graph traversal, with emphasis on the analysis of complexity. Four hours per week.
Prerequisites: Computer Science 176 or 275; Mathematics 120.



CS 324 Cr. 3
Computer Architecture II

Boolean algebra. Combinational and sequential circuit devices are presented in lectures and laboratory. Computer hardware organization. Memory and CPU design. CPU control with microcode. Four hours per week. 
Prerequisite: Computer Science 286.



CS 325 Cr. 3 --recent syllabus
Software Engineering Concepts

Overview of software engineering concepts, analysis/design techniques, software documentation, group development of software. Three hours per week. 
Prerequisite: Computer Science 305.



CS 335 Cr. 3
Programming Language Concepts

Design, evaluation, and implementation of programming languages. Discussion of imperative, applicative, object-oriented, and concurrent languages. Four hours per week.
Prerequisite: Computer Science 305.



CS 345 Cr. 3
Survey of Artificial Intelligence Concepts & Practices

Introduction to fundamental concepts and practices of artificial intelligence, covering problem definition, search techniques, knowledge representation, control knowledge, and symbolic reasoning. The course also includes at least two of the following advanced topics: planning, understanding, natural language processing, learning, connectionist models, common sense reasoning, expert systems. Four hours per week. 
Prerequisite: Computer Science 305.



CS 370 Cr. 3 --recent syllabus
Large Program Development in C under UNIX

Special techniques and tools required in the development of large programs employing the C language and the UNIX operating system such as support for incremental and distributed program development, debugging,optimization, and maintenance. Four hours per week. 
Prerequisites: Computer Science 185 and 305.



CS 375 Cr. 4
File Management

Overview of files, records and files, blocking and buffering, secondary storage devices; sequential file organization,external sort/merge algorithms; random access; relative file organization; tree-structured file organization; search trees, indexed sequential file organization ; list-structured file organization; multiple-key file organization. Four hours per week. 
Prerequisite: Computer Science 305.



CS 398 Cr. 1-3
Special Topics in Computer Science

(300-level)

An intensive study of a particular subject or problem in computer science to be announced prior to registration. The course may be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week.
Prerequisite: As announced in course schedule booklet.



CS 418 Cr. 3
Compiler Construction

The principles and practices of incorporating the theory of finite automata and context free languages, the maintenance and use of semantic information, and the generation and optimization of code to produce a compiler.Four hours per week. 
Prerequisites: Computer Science 306 and 335.



CS 422 Cr. 3-- syllabus1, syllabus 2
Object-Oriented Software Development

Concepts of object-oriented development; identification and definition of object classes; case studies applying object-oriented design techniques. Three hours per week. 
Prerequisites: Computer Science 282 and 305.



CS 432 Cr. 4 --recent syllabus
Database Systems

Overview of database system concepts; database modeling: entity-relationship diagrams; CODASYL, relational, and object-oriented databases; schema definition; data manipulation concepts; the SQL language. Four hours per week.
Prerequisite: Computer Science 375.



CS 435 Cr. 3
Systems Programming

Introduction to the implementation of basic system software: text editors, assemblers, loaders, and macroprocessors, with emphasis on software methodology for creating and maintaining large programs. The language of instruction will be C, which will be briefly introduced. Four hours per week. 
Prerequisites: Computer Science 286 and 305; Senior standing.



CS 438 Cr. 4--recent syllabus
Operating Systems Analysis

Management of memory, processes, files, and devices. OS design principles and performance measures. Multiprogramming, multiprocessing, concurrency, deadlock, virtual machines. Competitive and cooperating processes. Programs will be written in C. Four hours per week.
Prerequisites: Computer Science 286 and 305.



CS 445 Cr. 3 --recent syllabus
Computer Graphics

Drawing lines and curves, area filling, fractals, three dimensional viewing, clipping, ray-tracing, shading, hidden line, and surface removal. Four hours per week. 
Prerequisite: Computer Science 305.



CS 461 Cr. 3--
Simulation and Modeling

Mathematical models of discrete event systems, computer simulation of models, operational analysis of queues, analysis of simulation results. Four hours per week. 
Prerequisites: Computer Science 305.


CS 471 Cr. 3-- recent syllabus
System Administration

The course will cover fundamental topics in Systems Administration, primarily focusing on Unix with some added coverage of Microsoft Windows NT descendant systems, time permitting. Four hours per week. 
Prerequisites: Computer Science 370.



CS 498 Cr. 1-3
Special Topics in Computer Science
(400-level)

An intensive study of a particular subject or problem in computer science to be announced prior to registration. The course may be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. 
Prerequisite: As announced in course schedule booklet.



CS 499 Cr. 1-3
Independent Study in Computer Science

Independent study in a computer science topic not substantially treated in a regular course; for students with superior ability. One hour consultation per week. Prior permission of directing professor and department chair required.