Computer Science

Courses

CS 150 Computer Science Principles 3.0 Credits

An introduction to computer science principles: the big ideas and computational thinking practices central to computer science, and the societal impact of computing and information technology. Exposure to algorithms, big data, machine learning, privacy, security and digital citizenship while introducing and reinforcing the importance of programming.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit

CS 164 Introduction to Computer Science 3.0 Credits

An introduction to the field of computer science. Exposure to core areas (selected from algorithms, artificial intelligence, computer architecture, databases, graphics, human-computer interaction, programming languages, scientific computation, software engineering) while introducing and reinforcing the importance of programming.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit

CS 171 Computer Programming I 3.0 Credits

Introduces fundamental concepts of computing including memory, instructions, function calls, and activation records. Covers fundamentals of structured computer programming in the language of instruction: variables, input and output, expressions, assignment statements, conditionals and branching, subprograms, parameter passing, repetition, arrays, top-down design, testing, and debugging.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit

CS 172 Computer Programming II 3.0 Credits

Covers object-oriented design, inheritance hierarchies, information hiding principles, string processing, recursion, good programming style, documentation, debugging, and testing.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 171 [Min Grade: C] or CS 175 [Min Grade: C]

CS 175 Advanced Computer Programming I 3.0 Credits

Advanced programming in language of instruction at an accelerated pace: introduces fundamental concepts of computing including memory, instructions, function calls, and activation records. Covers fundamentals of structured computer programming in the language of instruction: conditionals and branching, subprograms, parameter passing, repetition, arrays, top-down design, testing, and debugging. Supplements basic topics with deeper presentation of advanced techniques for those with some incoming programming experience.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit

CS 190 Selected Computer Language 3.0 Credits

Focuses on programming in a selected language of interest. Course content, language, and prerequisites may vary according to instructor, with emphasis on applications for which the language is designed. May be repeated for credit.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

CS 260 Data Structures 4.0 Credits

Data structures form the basis for the programmer's toolbox. Students will become familiar with the basic data structures and learn to modify or create on their own. Additionally, they will learn several algorithms that use these data structures in solving common problems such as searching and sorting, that involve sequentially, pairwise, or hierarchically related data. Further, students will learn data abstraction, how to separate interface from implementation, and viewing a problem simply in terms of functional requirements and dependencies. Throughout the course, students will develop abstract thinking and problem-solving skills.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 265 [Min Grade: C]

CS 265 Advanced Programming Tools and Techniques 3.0 Credits

Introduction to the basic principles of programming practice: testing, debugging, portability, performance, design alternatives, and style. Application in a variety of programming languages, programming environments, and operating systems. Introduction to tools used in the software development process for improving program functionality, performance, and robustness.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 172 [Min Grade: C] or ECE 105 [Min Grade: D] or ECEC 201 [Min Grade: D]

CS 270 Mathematical Foundations of Computer Science 3.0 Credits

Introduces formal logic and its connections to Computer Science. Students learn to translate statements about the behavior of computer programs into logical claims and to prove such assertions using both traditional techniques and automated tools. Considers approaches to proving termination, correctness, and safety for programs. Discusses propositional and predicate logic, logical inference, recursion and recursively defined sets, mathematical induction, and structural induction.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 172 [Min Grade: C] or CS 265 [Min Grade: C] or ECE 105 [Min Grade: D] or ECEC 201 [Min Grade: D]

CS 277 Algorithms and Analysis 3.0 Credits

Introduces foundational concepts in Computer Science theory, including computability, decidability, the Turing Machine, and algorithmic complexity. Applies concepts underlying graph theory and automata to current topics in computing to create contextualized connections between theory and practice.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and CS 270 [Min Grade: C] and MATH 221 [Min Grade: C]

CS 281 Systems Architecture 4.0 Credits

Covers internal function and organization of digital computers, including instruction sets, addressing methods, input-output architectures, central processor organization, machine language, and assembly language.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: (CS 270 [Min Grade: C] or ECE 200 [Min Grade: D]) and (CS 172 [Min Grade: C] or ECEC 201 [Min Grade: D] or ECE 105 [Min Grade: D])

CS 283 Systems Programming 3.0 Credits

This course introduces computer systems, including interaction of hardware and software through the operating system, from the programmer's perspective. Three fundamental abstractions are emphasized: processes, virtual memory, and files. These abstractions provide programmers a common interface to a wide variety of hardware devices. Topics covered include linking, system level I/O, concurrent programming, and network programming.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 265 [Min Grade: C]

CS 300 Applied Symbolic Computation 3.0 Credits

This course covers the fundamentals of symbolic mathematical methods as embodied in symbolic mathematics software systems, including: fundamental techniques, simplification of expressions, solution of applications problems, intermediate expressions swell, basic economics of symbolic manipulation, efficient solution methods for large problems, hybrid symbolic/numeric techniques.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and CS 270 [Min Grade: C] and MATH 200 [Min Grade: C] and (MATH 201 [Min Grade: C] or ENGR 231 [Min Grade: C])

CS 303 Algorithmic Number Theory and Cryptography 3.0 Credits

Covers fundamental algorithms for integer arithmetic, greatest common divisor calculation, modular arithmetic, and other number theoretic computations. Algorithms are derived, implemented and analyzed for primality testing and integer factorization. Applications to cryptography are explored including symmetric and public-key cryptosystems. A cryptosystem will be implemented and methods of attack investigated.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and (MATH 221 [Min Grade: C] or MATH 222 [Min Grade: C]) and (MATH 201 [Min Grade: C] or ENGR 231 [Min Grade: D])

CS 314 Computing in the Small 3.0 Credits

Explores the technologies and techniques associated with microcontrollers and Systems on Chips (SOCs) as well as their use in embedded systems. A major focus is on developing software to control input and output devices.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 283 [Min Grade: C]

CS 341 Serious Game Development 3.0 Credits

The goal of this course is to learn more about serious games, that is games used in a non-entertainment context, such as games for health, education, and persuasion, through readings and through the design, development, and implementation of serious games.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: GMAP 377 [Min Grade: D]

CS 342 Experimental Game Development 3.0 Credits

The goal of this course is to develop new ideas and innovations in games through the design, development, and implementation of games using short development cycles and creative thematic constraints.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 345 [Min Grade: C], GMAP 345 [Min Grade: D] (Can be taken Concurrently)

CS 345 Computer Game Design and Development 3.0 Credits

This course introduces students to the computer game design process. Students also learn how the individual skills of modeling, animation, scripting, interface design and story telling are coordinated to produce interactive media experiences for various markets, devices and purposes.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 265 [Min Grade: C]

CS 352 Processor Architecture & Analysis 3.0 Credits

This course covers performance evaluation and benchmarking, pipelining, superscalar processors, multiprocessors, and interfacing processors and peripherals. The memory hierarchy, including cache and virtual memory, are also explored from a programmer's perspective with high-performance computing techniques in mind.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 281 [Min Grade: C] or ECEC 355 [Min Grade: D]

CS 360 Programming Language Concepts 3.0 Credits

Introduces the design and implementation of modern programming languages: formal theory underlying language implementation; concerns in naming, binding, storage allocation and typing; semantics of expressions and operators, control flow, and subprograms; procedural and data abstraction; functional, logic, and object-oriented languages. Students will construct an interpreter for a nontrivial language.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and CS 265 [Min Grade: C] and CS 270 [Min Grade: C]

CS 361 Concurrent Programming 3.0 Credits

Covers programming of concurrent, cooperating sequential processes. Studies race conditions, critical sections, mutual exclusion, process synchronization, semaphores, monitors, message passing, the rendezvous, deadlock, and starvation.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Restrictions: Cannot enroll if classification is Freshman
Prerequisites: CS 260 [Min Grade: C] and (CS 281 [Min Grade: C] or ECEC 355 [Min Grade: D])

CS 370 Operating Systems 3.0 Credits

Explores the internal algorithms and structures of operating systems: CPU scheduling, memory management, file systems, and device management. Considers the operating system as a collection of cooperating sequential processes (servers) providing an extended or virtual machine that is easier to program than the underlying hardware. Topics include virtual memory, input/output devices, disk request scheduling, deadlocks, file allocation, and security and protection.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Restrictions: Cannot enroll if classification is Freshman
Prerequisites: CS 283 [Min Grade: C] or ECEC 353 [Min Grade: D]

CS 375 Web Development 3.0 Credits

Introduction to web development with a focus on programming full-stack web applications. Covers front-end topics like HTML, CSS, and client-side JavaScript, and back-end topics like web servers and databases.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 265 [Min Grade: C]

CS 377 Software Security 3.0 Credits

An introduction to foundational systems concepts underpinning the broad area of software security. Topics covered include access control, software vulnerabilities such as buffer overflows and race conditions, insecurity in software, cryptocurrency, malware, and operating systems security.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 283 [Min Grade: C] or ECEC 353 [Min Grade: D]

CS 380 Artificial Intelligence 3.0 Credits

Explores the foundations of artificial intelligence: production systems, heuristic programming, knowledge representation, and search algorithms. Also covers programming in an AI language. Additional topics chosen from game theory, decision support systems, pattern matching and recognition, image understanding, natural language, fuzzy and non-monotonic logic, machine learning, theorem proving, and common sense reasoning.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Restrictions: Cannot enroll if classification is Freshman
Prerequisites: CS 260 [Min Grade: C] and CS 270 [Min Grade: C]

CS 383 Machine Learning 3.0 Credits

This course covers the fundamentals of modern statistical machine learning. Lectures will cover the theoretical foundation and algorithmic details of representative topics including probabilities and decision theory, regression, classification, graphical models, mixture models, clustering, expectation maximization, hidden Markov models, and weak learning.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and (MATH 201 [Min Grade: C] or ENGR 231 [Min Grade: D]) and (MATH 221 [Min Grade: C] or MATH 222 [Min Grade: C]) and (MATH 311 [Min Grade: C] or MATH 410 [Min Grade: C] or ECE 361 [Min Grade: D])

CS 385 Evolutionary Computing 3.0 Credits

This course covers computational intelligence approaches to problem solving for classification, adaptation, optimization, and automated control. Methods covered will include evolutionary programming/genetic algorithms, genetic programming, neural networks, swarm optimization, and fuzzy logic.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and CS 380 [Min Grade: C]

CS 387 Game AI Development 3.0 Credits

This course focuses on artificial intelligence (AI) techniques for computer games. Students will learn both basic and advanced AI techniques that are used in a variety of game genres including first-person shooters, driving games, strategy games, platformers, etc. The course will emphasize the difference between traditional AI and game AI, the latter having a strong design component, focusing on creating games that are “fun to play.” Topics include path-finding, decision-making, strategy and machine learning in games.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and CS 380 [Min Grade: C]

CS 429 Software Defined Radio Laboratory 3.0 Credits

This laboratory course takes a Software-Defined Radio (SDR) implementation approach to learn about modern analog and digital communication systems. Software defined radio uses general purpose radio hardware that can be programmed in software to implement different communication standards. We will begin by discussing the basic principles of wireless radio frequency transmissions and leverage this knowledge to build analog and digital communication systems. Knowledge of these techniques and systems will provide a platform that can be used in the class project for further exploration of wireless networking topics such as cybersecurity, cognitive radio, smart cities, and the Internet of Things.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: (CS 260 [Min Grade: C] and CS 265 [Min Grade: C] and CS 270 [Min Grade: C])

CS 430 Computer Graphics 3.0 Credits

The course presents the fundamental geometric representations and drawing algorithms of computer graphics through lectures and programming assignments. The representations include lines, curves, splines, polygons, meshes, parametric surfaces and solids. The algorithms include line drawing, curve and surface evaluation, polygon filling, clipping, 3D-to-2D projection and hidden surface removal.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and (MATH 201 [Min Grade: C] or MATH 261 [Min Grade: C] or ENGR 231 [Min Grade: D])

CS 431 Advanced Rendering Techniques 3.0 Credits

The creation of realistic images from 3D models is central to the development of computer graphics. The ray tracing algorithm has become one of the most popular and powerful techniques for creating photo-realistic images. This class explores the algorithmic components of ray tracing. Students implement many of these components in their class programming projects.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 430 [Min Grade: D] or CS 432 [Min Grade: D]

CS 432 Interactive Computer Graphics 3.0 Credits

This is a project-oriented class that covers the concepts and programming details of interactive computer graphics. These include graphics primitives, display lists, picking, shading, rendering buffers and transformations. Students will learn an industry-standard graphics system by implementing weekly programming assignments. The course culminates with a student-defined project.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and (MATH 201 [Min Grade: C] or MATH 261 [Min Grade: C] or ENGR 231 [Min Grade: D])

CS 435 Computational Photography 3.0 Credits

Fundamentals of computational photography, an interdisciplinary field at the intersection of computer vision, graphics, and photography. Covered topics include fundamentals of cameras, novel camera designs, image manipulation, single-view modeling, and image-based rendering with an emphasis on learning the computational methods and their underlying mathematical concepts through hands-on assignments.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and (MATH 201 [Min Grade: C] or MATH 261 [Min Grade: C] or ENGR 231 [Min Grade: D])

CS 438 Game Engine Programming 3.0 Credits

The goal of this course is to learn the general principles and techniques required to build a game engine from scratch. The course covers basic programming techniques for games, but without focusing on any specific programming language nor platform. Topics include game engine architecture, game loops, real-time 2D and 3D rendering, collision detection, input handling, networking, animation, scripting, Game AI, and 2D and 3D physics simulation. Additionally, students will also gain knowledge of existing game engines.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and (MATH 201 [Min Grade: C] or ENGR 231 [Min Grade: C])

CS 440 Theory of Computation 3.0 Credits

Finite automata, regular sets, and regular expressions; pushdown automata, context-free languages, and normal forms for grammars; Turing machines and recursively enumerable sets; Chomsky hierarchy; computability theory.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Restrictions: Cannot enroll if classification is Freshman or Sophomore
Prerequisites: CS 270 [Min Grade: C] and (MATH 221 [Min Grade: C] or MATH 222 [Min Grade: C])

CS 441 Compiler Implementation 3.0 Credits

Covers the fundamentals of optimizing compilers and code generation, including compiler intermediate representations, basic compiler optimizations, program analyses to enable optimizations (such as value numbering), and generation of efficient code (register allocation and instruction selection).

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: (CS 281 [Min Grade: C] or ECE 350 [Min Grade: D]) and CS 360 [Min Grade: C]

CS 455 Computational Network Neuroscience 3.0 Credits

This course provides a broad introduction to computational network neuroscience, also known as connectomics, which is an interdisciplinary field between medicine, neuroscience, machine learning, and graph theory to students coming from a computing background. Processing of neuroimaging data to obtain brain networks, its analysis using basic statistical methods as well as advanced machine learning techniques, with applications on healthy and various patient populations will be covered. After taking the course, the student will become prepared for a postgraduate level research experience in the burgeoning field of connectomics.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Restrictions: Can enroll if classification is Junior or Pre-Junior or Senior.
Prerequisites: CS 172 [Min Grade: C] or CS 175 [Min Grade: C] or ENGR 132 [Min Grade: D] or BMES 202 [Min Grade: D] or BIO 331 [Min Grade: D] or PBHL 211 [Min Grade: D]

CS 457 Data Structures and Algorithms I 4.0 Credits

This course covers techniques for analyzing algorithms, including: asymptotic analysis, recurrence relations, and probabilistic analysis; data structures such as hash tables and binary trees; algorithm design techniques such as dynamic programming, greedy methods, and divide & conquer, as well as graph algorithms for graph traversal, minimum spanning trees, and shortest paths.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and CS 270 [Min Grade: C] and CS 277 [Min Grade: C] and (MATH 221 [Min Grade: C] or MATH 222 [Min Grade: C])

CS 458 Data Structures and Algorithms II 3.0 Credits

This course covers the amortized analysis of algorithms and data structures; Fibonacci heaps; graph algorithms for maximizing network flow and computing minimum all pairs shortest paths; string matching algorithms; NP-Completeness and approximation algorithms.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 457 [Min Grade: D]

CS 460 Theory Reading Group 0.0-3.0 Credits

This class covers a wide variety of special topics in theoretical computer science and mathematics, including advanced techniques for the design and analysis of algorithms, algorithmic game theory, approximation algorithms, randomized algorithms, computational complexity, and discrete mathematics.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit
Prerequisites: CS 260 [Min Grade: C] and CS 270 [Min Grade: C] and CS 277 [Min Grade: C] and MATH 221 [Min Grade: C]

CS 461 Database Systems 3.0 Credits

Covers topics including structure and function of database systems, normal form theory, data models (relational, network, and hierarchical), query processing (ISBL), relational algebra and calculus, and file structures. Includes programming project using DBMS.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Restrictions: Cannot enroll if classification is Freshman
Prerequisites: CS 260 [Min Grade: C]

CS 465 Privacy and Trust 3.0 Credits

This course will motivate the need for privacy protection and introduce basic privacy properties such as anonymity, unlinkability or unobservability. We will then discuss how these properties can be formalized, modeled and measured. The course will provide a broad overview of the state-of-the-art in privacy technologies, explain the main issues that these technologies address, what the current solutions are able to achieve, and the remaining open problems.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 265 [Min Grade: C] and CS 270 [Min Grade: C]

CS 472 Computer Networks: Theory, Applications and Programming 3.0 Credits

Introduction to computer networking theory, applications and programming, focusing on large heterogeneous networks. Broad topdown introductions to computer networking concepts including distributed applications, socket programming, operation system and router support, router algorithms, and sending bits over congested, noisy and unreliable communication links.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 361 [Min Grade: D] or CS 283 [Min Grade: C] or ECEC 353 [Min Grade: D]

CS 475 Network Security 3.0 Credits

An introduction to foundational systems concepts underpinning the specialized area of network security. Focus to be given to security issues pertaining to the Data Link, Network, and Transport layers of the network stack. Topics include packet sniffing and spoofing, as well as MAC, IP, ICMP, TCP, and UDP attacks.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 472 [Min Grade: D] or CS 283 [Min Grade: C] or ECEC 353 [Min Grade: D]

CS 476 High Performance Computing 3.0 Credits

This course is an introduction to high performance computing, including concepts and applications. Course contents will include discussions of different types of high performance computer architectures (multi-core/multi-threaded processors, parallel computers, etc), the design, implementation, optimization and analysis of efficient algorithms for uni-processors, multi-threaded processors, parallel computers, and high performance programming.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: (CS 281 [Min Grade: C] and CS 283 [Min Grade: C]) or (ECEC 353 [Min Grade: D] and ECEC 355 [Min Grade: D])

CS 478 Advanced Web Development 3.0 Credits

Deeper dive into web development with a focus on programming full-stack web applications. Topics may include front-end frameworks, API architecture, authentication, deployment, security, and testing.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 375 [Min Grade: D]

CS 479 Advanced Network Security 3.0 Credits

A treatment of advanced systems concepts underpinning the specialized area of network security. Focus to be given to security issues pertaining to the Application layer of the network stack. Topics include security attacks on Firewalls and DNS, as well as attacks on Web Applications such as Cross-Site Request Forgery, Cross-Site Scripting, and SQL Injection.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 475 [Min Grade: D]

CS 481 Advanced Artificial Intelligence 3.0 Credits

This course covers topics in representation, reasoning, and decision-making under uncertainty; learning; solving problems with time-varying properties. Assignments applying AI techniques toward building intelligent machines that interact with dynamic, uncertain worlds will be given.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 380 [Min Grade: D] and (MATH 311 [Min Grade: D] or MATH 410 [Min Grade: D] or ECE 361 [Min Grade: D])

CS 482 Robust Machine Learning 3.0 Credits

This course introduces students to the understanding about the robustness and vulnerability of current state-of-the-art machine learning systems. Lectures will cover the theoretical foundation and algorithmic details of different types of adversarial attack and defense methods accordingly on multiple machine learning tasks including image classification, object detection, natural language processing, etc. Students will understand the intriguing property of deep learning systems and know the significance of robust and trustworthy machine learning.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 380 [Min Grade: C] or CS 383 [Min Grade: C]

CS 486 Topics in Artificial Intelligence 3.0 Credits

A variety of special topics are offered in artificial intelligence (AI) including: intelligent time-critical reasoning, knowledge-based agents, machine learning, natural language processing, and geometric reasoning. This course may be repeated for credit as topics vary.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit
Prerequisites: CS 380 [Min Grade: C]

CS I199 Independent Study in Computer Science 0.0-12.0 Credits

Self-directed within the area of study requiring intermittent consultation with a designated instructor.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

CS I299 Independent Study in Computer Science 0.0-12.0 Credits

Self-directed within the area of study requiring intermittent consultation with a designated instructor.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

CS I399 Independent Study in Computer Science 0.0-12.0 Credits

Self-directed within the area of study requiring intermittent consultation with a designated instructor.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

CS I499 Independent Study in Computer Science 0.0-12.0 Credits

Self-directed within the area of study requiring intermittent consultation with a designated instructor.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

CS T180 Special Topics in Computer Science 0.0-12.0 Credits

Topics decided upon by faculty will vary within the area of study.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

CS T280 Special Topics in Computer Science 0.0-12.0 Credits

Topics decided upon by faculty will vary within the area of study.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

CS T380 Special Topics in Computer Science 0.0-12.0 Credits

Topics decided upon by faculty will vary within the area of study.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

CS T480 Special Topics in Computer Science 0.0-12.0 Credits

Topics decided upon by faculty will vary within the area of study.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit