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 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 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.