Computer Science Courses
Required Courses
- SI210 Intro to Computer Science
- SI211 Object-Oriented Programming
- SI220 Computer Architecture and Organization
- SI242 Discrete Structures for Computing
- SI266 Systems Programming
- SI312 Data Structures
- SI322 Computer Networks
- SI335 Computer Algorithms
- SI340 Theory of Computing
- SI342 Theory of Computing
- SI413 Programming Languages and Implementation
- SI447 Software Engineering
- SI448 Research Seminar/Capstone
Major Electives
In addition to the Systems Elective, SCS majors must additionally take at least **three** of the following- SI350 Web & Internet Programming
- SI420 Artificial Intelligence
- SI425 Natural Language Processing
- SI436 Distributed Systems
- SI440 Database Systems
- SI458 High Performance Computing
- SI459 Binary Analysis & Exploitation
- SI460 Computer Graphics
- SI470 Machine Learning and Data Science
- SI475 Intelligent Robotics
- 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
- IT472 Mobile OS Development
Non-Majors Courses
- SI200 Information Systems for the Junior Officer
- SI204 Introduction to Computer Science
- SI221 Data Structures
- SI268 Programming for Everyone
SI204 can count for SI210.
Systems Electives
SCS majors must take at least one of the following: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.
