Note - this old version of the CS website will only be kept until the end of May.
Things are being moved over to the new format at and


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 course 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 See CS Course Basic Information for what the normal content for each course is. For a longer list of what might go into these courses, you can look at the spreadsheet with all ACM recommended learning outcomes for CS

Course Name Fall Spring Summer Course website(s) Lanuage(s)
SH 199Summer Honors (for high school students) Y 2018, 2017, 2016
GH 101General Honors (on a CS topic) YY Kinne R, python
CSS 211Introduction to Computer Security Y Abhyankar
CS 101Fundamentals of Computing YY May, model pseudocode, python
CS 110Fast Track Programming (1-3 hrs) model C or Python
CS 151Introduction to Computer Science YYY Schotter, Baker, Kinne, Rafiey, Sternfeld python
CS 170Web Programming YYY May, Baker, Kinne html/css, javascript
CS 201Computer Science I YYY Sternfeld, Exoo, Kinne python
CS 202Computer Science II Y Schotter, Exoo, Kinne C, C++
CS 220Java Programming Kinne Java
CS 256Principles of Structured Design YY Schotter, Baker, Basavaraj C
CS 260Object Oriented Programming YY Boulware, Baker, Carrillo, Sternfeld Processing/Java
CS 303Discrete Structures Y Sternfeld, Egri (python/sage optional)
CS 399Cooperative Professional Experience
CS 420/520Theory of Computation Y Kinne, Exoo (python/sage optional)
CS 421/521Formal Methods Y Abhyankar ACL2, Clausal Logic, Haskell, Prolog
CS 440/540Graphics Programming even Exoo, Kinne C/C++
CS 451/551Computer Architecture Y Abhyankar assembly
CS 452/552Software Engineering Y Abhyankar UML, C++/Java
CS 456/556Systems Programming Y Baker, Exoo C/C++, assembly
CS 457/557Data Base Processing Y Schotter, Exoo, Kinne SQL, some noSQL, some high level
CS 458/558Algorithms Y Exoo, Kinne, Rafiey C/C++
CS 459/559Topics in Computer Science (1-3 hrs) Exoo (data science), Kinne (R, BD4ISU), Abhyankar (CSS 211) Schotter (Python)
CS 469/569Unix/Linux Administration and Networking Y Baker C/C++/Bash
CS 470/570Programming Languages Y Abhyankar Prolog, Haskell, Smalltalk/Squeak
CS 471/571Operating Systems Y Kinne, Exoo C/C++
CS 473/573Computer Networks Y Baker, Exoo, Kinne C/C++
CS 475/575Artificial Intelligence odd Exoo, Baker, 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 Sternfeld, Basavaraj, Exoo, Kinne, model C/C++
CS 510Fast Track Introduction to Programming model C/C++ or Python
CS 600Concrete Mathematics Y Egri, model
CS 602Mobile and Cloud Computing odd Abhyankar, model
CS 603Networking and Security even Abhyankar, Kinne, model C/C++
CS 609Web Programming and Applications Y Sternfeld, 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 Exoo, Kinne python, R, sql, noSQL, tensorFlow
CS 618Computational Biology odd Rafiey, 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
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