Skip to main content
Sponsored
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 3330 Computer Architecture
Spring 2023

Includes the organization and architecture of computer systems hardware; instruction set architectures; addressing modes; register transfer notation; processor design and computer arithmetic; memory systems; hardware implementations of virtual memory, and …

2.2
Rating
4.3
Difficulty
3.14
GPA
CS 3501 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.6
Rating
3.8
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 4102 Algorithms
Summer 2022

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

3.5
Rating
4.3
Difficulty
3.21
GPA
CS 4260 Internet Scale Applications
Fall 2025

A survey of methods for building large-scale internet websites and mobile apps, with a focus on how theory meets practice. Topics covered include performance engineering, scaling, security, and large team …

3.5
Rating
3.5
Difficulty
3.77
GPA
CS 4330 Advanced Computer Architecture
Spring 2026

Provides an overview of modern microprocessor design. The topics covered in the course will include the design of super-scalar processors and their memory systems, and the fundamentals of multi-core processor …

Rating
Difficulty
2.88
GPA
CS 4414 Operating Systems
Spring 2026

Analyzes process communication and synchronization; resource management; virtual memory management algorithms; file systems; and networking and distributed systems. Prerequisite: CS 3130 with a grade of C- or better.

3.1
Rating
4.3
Difficulty
2.96
GPA
CS 4434 Dependable Computing Systems
Fall 2024

Focuses on techniques for designing & analyzing dependable computer-based systems. Topics include basic dependability concepts & attributes, fault models & effects, combinatorial & state-space modeling, hardware redundancy, error detecting & …

Rating
Difficulty
2.92
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 4610 Programming Languages
Summer 2026

Presents the fundamental concepts of programming language design and implementation. Emphasizes language paradigms and implementation issues. Develops working programs in languages representing different language paradigms. Many programs oriented toward language …

3.4
Rating
3.3
Difficulty
3.47
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 4640 Programming Languages for Web Applications
Spring 2025

Presents programming languages and implementations used in developing web applications. Both client and server side languages are presented as well as database languages. In addition, frameworks that enable interactive web …

3.5
Rating
3.3
Difficulty
3.54
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