Skip to main content
Sponsored
CS 1010 Introduction to Information Technology
Spring 2025

How computers create, preserve, manipulate and communicate information and the concepts and tools used to that end. Units include how computers work, web technologies, creating web pages, algorithms and logic, …

3.7
Rating
2.1
Difficulty
3.61
GPA
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 1111 Introduction to Programming
Fall 2025

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

3.9
Rating
2.4
Difficulty
3.48
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 1113 Introduction to Programming
Spring 2025

A first course in programming, software development, and computer science. Introduces computing fundamentals and an appreciation for computational thinking. Special domain topics and materials will differ by section and semester. …

3.8
Rating
2.5
Difficulty
3.51
GPA
CS 1501 Special Topics in Computer Science
Spring 2026

Student led special topic courses which vary by semester.

4.8
Rating
1.0
Difficulty
1.63
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 2102 Discrete Mathematics
Fall 2021

Introduces discrete mathematics and proof techniques involving first order predicate logic and induction. Application areas include finite and infinite sets, elementary combinatorial problems, and graph theory. Development of tools and …

2.7
Rating
3.2
Difficulty
3.28
GPA
CS 2110 Software Development Methods
Spring 2022

A second course in computing with an emphasis on modern software development and principles central to computer science. Topics include software requirements, testing, object-oriented design, abstraction, encapsulation, recursion, and time-complexity.Prerequisite: …

3.4
Rating
2.7
Difficulty
3.53
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 2150 Program and Data Representation
Fall 2022

Introduces programs and data representation at the machine level. Data structuring techniques and the representation of data structures during program execution. Operations and control structures and their representation during program …

4.0
Rating
4.2
Difficulty
3.00
GPA
CS 2330 Digital Logic Design
Fall 2021

Introduction to analysis and design of digital systems from switches to gates to components to CPU. Analysis and design of combinational and sequential components including multiplexers and demultiplexers, decoders and …

4.0
Rating
3.1
Difficulty
3.23
GPA
CS 2501 Special Topics in Computer Science
Spring 2026

Content varies, depending on instructor interests and the needs of the Department. Taught strictly at the undergraduate level. Prerequisite: Instructor permission; additional specific requirements vary with topics.

3.7
Rating
2.6
Difficulty
3.59
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 2993 Independent Study
Spring 2026

In-depth study of a computer science or computer engineering problem by an individual student in close consultation with departmental faculty.

Rating
Difficulty
3.75
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 3102 Theory of Computation
Fall 2022

Introduces computation theory including grammars, finite state machines, pushdown automata, and Turing machines.Prerequisites: (CS 2102 or CS 2120) and (CS 2100 or CS 2110 or CS 2501 topic "DSA 2" …

3.1
Rating
3.3
Difficulty
3.34
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