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