CS 110: Computer Science Fundamentals

GERs: MQR  
4 Semester Hours

Fall, spring. A general introduction to computer science including an overview of hardware systems, programming essentials, algorithm design, data handling, and networking. Not intended for students needing a programming background for further work in computer science.

CS 130: Selected Programming Languages

4 Semester Hours

CS 130R: Selected Programming Languages

2 Semester Hours

CS 150: Intro To Computers&Programming

4 Semester Hours

CS 153: Computing for Bioinformatics

GERs: SNT  
4 Semester Hours

Spring. An introduction to tools of computer science that are relevant to bioinformatics, with a focus on fundamental problems with sequence data. Practical topics will include Perl programming, data management, and web services. Computational concepts are emphasized with only a sketch of the underlying biology.

CS 155: Intro to Business Computing

GERs: MQR  
4 Semester Hours

Fall. An introduction to tools and concepts of computer science that are most relevant to business (enterprise) computing and e-commerce. Students will be introduced to basic programming principles, page layout and visual interface design, client/server computing, simple techniques for accessing databases, and their algorithmic and mathematical foundations.

CS 170: Intro to Computer Science I

GERs: MQR  
4 Semester Hours

Fall, spring. An introduction to computer science for the student who expects to make serious use of the computer in course work or research. Topics include: fundamental computing concepts, general programming principles, the Unix Operating System, the X-window system, and the Java programming language. Emphasis will be on algorithm development with examples highlighting topics in data structures.

CS 171: Intro to Computer Science II

GERs: MQR  
4 Semester Hours

Fall, spring. Prerequisite: CS 170. A continuation of CS170. Emphasis is on the use and implementation of data structures, introductory algorithm analysis, and object oriented design and programming with Java. The course will also introduce the basics of procedural programming with C.

CS 171Z: Intro to Computer Science II

GERs: MQR  
4 Semester Hours

Fall, spring. Prerequisite: CS 170. A continuation of CS170. Emphasis is on the use and implementation of data structures, introductory algorithm analysis, and object oriented design and programming with Java. The course will also introduce the basics of procedural programming with C.

CS 190: Fresh Seminar:Computer Science

GERs: FSEM  
4 Semester Hours

Topics will be announced each year.

CS 224: Discrete Structures

GERs: MQR  
4 Semester Hours

Fall. Prerequisite: Mathematics 112. Corequisite: Computer Science 170. This course introduces elementary mathematics necessary for the computer science curriculum. Topics include proof-writing, sets, functions, logic, quantifiers, graphs, automata, languages, and asymptotic notation.

CS 255: Comp Org/Assembly Programming

GERs: MQR  
4 Semester Hours

Fall. Prerequisite: Computer Science 171. Binary and hexadecimal number systems, logic gates, combinational and sequential circuits, ALU and control unit organization, instruction formats, addressing modes, and assembly language programming.

CS 323: Data Structures And Algorithms

GERs: MQR  
4 Semester Hours

Spring. Prerequisites: Computer Science 171 and 224. Analysis, design, and implementation of data structures and algorithms. Algorithms include divide and-conquer, dynamic programming, greedy methods, tree and graph traversal, with analysis emphasizing lower bounds, worst-case, and expected time complexity.

CS 325: Artificial Intelligence

GERs: MQR  
4 Semester Hours

Alternate years. Prerequisites: Computer Science 171. Foundations and problems of machine intelligence, application areas, representation of knowledge, control paradigms, the LISP programming language, expert systems, design of an intelligent system.

CS 353: Data Struct & File Org II

4 Semester Hours

CS 355: Computer Architecture

GERs: MQR  
4 Semester Hours

Spring. Prerequisites: Computer Science 171 and 255. Digital circuits, efficient algorithms for computer arithmetic, floating point accelerators, micro-programming, memory technology and hierarchies, I/O subsystems, interrupt processing and DMA strategies, communications interfaces, and advanced architectures, including RISC and cache organization.

CS 356: Programming Languages

GERs: MQR  
4 Semester Hours

Alternate years. Prerequisite: Computer Science 171. Introduction to syntax and semantics of computer programming languages. An overview of various language paradigms with case studies in declarative languages, object-oriented languages, and logic programming as contrasted with imperative languages. An overview of translation issues and methods.

CS 370: Computer Science Practicum

4 Semester Hours

Spring. Prerequisites: any two computer science courses at the 200 level or higher. This course introduces basic concepts and techniques of software engineering, and applies these in the context of a semester-long group programming project.

CS 375R: Independ. Software Development

Variable credit, may be repeated for up to 12 Semester Hours.

Prerequisite: permission of instructor. Credit, variable. An independent study course devoted to the development of software projects.

CS 377: Database Systems

GERs: MQR  
4 Semester Hours

Prerequisite: Computer Science 171. Introduction to storage hierarchies, database models, consistency, reliability, and security issues. Query languages and their implementations, efficiency considerations, and compression and encoding techniques.

CS 378: Data Mining

GERs: MQR  
4 Semester Hours

Alternate years. Prerequisite: CS 171; CS 377, or some database experience is recommended. Introduction to data mining techniques including data preprocessing, data warehousing and management, association analysis, clustering, and text mining.

CS 424: Theory Of Computing

GERs: MQR  
4 Semester Hours

Spring. Prerequisites: Computer Science 224 and 323. This course gives mathematical methods to classify the complexity of computational problems. Topics include regular languages, grammars, decidability, and NP-completeness. Models of computing such as automata, circuits, and Turing machines are related.

CS 450: Systems Programming

GERs: MQR  
4 Semester Hours

Fall. Prerequisites: Computer Science 171 and 255. System programming topics are illustrated by use of the UNIX operating system. Topics include: file i/o, the TTY driver, window systems, processes, shared memory, message passing, semaphores, signals, and interrupt handlers.

CS 452: Operating Systems

GERs: MQR  
4 Semester Hours

Spring. Prerequisite: Computer Science 450. The structure and organization of computer operating systems. Process, memory, and I/O management; device drivers, exception handling, and interprocess communication. Students write an operating system as a course-long project.

CS 455: Intro to Computer Networking

GERs: MQR  
4 Semester Hours

Prerequisite: CS 450. An introduction to computer networks based on internal structure using the OSI layer model. Topics include: physical layer (encoding and protection), data link layer (point-to-point and broadcast networks, transparent bridging, and spanning tree), the network layer (routing algorithms, the IP protocol, tunneling), and transport layer (UDP and TCP protocols, NS2 network simulation). Network programming will be done using the Berkeley socket and pthreads APIs.

CS 456: Compiler Construction

GERs: MQR  
4 Semester Hours

Fall. Prerequisites: Computer Science 255, 323, and 424. Languages and their grammars, lexical analysis and parsing, code generation, and optimization.

CS 459: X Window System Programming

GERs: MQR  
4 Semester Hours

Alternate years. Prerequisites: Computer Science 171. Corequisite: Computer Science 450. Introduction to bitmap graphics using the X Window System. Topics include: client/server paradigm, event-driven programming, two-dimensional graphics, graphical user interfaces, toolkits, and object-oriented programming.

CS 485: Topics in Computer Science

4 Semester Hours

May be repeated for credit when topic varies.

CS 495R: Honors

GERs: WRT  
Variable credit, may be repeated for up to 4 Semester Hours.
Department Consent Required to enroll in this course.

Enrollment limited to departmental majors invited to participate in the Honors Program.

CS 497R: Directed Study

Variable credit, may be repeated for up to 4 Semester Hours.
Department Consent Required to enroll in this course.

Credit, one to four hours, as arranged with the department.