• CS 4971

    Capstone Practicum II
     Rating

    4.00

     Difficulty

    2.50

     GPA

    3.45

    Last Taught

    Fall 2025

    This course is one option in the CS fourth-year thesis track and is the continuation from CS 4970. Under the practicum track, students will take two 3-credit courses, CS 4970 and CS 4971. These courses would form a year-long group-based and project-based practicum class. There would be an actual customer, which could be either internal (the course instructor, other CS professors, etc.) or external (local companies, local non-profits, etc.).Prerequisite: CS 4970

  • CS 1112

    Introduction to Programming
     Rating

    4.13

     Difficulty

    2.37

     GPA

    3.47

    Last Taught

    Fall 2025

    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, 1111, 1112, 1113, and 1120 provide different approaches to teaching the same core material; students may only receive credit for one of these courses. Students may not enroll if CS 2100 or CS 3140 has been completed.

  • CS 1111

    Introduction to Programming
     Rating

    3.86

     Difficulty

    2.42

     GPA

    3.48

    Last Taught

    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, 1111, 1112, 1113, and 1120 provide different approaches to teaching the same core material; students may only receive credit for one of these courses. Students may not enroll if CS 2100 or CS 3140 has been completed.

  • CS 4610

    Programming Languages
     Rating

    3.33

     Difficulty

    3.44

     GPA

    3.48

    Last Taught

    Fall 2025

    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 implementation issues. Prerequisite: CS 2150 or (CS 2120 and 3140) with a grade of C- or better

  • CS 3250

    Software Testing
     Rating

    3.42

     Difficulty

    2.50

     GPA

    3.50

    Last Taught

    Fall 2025

    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 generating and validating test data; the testing process; static vs. dynamic analysis; functional testing; inspections; testing in specific application domains; and reliability assessment.Prerequisite: CS 2150 or (CS 2100 and CS 2120) with a grade of C- or better

  • CS 3205

    HCI in Software Development
     Rating

    2.51

     Difficulty

    2.94

     GPA

    3.51

    Last Taught

    Fall 2025

    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 2110 or CS 2100 with a grade of C- or better

  • CS 2501

    Special Topics in Computer Science
     Rating

    3.71

     Difficulty

    2.69

     GPA

    3.57

    Last Taught

    Fall 2025

    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 4740

    Cloud Computing
     Rating

    2.88

     Difficulty

    2.24

     GPA

    3.61

    Last Taught

    Fall 2025

    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 2150 or CS 3140 with a grade of C- or better

  • CS 2100

    Data Structures and Algorithms 1
     Rating

    3.31

     Difficulty

    3.05

     GPA

    3.62

    Last Taught

    Fall 2025

    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 4501

    Special Topics in Computer Science
     Rating

    3.81

     Difficulty

    3.00

     GPA

    3.62

    Last Taught

    Fall 2025

    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: Instructor permission; additional specific requirements vary with topics.