CS Course Prerequisites

100 level classes 200 level classes 300 level classes
Class Title Description Credits Prerequisite Offered
CS 2 MS Office: Beyond the Basics Word documents looking dull? Excel charts lacking something? PowerPoint slides fizzling? All this and more is covered. Learn more than just the basics. 3 NONE. Fall and Spring
CS 3 Computer Concepts Introduction to computer systems, components, system software, editors, utilities and language processors, programming, problem solving, applications. May not be taken for credit concurrently with, or following receipt of credit for, any CS course numbered higher than 3. 3 NONE. On Demand
CS 5 Java for Novices An intro to Java for beginners 3 NONE. On Demand
CS 8(48) Introduction: WWW Design Provides a strong foundation in HTML, working with images, beginning JavaScript programming, and web design so that the student can create a functional web site. 3 NONE. Fall and Spring
CS 14 Visual Basic Programming Programming in the MS Windows environment using forms, objects, methods, functions, and code. Creation of regular applications and customized office suite applications. 3 NONE. Fall and Spring
CS 16 MatLab Problem solving, computer programming, and the use of standard numerical methods in the context of engineering and scientific applications using MATLAB. 3 Concurrent Enrollement in MATH 20 MATH 22 . Fall and Spring
CS 21(11) Computer Programming I Introduction to algorithmic problem solving. Designed to provide a foundation for further studies in computer science. Credit not given for more than one in the pair CS 11, 21. 4 MATH 10 a strong background in secondary school algebra and trigonometry. Fall and Spring (C++ Fall only)
CS 64 Discrete Structures Introduction to analytic and formal methods of computer science with practical examples, including analysis of data structures, recursion relations, proof methods, and logic programming (Credit not given for more than one of CS 64, MATH 52 or 22.) 3 Co-requisites one semester of programming, MATH 20 or MATH 22 . Fall and Spring
CS 95 TAP: WWW History and Future So how does the World Wide Web fit in Computer Science? What is Java that I hear about? What can a computer really do? These and other questions will be explored and we will cover a broad yet deep presentation of the most important concepts in computer science today. 3 Fall On Demand
CS 95 Intro to Embedded Software Embedded systems are everywhere, sensing and controlling aspects of a wide range of mundane and esoteric electronic devices. This course will explore the software concepts fundamental to working in this exciting and ever-widening field, as well as review the hardware concepts necessary to write the code. 3 Fall and Spring
CS 100 Object-Oriented Programming Object-oriented software analysis, design, and programming using a modern object-oriented programming environment. Topics include encapsulation, information hiding, inheritance, and polymorphism. 3 CS 110 . Fall
CS 110(12, 26) Computer Programming II Intermediate programming concepts including common data structures, algorithms, style, design, documentation, testing and debugging techniques, and an introduction to object-oriented programming. 3 CS 21 . Fall and Spring (C++ Spring only)
CS 121(101) Computer Organization Introduction to computer system organization including performance, assembly language, machine-level data representation, arithmetic for computers, processor datapath control, memory, and input/output. 3 CS 110 . Fall and Spring
CS 123(103) Programming Languages Systematic treatment of principles underlying the features and implementation of programming languages. Contrast of traditional procedural languages and at least one nontraditional language. 3 CS 110 , CS 64 or MATH 52 or MATH 54 . Spring
CS 124(104) Data Structures Lists, Strings, Arrays, Trees and Graphs. Storage systems and structures. Storage allocation and garbage collection. Searching and sorting techniques. Generalized data management systems. 3 CS 110 , CS 64 or MATH 52 or MATH 54 . Spring
CS 148 Database Driven Web Design Design and implementation of web pages to support forms, queries, active server pages, authentication, and security. Electronic commerce on the web. 3 CS 14 or CS 16 or CS 21 . Fall Only next offering fall 2008
CS 195 Intro to Embedded Software Embedded systems are everywhere, sensing and controlling aspects of a wide range of mundane and esoteric electronic devices. This course will explore the software concepts fundamental to working in this exciting and ever-widening field, as well as review the hardware concepts necessary to write the code. 3 EE 134 CS 121 . On Demand
CS 201 Operating Systems Supervisory and control software for multiprogrammed computer systems. Processes synchronization, interprocess communication, scheduling, memory management, resource allocation, performance evaluation, object-oriented systems, case studies. 3 CS 121 , CS 124 . Fall and Spring
CS 202 Compiler Construction Practice in design and implementation of translators for ALGOL-like languages. Regular and context-free grammars, parsing, code generation for stack and register machines. Interpreters. Run-time storage administration for block-structured languages. 3 CS 123 , CS 243 . Spring every even year (06, 08, etc)
CS 204 Database Systems Techniques for processing very large collections of data. Secondary storage. Database design and management. Query languages and optimization. Database recovery. 3 CS 124 , Fall and Spring
CS 205 Software Engineering Treatment of software engineering problems and principles, including documentation, information hiding, and module interface specification syntax and semantics. Requires participation in a team project. 3 CS 124 . Fall and Spring
CS 208 Software Requirements&Design Project management, requirements for software products, design methodologies and formal and informal notations describing designs. Includes developing requirements and design for a substantial software product. Credit not awarded for more than one of 205 and 208. 3 CS 124 . Fall and Spring
CS 209 Software Implement&Verificat'n Covers advanced program development methodologies, software performance measuring and tuning and the verification and validation of software. Includes a significant implementation and evaluation project. Credit not awarded for more than one of 205 and 209. 3 CS 124 . Fall and Spring
CS 222 Computer Architecture Architecture of computing systems. Control unit logic, input/output processors and devices, asynchronous processing, concurrency, parallelism, and memory hierarchies. 3 CS 121 . Fall and Spring
CS 224 Analysis of Algorithms Introduction to both analytical and experimental techniques in algorithm analysis. Basic algorithm design strategies. Introduction to complexity theory. 3 CS 123 , CS 124 . MATH 173 R Opposite semester of 243
CS 243 Theory of Computation (Same as Math. 243.) Introduction to theoretical foundations of computer science. Models of computation. Church\s thesis and noncomputable problems. Formal languages and automata. Syntax and semantics. 3 CS 124 . Opposite semester of 224
CS 251 Artificial Intelligence Introduction to methods for realizing intelligent behavior in computers. Knowledge representation, planning, and learning. Selected applications such as natural language understanding and vision. 3 CS 123 , CS 124 , STAT 153 or equivalent. Fall and Spring
CS 256 Neural Computation Introduction to artificial neural networks, their computational capabilities and limitations, and the algorithms used to train them. Statistical capacity, convergence theorems, backpropagation, reinforcement learning, generalization. 3 MATH 124 MATH 271 , Fall and Spring
CS 260 Parallel Algorithm Taxonomy of parallel computers, basic concepts for parallel computing, effectiveness and scalability, parallel algorithms for variety of problems, message-passing programming paradigm and data-parallel languages. 3 CS 124 or instructor permission. Fall and Spring
CS 265 Computer Networks Introduction to the theoretical and pragmatic principles of computer networking and client-server computing. Topics include: Local Area Networks; the Internet; ATM technology; TCP programming. 3 CS 121 , STAT 153 or equivalent. Fall and Spring
CS 266 Network Security and Cryptography Security and secrecy in a networked environment. Cryptography: public and private key. Authentication: trusted agents, tickets. Electronic mail and digital signatures. Privacy and national security. 3 CS 124 . Fall and Spring
CS 274 Computer Graphics Graphical representation of two- and three-dimensional objects on color raster displays. Line generation, region filling, geometric transformations, hidden line and surface removal, rendering techniques. 3 CS 124 , MATH 124 , MATH 271 . Fall and Spring
CS 283 Don't know See description of Honors Thesis Program in the College of EM section of this catalog. 3 Fall
CS 284 Don't Know See description of Honors Thesis Program in the College of EM section of this catalog. 3 Fall
CS 292 Senior Seminar Oral presentations that pertain to the ethical practice of computer science in government, industry, and academia. Topics may include computer security, copyright, and patent law. 3 Fall
CS 294 Independent Readings and Research Independent readings and investigation under the direction of faculty member. 3 Fall and Spring
CS 295 Fiber Optic Networks Lectures on advanced topics. 3 Fall and Spring
CS 303 Programming Environments and Languages Object-oriented, functional, or procedural programming languages, language design, parsing, translation, compilation, interpretation, programming and runtime environments. May be repeated for credit with instructor permission. 3 Fall and Spring
CS 316 Combinatorial Algorithms Topics chosen from engineering and scientific applications, visualization, large-scale data analysis. May be repeated for credit with instructor permission. 3 Fall and Spring
CS 321 Computer Architecture Topics from computer architecture, network architecture, array and vector processors, memory hierarchies. May be repeated for credit with instructor permission. 3 Fall and Spring
CS 331 Database and Knowledge Base Systems Topics chosen from database design, knowledge based systems, object-oriented and relational systems, data models, knowledge representation. May be repeated for credit with instructor permission. 3 Fall and Spring
CS 346 Theory of Computation Topics from complexity theory, analysis of algorithms, formal languages, combinatorial and geometric algorithms, and theory of databases, networks, distributed algorithms. May be repeated with instructor permission. 3 Fall and Spring
CS 351 Pattern Analysis and Artificial Intelligence Topics chosen from pattern analysis, clustering, neural networks, planning, natural language understanding. May be repeated for credit with instructor permission. 3 Fall and Spring
CS 361 Systems Software Topics chosen from operating systems, distributed or parallel software systems, real-time systems, experimental systems, software engineering. May be repeated for credit with instructor permission. 3 Fall and Spring
CS 363 Computer System Performance Topics chosen from models of computer and operating system performance and queuing systems. May be repeated for credit with instructor permission. 3 Fall and Spring
CS 365 Network Design and Analysis Topics chosen from network design, network protocols, network algorithms, and network performance. May be repeated for credit with instructor permission. 3 Fall and Spring
CS 374 Computer Graphics and Visualization Topics chosen from computer graphics and visualization, such as rendering, hidden surface removal, animation, data visualization. May be repeated for credit with instructor permission. 3 Fall and Spring
CS 394 Independent Study Independent readings and investigation under the direction of a faculty member. 3 Fall and Spring
CS 395 Human-Computer Interfaces Subject will vary from year to year. May be repeated for credit. 3 Fall and Spring