• CS 3205

    HCI in Software Development
     Rating

    2.66

     Difficulty

    2.94

     GPA

    3.53

    Last Taught

    Spring 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 analysis, as well as conceptual models and metaphors; the use of prototyping for evaluating design alternatives; and physical design of software user-interfaces, including windows, menus, and commands. Prerequisite: CS 2100 with a grade of C- or better OR successfully completed the CS 2100 place out test.

  • CS 6888

    Software Analysis and Applications
     Rating

    4.00

     Difficulty

    4.00

     GPA

    3.54

    Last Taught

    Spring 2026

    This course provides an overview of the state of the art in software analysis including static and dynamic analysis techniques and verification and validation. It explores the various ways that the analyses are used to predict software behavior. The applications include inference, symbolic execution, fault localization, model checking, security and performance. The course combines theory with practical implementation and usage. Prerequisites: CS 3240.

  • CS 4640

    Programming Languages for Web Applications
     Rating

    3.52

     Difficulty

    3.27

     GPA

    3.54

    Last Taught

    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 pages are discussed as well as formatting languages. Language features and efficiencies including scoping, parameter passing, object orientation, just in time compilation and dynamic binary translation are included. Prerequisite: CS 2150 or CS 3140 with a grade of C- or better

  • CS 4760

    Network Security
     Rating

    2.86

     Difficulty

    3.00

     GPA

    3.57

    Last Taught

    Summer 2025

    This course covers the principles of secure network communications and the application of network security. Topics include: attack types, attack surfaces, attack phases, network security devices.(a)symmetric key encryption, cryptographic hash function, authentication/identification techniques, key distribution, and data integrity assurance. Also, currently used security mechanisms and protocols will be discussed. Prerequisite: CS 3710 with a grade of C- or better

  • CS 2100

    Data Structures and Algorithms 1
     Rating

    3.20

     Difficulty

    3.02

     GPA

    3.59

    Last Taught

    Spring 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, and inheritance / polymorphism. Additionally, foundational data structures and related algorithms / analysis are studied. These include lists, stacks, queues, trees, hash tables, and priority queues. Prereq: CS 1110 or CS 1111 or CS 1112 or CS 1113 or place out test for CS 1110 or CS 2100  

  • CS 2501

    Special Topics in Computer Science
     Rating

    3.74

     Difficulty

    2.61

     GPA

    3.59

    Last Taught

    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.

  • CS 4730

    Computer Game Design
     Rating

    4.33

     Difficulty

    3.50

     GPA

    3.60

    Last Taught

    Spring 2026

    This course will introduce students to the concepts and tools used in the development of modern 2-D and 3-D real-time interactive computer video games. Topics covered in this include graphics, parallel processing, human-computer interaction, networking, artificial intelligence, and software engineering. Prerequisite: CS 3140 with a grade of C- or better

  • CS 1010

    Introduction to Information Technology
     Rating

    3.69

     Difficulty

    2.12

     GPA

    3.61

    Last Taught

    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, basic programming, and solving problems with spreadsheets. Students will learn to recognize computational problems and develop basic skill sets to solve future problems in their discipline of study. No prior programming experience required. Cannot be taken for credit by students in SEAS.

  • CS 4740

    Cloud Computing
     Rating

    2.88

     Difficulty

    2.24

     GPA

    3.62

    Last Taught

    Spring 2026

    Investigates the architectural foundations of the various cloud platforms, as well as examining both current cloud computing platforms and modern cloud research. Student assignments utilize the major cloud platforms. Prerequisite: CS 3140 with a grade of C- or better

  • CS 6456

    Operating Systems
     Rating

    3.67

     Difficulty

    5.00

     GPA

    3.63

    Last Taught

    Spring 2026

    Covers advanced principles of operating systems. Technical topics include support for distributed OSs; microkernels and OS architectures; processes and threads; IPC; files servers; distributed shared memory; object-oriented OSs; reflection in OSs; real-time kernels; multiprocessing; multimedia and quality of service; mobile computing; and parallelism in I/O. Prerequisite: Undergraduate course in OS; CS 6354 or instructor permission.