• CS 4457

    Computer Networks
     Rating

    3.50

     Difficulty

    3.00

     GPA

    3.36

    Last Taught

    Spring 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 networks; and real-time communications.  Prerequisite: CS 3130 with a grade of C- or better.

  • CS 1110

    Introduction to Programming
     Rating

    3.97

     Difficulty

    3.12

     GPA

    3.41

    Last Taught

    Spring 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, 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 2120

    Discrete Mathematics and Theory 1
     Rating

    3.16

     Difficulty

    2.77

     GPA

    3.41

    Last Taught

    Spring 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 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 4610

    Programming Languages
     Rating

    3.37

     Difficulty

    3.30

     GPA

    3.47

    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 1111

    Introduction to Programming
     Rating

    3.87

     Difficulty

    2.38

     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 3501

    Special Topics in Computer Science
     Rating

    3.63

     Difficulty

    3.75

     GPA

    3.49

    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 4971

    Capstone Practicum II
     Rating

    4.00

     Difficulty

    2.50

     GPA

    3.49

    Last Taught

    Spring 2026

    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 or Instructor Permission.

  • CS 3250

    Software Testing
     Rating

    3.38

     Difficulty

    2.23

     GPA

    3.49

    Last Taught

    Spring 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 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 2100 and CS 2120 (OR CS 2100 place out test and CS 2120) with a grade of C- or better

  • CS 1113

    Introduction to Programming
     Rating

    3.82

     Difficulty

    2.54

     GPA

    3.51

    Last Taught

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

    Introduction to Programming
     Rating

    4.15

     Difficulty

    2.33

     GPA

    3.51

    Last Taught

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