Your feedback has been sent to our team.
3.26
4.28
3.32
Spring 2026
Builds upon previous analysis of algorithms and the effects of data structures on them. Algorithms selected from areas such as searching, shortest paths, greedy algorithms, backtracking, divide-and-conquer, dynamic programming, and machine learning. Analysis techniques include asymptotic worst case, expected time, amortized analysis, and reductions. Prerequisites: CS 2100 & CS 2120. Background in topics covered in a first course in Calculus is required. CS 3140 is recommended.
3.33
3.29
3.32
Spring 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 provides an essential understanding of the techniques used by both sides of the computer security battle. Prerequisite: CS 3710 with a grade of C- or better
3.33
1.00
—
Spring 2026
Supports the writing of the technical report component of the fourth-year thesis, credit for which is given in STS 4600. Students will write the report assuming a non-technical audience. The course is part of the CS 4XXX elective option in the fourth-year CS thesis track. Student must be a 4th Year BS Computer Science (First or Second Major) and must have completed or be currently enrolled in STS 4500
3.35
3.19
3.63
Spring 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, natural language understanding, planning, machine learning, or machine perception. Provides exposure to AI implementation methods, emphasizing programming in Common LISP. Prerequisite: CS 3100 with a grade of C- or better
3.37
3.05
3.75
Spring 2026
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 3100 with a grade of C- or better. Background in topics covered in Probability and Linear Algebra is required.
3.37
2.63
3.70
Spring 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; project planning, scheduling, resource management, configuration control, and documentation. Prerequisite: CS 3140 with a grade of C- or better
3.38
2.23
3.50
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
3.43
3.26
3.26
Spring 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 to teach students how to build more complex systems. The course covers introductory topics in testing, software design principles, design patterns, functional programming, and data storage and manipulation. Completed CS 2100 with a C- or better.
3.50
3.00
3.34
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.
3.52
2.28
3.74
Spring 2026
Introduces the fundamental concepts for design and development of database systems. Emphasizes relational data model and conceptual schema design using ER model, practical issues in commercial database systems, database design using functional dependencies, and other data models. Develops a working relational database for a realistic application. Prerequisite: CS 2120 and 3140 with a grade of C- or better
No course sections viewed yet.