[Admissions]
[School of Engineering]
Computer Science Courses
CS108 - Applied Computer Concepts
Computer skills course which assumes no prior experience with computers. Introduces computer concepts and word processing, spreadsheets and database software; examines societal issues. Graduation credit may be earned for CS 108 or CMIS 108; but not for both. Prerequisite: Two years of college preparatory mathematics in high school.
CS111 - Concepts of Computer Science
Broad view of computer science: hardware, operating systems, software design and development, algorithms, networks and applications.
CS140 - Introduction to Computing I
Programming course that assumes basic computer literacy. Introduces C++ a high-level programming language and basic problem solving. Three lecture hours and two laboratory hours per week. Prerequisite: Three years of college preparatory mathematics in high school.
CS145 - Intro to Computing for Engineers
Introduces C++ programming and basic problem solving. Focuses on computer applications in engineering, science and numeric methods. Prerequisite: Basic computer literacy.
CS150 - Intro to Computing II
Algorithmic problem solving with a modern programming language. Language syntax; basic design methods; algorithms; abstraction.
CS198 - CS Work Experience I
Supervised work experience with agency employing computer scientists or information specialists. For students with part time cooperative jobs. Limited to students enrolled in more than 6 hours.
CS199 - Computer Science Cooperative Education Experience I
Supervised work experience with agency employing computer scientists or information specialists. First work period of 5-year academic/work experience program.
CS240 - Intro to Computing III
Basic software engineering concepts, elementary data structures and algorithms, fundamentals of object-oriented programming.
CS275 - Interaction Programming
Techniques and principles of graphical user interface development. Event-driven programming; principles of good screen design; graphical user interface development environment.
CS298 - Computer Science Work Experience II
Supervised work experience with agency employing computer scientists or information specialists. For students with part-time cooperative jobs. Limited to students enrolled in more than 6 credit hours.
CS299 - CS Cooperative Ed Exp II
CS312 - Introduction to Computer Organization and Architecture
Processor, memory, I/O structure of computer systems; data representations; instruction set of architecture of typical processor as hardware/software interface; processor implementation, performance.
CS314 - Operating Systems
Processes, threads, synchronization; I/O and memory management at the hardware and OS levels; file systems, implementation of basic OS abstractions, concurrent programming.
CS321 - Human-Computer Interaction Design
Design of interactions between people and computers. Interface design, conceptual models, design methods, software evaluation and ethical concerns. Software design project.
CS325 - Software Engineering
Introduction to the concepts and techniques required to develop complex software systems and manage software projects. Emphasis on object-oriented methodologies and modeling via UML.
CS330 - Programming Languages
Design, appropriateness and linguistics issues associated with different programming languages and programming paradigms. Covers syntax and semantics of languages, including BNF Notation.
CS340 - Algorithms and Data Structures
Considers appropriate choice of data structures, comparisons of algorithms, recursive algorithms, complexity, introduction to parallel algorithms.
CS390 - Topics in Computer Science
Selected topics in computer science. May be repeated to a maximum of 6 hours for different topics.
CS398 - CS Work Experience III
Supervised work experience with agency employing computer scientists or information specialists. For students with part-time cooperative jobs. Limited to students enrolled in more tha 6 credit hours.
CS399 - Computer Science Cooperative Eduaction Experience III
Supervised work experience with agency employing computer scientists or information specialists. Third work period of 5-year academic/work experience program.
CS404 - Scientific Computation
Study computer arithmetic, solving linear, non-linear, and differential equations, optimization, numerical integration and differentiation. Fourier transformation, random numbers, and stochastic simulation.
CS407 - ADA Programming
Emphasis on features which make language unique, e.g. packages, exception hadling, generics, tasking. Does not assume prior knowledge of the ADA programming language.
CS423 - Compilier Construction
Translation of programming languages. Emphasis on techniques used in construction of compilers, including lexical analysis, syntactical analysis, type checking, code generation.
CS425 - Senior Proj: Software Design
First part of a two-semester sequence in which teams complete the design and planning stages of a software development project. Selected topics in software development, group dynamics, and project management. Not for Graduate credit.
CS434 - Database Management Systems
Database management system concepts, models, languages. Entity/relationship, relational and object-oriented data models; relational database design and implementation including SQL; object databases.
CS438 - Artificial Intelligence
Principles and programming techniques of artificial intelligence. Intelligent agents, heuristic programming, knowledge representation, expert systems, machine learning.
CS447 - Networks and Data Communications
Concepts of networks and data communications. Networking protocols and architecture; data encoding and transmission; network management; and distributed applications.
CS454 - Theory of Computation
Theoretical foundations of computer science, including a theory of automata: pushdown automata, turing machines; formal languages.
CS456 - Advanced Algorithms
Advanced algorithms and data structures; basic complexity theory and approximation algorithms for NP-hard problems.
CS482 - Computer Graphics
Study of 2D and 3D graphics, graphics hardware, scan conversion, antialiasing, hidden components, transformations, projections, ray tracing, curve and surfact modeling, animation.
CS490 - Topics in Computer Science
Selected topics in computer scienced. May be repeated to a maximum of 6 hours for different topics. Prerequisite: Consent of instructor.
CS495 - Independent Study
Reading and Research in specific areas of computer science. May be repeated for a maximum of 6 hours. Prerequisite: Consent of department chair or program director.
CS499 - Senior Project: Software Implementation
Second part of a two-semester sequence in which teams implement, test, and deploy software development project that was planned and designed in CS 425. Includes a formal presentation to the computer science faculty.
CS500 - Grad Seminar in Computer Sci
Research topics of faculty; Exploration of research facilities and resources; Examination of plagiarism and academic integrity. Prerequisite: Graduate Standing.
CS514 - Operating Systems
Concurrent programming; support for distributed systems including transaction processing systems; support for high-volume, high-availability applications; scalable programming; trends.
CS516 - Computer Architecture
Instruction sets, instruction-level parallelism, memory systems, storage systems, I/O, Multiprocessors and multicomputers, trends.
CS525 - Principles of Simulation
Survey of systems modeling and simulation techniques; data generation and testing, construction of simulation models, petri nets and applications, model experimentation and optimization.
CS530 - Software & Systems Management
Management principles for software engineering and for project and systems development. Includes management of resources and understanding the needs of customers and management.
CS534 - Advanced Database Mgmt Systems
Study of advanced database management system topics such as programmatic SQL, database administration issues, object databases, distributive databases, semi-structured data and XML, and data warehousing.
CS535 - Software Engineering
Principles for software development: object-oriented methodologies; advanced topics such as formal methods; component-based, client-server, and computer-aided software engineering; web engineering.
CS537 - Introduction to Expert Systems
Design and implementation of expert systems: architecture, knowledge representation, inference methods, uncertainty handling, knowledge acquisition. Introduction to logic programming and prolog.
CS547 - Network Programming
Design and implementation of application software for computer networks; includes case studies of existing network applications; emphasis on TCP/IP.
CS548 - Network Security
Fundamentals in network security to develop skills for preventing security hazards with focus on practical aspects in network security as well as concepts and theories.
CS550 - Object-Oriented Design and Programming
Object-oriented programming and design with emphasis on distributed objects. Uses C++ and JAVA, covers middleware platforms such as corbra. Prerequisite: Consent of instructor.
CS582 - Advanced Computer Graphics
Advanced rendering techniques, global illumination and radiosity, volume rendering, shadows, reflection detection, fractals and particle systems.
CS583 - Topics in Programming Languages
Topics including functional programming, semantic theory of programming language, formal language theory and functional language ML. May be repeated to 6 hours if topics differ.
CS584 - Topics in Artifi Intelligence
Selected topics in AI, such as machine learning, model-based reasoning, and intelligent agents. May be repeated up to 6 hours provided no topic is repeated. Prerequisite: Consent of instructor.
CS587 - Topics in Computer Networking
Selected topics in computer networking, such as high performance and optical computer networks. May be repeated to a maximum of 6 hours provided no topic is repeated.
CS590 - Topics in Computer Science
Topics dealing with computer science concepts that are not emphasized in current courses. May be repeated to a maximum of 6 hours if topics differ. Prerequisite: Consent of instructor.
CS595 - Independent Study
Students organize a program of study and obtain approval for supervision of the study from a member of the computer science faculty. May be taken for a maximum of 3 hours. Prerequisite: Consent of instructor.
CS598 - Topic Paper
Paper and presentation on approved topic. For thesis option, satisfies requirement for proposal. For non-thesis option, satisfies requirement for topic paper in students concentration area. Prerequisite: Consent of advisor.
CS599 - Thesis
Directed research to satisfy thesis requirement. May be repeated for a maximum of 6 hours. Prerequisite: Consent of advisor.


Email the Department