Skip to main content
Sponsored
CS 1110 Introduction to Programming
Fall 2026

A first course in programming, software development, and computer science. Introduces computing fundamentals and an appreciation for computational thinking. No previous programming experience required. Note: CS 1110, 1111, 1112, 1113, …

4.0
Rating
3.1
Difficulty
3.41
GPA
CS 1112 Introduction to Programming
Fall 2026

A first course in programming, software development, and computer science. Introduces computing fundamentals and an appreciation for computational thinking. Prerequisite: Students must have no previous programming experience. Note: CS 1110, …

4.2
Rating
2.3
Difficulty
3.51
GPA
CS 2100 Data Structures and Algorithms 1
Fall 2026

A second course in computing with an emphasis on foundational data structures and program analysis. The course provides a introduction to object oriented programming and the Java programming language, concurrency, …

3.2
Rating
3.0
Difficulty
3.59
GPA
CS 2120 Discrete Mathematics and Theory 1
Fall 2026

Introduces discrete mathematics and proof techniques involving first order predicate logic and induction. Application areas include sets, tuples, functions, relations, and combinatorial problems. Prereq: Must have completed CS 1110 or …

3.1
Rating
2.8
Difficulty
3.41
GPA
CS 2130 Computer Systems and Organization 1
Fall 2026

This course covers topics on the computer architecture abstraction hierarchy ranging from a step above silicon to a step below modern programming languages. Students in this course will learn to …

2.8
Rating
4.4
Difficulty
3.17
GPA
CS 2910 CS Education Practicum
Fall 2026

An overview of computer science education for undergraduate students. Topics include ethics, diversity, tutoring and teaching techniques, and classroom management. Students enrolled in this course serve as a teaching assistant …

3.8
Rating
1.0
Difficulty
3.95
GPA
CS 3100 Data Structures and Algorithms 2
Fall 2026

Builds upon previous analysis of algorithms and the effects of data structures on them. Algorithms selected from areas such as searching, shortest paths, greedy algorithms, backtracking, divide-and-conquer, dynamic programming, and …

3.3
Rating
4.3
Difficulty
3.24
GPA
CS 3120 Discrete Mathematics and Theory 2
Fall 2026

The goal of this course is to understand the fundamental limits on what can be efficiently computed. These limits reveal properties about information, communication, and computing, as well as practical …

3.2
Rating
4.2
Difficulty
3.10
GPA
CS 3130 Computer Systems and Organization 2
Fall 2026

A second course in computer systems, this course will explore a more realistic model of processors and how they and the operating system work together to provide various functionality we …

3.1
Rating
4.5
Difficulty
3.25
GPA
CS 3140 Software Development Essentials
Fall 2026

A first course in software engineering and software construction, this course focuses on bringing the programming concepts learned in a first course in data structures and algorithms together to begin …

3.4
Rating
3.2
Difficulty
3.33
GPA
CS 3205 HCI in Software Development
Fall 2026

Human-computer interaction and user-centered design in the context of software engineering. Examines the fundamental principles of human-computer interaction. Includes evaluating a system's usability based on well-defined criteria; user and task …

2.7
Rating
2.9
Difficulty
3.53
GPA
CS 3240 Software Engineering
Fall 2026

Analyzes modern software engineering practice for multi-person projects; methods for requirements specification, design, implementation, verification, and maintenance of large software systems; advanced software development techniques and large project management approaches; …

3.4
Rating
2.6
Difficulty
3.71
GPA
CS 3250 Software Testing
Fall 2026

An introduction to testing for assuring software quality. Covers concepts and techniques for testing software, including testing at the unit, module, subsystem, and system levels; automatic and manual techniques for …

3.4
Rating
2.2
Difficulty
3.49
GPA
CS 3710 Introduction to Cybersecurity
Fall 2026

Introduces students to the fields of cybersecurity. Both non-technical issues, such as ethics and policy, and technical issues are covered. Students see and experiment with a wide range of areas …

4.2
Rating
2.0
Difficulty
3.76
GPA
CS 4444 Introduction to Parallel Computing
Fall 2026

Introduces the student to the basics of high-performance parallel computing and application development for massively parallel processors (e.g., GPUs). The course will also introduce the internal architecture of these parallel …

3.7
Rating
4.3
Difficulty
3.22
GPA
CS 4457 Computer Networks
Fall 2026

A first course in communication networks for upper-level undergraduate students. Topics include the design of modern communication networks; point-to-point and broadcast network solutions; advanced issues such as Gigabit networks; ATM …

3.5
Rating
3.0
Difficulty
3.36
GPA
CS 4501 Special Topics in Computer Science
Fall 2026

Content varies annually, depending on instructor interests and the needs of the department. Similar to CS 5501 and CS 7501, but taught strictly at the undergraduate level. Prerequisite: Must have …

3.7
Rating
3.0
Difficulty
3.63
GPA
CS 4620 Compilers
Fall 2026

Provides an introduction to the field of compilers, which translate programs written in high-level languages to a form that can be executed. The course covers the theories and mechanisms of …

3.5
Rating
3.5
Difficulty
3.65
GPA
CS 4630 Defense Against the Dark Arts
Fall 2026

Viruses, worms, and other malicious software are an ever-increasing threat to computer systems. There is an escalating battle between computer security specialists and the designers of malicious software. This course …

3.3
Rating
3.3
Difficulty
3.31
GPA
CS 4710 Artificial Intelligence
Fall 2026

Introduces artificial intelligence. Covers fundamental concepts and techniques and surveys selected application areas. Core material includes state space search, logic, and resolution theorem proving. Application areas may include expert systems, …

3.3
Rating
3.2
Difficulty
3.66
GPA