Your feedback has been sent to our team.
—
—
—
Spring 2026
Required for Distinguished Majors completing the Bachelor of Arts degree in the College of Arts and Sciences. An introduction to computer science research and the writing of a Distinguished Majors thesis. Prerequisites: CS 3100 with a grade of C- or higher, and a BACS major
—
—
3.83
Fall 2024
Provide a foundation in discrete mathematics, data structures, algorithmic design and implementation, computational complexity, parallel computing, and data integrity and consistency for non-CS, non-CpE students. Case studies and exercises will be drawn from real-world examples (e.g., bioinformatics, public health, marketing, and security). Prerequisite: CS 5010, CS 1110 or equivalent, Math 1210 or equiv, Math 3351 or equiv, Math 3100 or equiv.
—
—
3.98
Spring 2024
Content varies annually, depending on students' needs and interests. Recent topics included the foundations of computation, artificial intelligence, database design, real-time systems, Internet engineering, and electronic design automation. Prerequisite: Instructor permission.
—
—
3.78
Fall 2025
This course introduces a basic grounding in designing and implementing cloud systems. It aims to acquaint students with principles and technologies of server clusters, virtualized datacenters, Internet clouds, and applications. Students will gain hands-on experience on public cloud such as Amazon EC2. Prerequisites: CS2150 Program and Data Representation or CS 111x Introduction to Programming, CS 4457 Computer Networks or equivalent background.
—
—
3.76
Fall 2025
This course will provide an introduction to modern cryptography and its applications to computer security. This course will cover the fundamentals of symmetric cryptography (i.e., encryption and message authentication) and public-key cryptography (i.e., key-exchange and signatures) as well as cryptographic protocols like zero-knowledge proof systems. Recommended prerequisites: CS 2102, 3102, and 4102 (or equivalent experience).
—
—
3.87
Fall 2025
This is a graduate-level machine learning course. Machine Learning is concerned with computer programs that automatically improve their performance through experience. This course covers introductory topics about the theory and practical algorithms for machine learning from a variety of perspectives. Topics include supervised learning, unsupervised learning and learning theory. Prerequisite: Calculus, Basic linear algebra, Basic Probability and Basic Algorithm. Statistics is recommended. Students should already have good programming skills.
—
—
3.73
Fall 2025
Study of representative digital computer organization with emphasis on control unit logic, input/output processors and devices, asynchronous processing, concurrency, and parallelism. Memory hierarchies. Prerequisite: CS 3330 or proficiency in assembly language programming.
—
—
3.62
Fall 2024
Focuses on techniques for designing and analyzing dependable computer-based systems. Topics include basic dependability concepts and attributes, fault models and effects, combinatorial and state-space modeling, hardware redundancy, error detecting and correcting codes, time redundancy, software fault tolerance, checkpointing and recovery, reliable networked systems, error detection techniques, and experimental dependability evaluation techniques.Prerequisites: A basic knowledge of probability and computer architecture is required. A working knowledge of programming is required for homework and mini projects.
—
—
3.98
Spring 2025
Interactions between robots and humans are influenced by form, function and expectations. Quantitative techniques evaluate performance of specific tasks and functions. Qualitative techniques are used to evaluate the interaction and to understand expectations and perceptions of the human side of the interaction. Students use humanoid robots to develop and evaluate interactions within a specific application context.
—
—
3.94
Spring 2026
Cyber-physical systems (CPS) are smart systems that include co-engineered interacting networks of physical and computational components. This course will teach students the required skills to analyze the CPS that are all around us, so that when they contribute to the design of CPS, they are able to understand important safety and security aspects and feel confident designing and analyzing CPS systems.
No course sections viewed yet.