Skip to main content Skip to footer site map
Computer Science Department

Computer Science Courses

Required Courses

  • IC210 Intro to Computer Science
  • IC211 Object-Oriented Programming
  • IC220 Computer Architecture and Organization
  • IC221 Systems Programming
  • IC312 Data Structures
  • IC322 Computer Networks
  • SI340 Theory of Computing
  • SI335 Computer Algorithms
  • IC411 Operating Systems
  • SI413 Programming Languages and Implementation
  • IC470 Software Engineering
  • IC480 Research Seminar/Capstone
Course Matrix for SCS

Course Matrix for SCS

Click the above picture to access the full SCS matrix.

Core Courses

(required for all freshmen)

  • SI110 Introduction to Cyber Security Technical Foundations

Restricted Electives

SCS majors must take at least one of the following:
  • SI420 Artificial Intelligence
  • SI425 Natural Language Processing
  • SI435 Advanced Software Engineering
  • SI440 Database Organization
  • SI452 Advanced Computer Architecture
  • SI455 Advanced Computer Networks
  • SI458 High Performance Computing
  • SI460 Computer Graphics
  • SI475 Intelligent Robotics

Unrestricted Electives

In addition to one restricted elective, SCS majors must take at least two other electives from the following:
  • Any restricted elective not already taken as a restricted elective.
  • SI462 Advanced Computer Graphics
  • IT430 Computer and Network Security
  • IT432 Advanced Computer and Network Security
  • IT452 Advanced Web and Internet Systems
  • IT460 Human Computer Interaction
  • IT462 Advanced Database Systems
  • IT470 Enterprise Computing
  • IT472 Mobile OS Development
  • Any SI 485/486/495/496 course, as long as it is at least 3 credits.
  • Any IT 485/486/495/496 course, as long as it is at least 3 credits, and does not have the letter U,V, or W appended (e.g. IT485A is fine but IT485U is not).

Students should expect that not all the courses listed will actually be offered (due to small enrollments). Those students will be expected to select an alternate choice if the course is unavailable.

Non-Majors Courses

  • SI204 Introduction to Computer Science
  • SI221 Data Structures
  • SI200 Information Systems for the Junior Officer

SI204, SI221, SI250, and SI283 may not be used to satisfy a CS major elective requirement. However, SI250 may be used as a "free elective". Also, SI204 can count for IC210.

go to Top