Courses for CS majors

Tentative Schedule

Tentative Scheduling layout on a yearly basis can be accessed from the department webpage. This gives a layout of all CS courses by time/quarter which should be the starting point for planning out your schedule. However, you should consult the GET system for an actual class listing for each quarter. Scheduling pattern for all courses is indicated below:

Required Courses : Scheduling Pattern

Course Title Fall Winter Spring Summer
CS101 Introduction to Higher Education
CS120 Introduction to Website Development
CS122 Using Relational Databases and SQL
CS201 Introduction to Programming (Java)
CS202 Introduction to Object Oriented Programming (Java)
CS203 Programming with Data Structure (Java)
CS245 Using Operating System & Network for Programmers
CS301 Computer Ethics in the Information Age
CS312 Data Structures & Algorithms
CS320 Web and Internet Programming
CS332F Functional Programming
CS332L Logic Programming
CS332C C++ Object Oriented Programming
CS337 Software Design
CS386 Introduction to Automata Theory
CS437 Software Engineering
CS440 Introduction to Operating System
CS490 Computer Science Recapitulation
CS491A Software Design Laboratory
CS491B Software Design Laboratory

Elective Courses : Scheduling Pattern

Course Title Fall Winter Spring Summer
CS340 Assembly Language & Systems Programming
CS345 UNIX & Shell Programming
CS350 Foundations of Computer Graphics
CS370 Parallel & Distributed Programming
CS420 Web Applications Architecture
CS422 Principles of Data Base Systems
CS447 Computer Networks
CS450 Computer Graphics – II
CS451 Multimedia Software Systems
CS454 Topics in Advanced CS (varies)
CS460 Artificial Intelligence
CS461 Machine Learning
CS470 Computer Networking Protocols
CS480 Cryptography and Information Security
CS486 Computability & Intractability
CS488 Compilers
CS499 UG Directed Study (varies)