• 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 3240

    Software Engineering
     Rating

    3.27

     Difficulty

    2.67

     GPA

    3.70

    Last Taught

    Fall 2025

    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; project planning, scheduling, resource management, configuration control, and documentation. Prerequisite: CS 2150 or CS 3140 with a grade of C- or better

  • CS 2120

    Discrete Mathematics and Theory 1
     Rating

    3.36

     Difficulty

    2.67

     GPA

    3.44

    Last Taught

    Fall 2025

    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 CS 1111 or CS 1112 or CS 1113 with a grade of C- or better OR successfully completed the CS 1110 or CS 2100 place out test.

  • 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 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 4457

    Computer Networks
     Rating

    3.50

     Difficulty

    3.00

     GPA

    3.34

    Last Taught

    Fall 2025

    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 networks; and real-time communications. Cross-listed as ECE 4457. Prerequisite: CS 3330 or CS 2501 topic "COA 2" or ECE 3430 or ECE 4435 or ECE 3502 topic "ECR II" or CS 3130. Must complete CS courses with a grade of C- or better.

  • 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.

  • 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 4774

    Machine Learning
     Rating

    3.35

     Difficulty

    3.06

     GPA

    3.75

    Last Taught

    Fall 2025

    An introduction to machine learning: the study of algorithms that improve their performance through experience. Covers both machine learning theory and algorithms. Introduces algorithms, theory, and applications related to both supervised and unsupervised learning, including regression, classification, and optimization and major algorithm families for each.Prerequisites: CS 2150 or CS 3100 with a grade of C- or better; APMA 3100, APMA 3110, MATH 3100, or equivalent and Math 3350 or APMA 3080 or equivalent

  • CS 1110

    Introduction to Programming
     Rating

    3.97

     Difficulty

    3.13

     GPA

    3.41

    Last Taught

    Fall 2025

    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, 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.