Courses

This page gives basic information for CS courses, and also allows you to view the full list of classes for a given term. To view the full list of CS classes, select the term from the list below and click "Submit". The official descriptions and prerequisites for each course can be viewed in the university catalog at the following links.

Schedule of Courses

Note that for future terms, some courses may have the department chairperson listed as the instructor. The chairperson is listed as the instructor for any course if we do not know yet who the instructor will be.

Schedule of CS courses Choose which term  

Course Sequencing and Websites

The recommend order to take courses in is listed on the advising pages for undergraduates and graduate students. For undergraduate courses, the prerequisites are illustrated in the CS undergraduate course prereq map. For graduate courses, see the CS grad couse prereq map.

For each course, an indication is given whether the course is normally offered in the fall, spring, summer, or some combination. If there are no "Y" for a course, it is offered as needed. For courses listed as "even" or "fall", the courses is offered only in even (or odd) numbered years. All courses are 3 credit hours unless otherwise noted. Some course numbers below are linked to documents giving a description of what material is covered by default in the course (along with links to standard references).

Note: for each course, the most recent offering of the course which has a publicly available website is listed here. Some courses exclusively use the university's blackboard website. We make no promises that the following links will work forever, but they at least are kept current while the courses are being offered.

Default content The CS faculty are in the process of reviewing the default content that is included in each of the courses. As part of that, we are experimenting with mapping the ACM's recommendations to our courses. Here is a google spreadsheet with the progress on that so far.

Course Name Fall Spring Summer Course website(s) Lanuage(s)
GH 101General Honors (on a CS topic) YY details coming soon
CS 101Fundamentals of Computing YY model
CS 110Fast Track Programming (1-3 hrs) YY model C or Python
CS 151Introduction to Computer Science YYY Baker, Kinne, Rafiey, Sternfeld Javascript
CS 170Web Programming YYY Baker, Kinne html/css/javascript
CS 201Computer Science I YYY Exoo, Kinne, Sternfeld C
CS 202Computer Science II YY Exoo, Kinne C++
CS 220Java Programming Kinne Java
CS 256Principles of Structured Design YY Baker, Basavaraj C
CS 260Object Oriented Programming YY Baker, Carrillo, Sternfeld Processing/Java
CS 303Discrete Structures YY Egri
CS 399Cooperative Professional Experience
CS 420/520Theory of Computation Y Kinne, Exoo Python
CS 421/521Formal Methods Y ACL2, Clausal Logic, Haskell, Prolog
CS 440/540Graphics Programming even Exoo, Kinne C/C++
CS 451/551Computer Architecture Y assembly
CS 452/552Software Engineering Y UML, C++/Java
CS 456/556Systems Programming Y Exoo C/C++, assembly
CS 457/557Data Base Processing Y Exoo, Kinne C/C++/SQL
CS 458/558Algorithms Y Exoo, Kinne, Rafiey C/C++
CS 459/559Topics in Computer Science (1-3 hrs)
CS 469/569Unix/Linux Administration and Networking Y Baker C/C++/Bash
CS 470/570Programming Languages Y Prolog, Haskell, Smalltalk/Squeak
CS 471/571Operating Systems Y Exoo C/C++
CS 473/573Computer Networks Y Baker, Exoo, Kinne C/C++
CS 475/575Artificial Intelligence odd Baker, Exoo, Kinne C/C++
CS 479/579Web Programming II Y Baker, Exoo php, SQL, XML, javascript, SPARQL
CS 499Senior Seminar (1 hr) Kinne
CS 500Programming Fundamentals YY Basavaraj, Exoo, Kinne, model C/C++
CS 510Fast Track Introduction to Programming YY model C/C++ or Python
CS 600Concrete Mathematics Y Egri, model
CS 602Mobile and Cloud Computing odd model
CS 603Networking and Security even Kinne, model C/C++
CS 609Web Programming and Applications Y Kinne, model html/css/javascript/php/SQL
CS 610Survey of Programming Languages even model
CS 611Software Specification and Design odd model VDM-SL
CS 617Databases, Data Mining, and Big Data Y model
CS 618Computational Biology odd model Python
CS 619Trends in Computer Science even model
CS 620Theory of Computation II even Kinne
CS 621Discrete Structures II odd Rafiey
CS 650Topics in Computer Science
CS 652Software Engineering II odd Eiffel, Ruby, C++
CS 658Algorithms II odd Exoo, Kinne, Rafiey
CS 670Concurrent Programming even Exoo, Kinne C/C++
CS 671Operating Systems II odd Kinne C/C++
CS 673Networking II even Exoo, model C/C++
CS 680Readings in Computer Science
CS 685Software Project (3-6 hrs) YY
CS 695Computer Science Research (3-6 hrs) YY Exoo, Kinne LaTeX
CS 699Computer Science Internship (0-3 hrs) YY Kinne, model