Académique Documents
Professionnel Documents
Culture Documents
1
BS Computer Science Degree Requirements for
2012 class and onwards
Total Credit Hours: 132*
University Core: 28
SSE Core: 40
Major Requirements: 64
Major Core Courses: 45
Major Elective Courses: 12
Free Electives: 7
2
* For the classes upto the class of 2011 this requirement is 130 credit hours.
Please see details in the document.
3
Computer Science Major Required Courses
CS 1xx Computational Problem Solving (University Core)
This course introduces students to the use of computers in modeling and solving real-world scientific
problems. The course will be practical in nature, containing several lab assignments and a project,
involving mechanics simulations, optimization problems and monte-carlo simulations. Concepts of time
and space complexity of algorithms, error propagation and estimation will be introduced.
4
CS 3xx Theory of Automata (3)
The course introduces some fundamental concepts in automata theory and formal languages including
grammar, finite automaton, regular expression, formal language, pushdown automaton, and Turing
machine. Not only do they form basic models of computation, they are also the foundation of many
branches of computer science, e.g. compilers, software engineering, concurrent systems, etc. The
properties of these models will be studied and various rigorous techniques for analyzing and comparing
them will be discussed, by using both formalism and examples.
5
Computer Science Elective Courses
Computer Science Elective courses will be offered under three streams:
6
Sample Curriculum: BS Computer Science
Sophomore
Junior
Senior
University core
SSE core
CS major requirement
7
Transition of Current BSc (Hons) Classes
The following transition guidelines are only for the classes’ upto the class of 2011.
Starting from the class of 2012 the students must use the new semester–based
curriculum to plan their courses for fulfilling computer science major
requirements.
The registrar office will issue separate guidelines to fulfill the university core
requirements in the semester system. All CS majors must follow those
requirements to fulfill their university core requirements.
Mathematics Requirement:
At minimum the students must have take the following two courses either in the
quarter system or the semester system:
• Linear Algebra
• Probability
CS Major Requirements:
In semester credit hours a CS major must have taken at least 54 credit hours of
computer science courses including all core and elective courses but excluding
CS101. However, if a student has taken another course instead of CS101 please do
not count that course towards your major requirement.
Please see the succeeding pages to see the CS major requirements for the
respective classes of 2010 and 2011.
Free Electives:
The CS degree requirement is 130 credit hours for the classes upto 2011 class. The
remaining credit hours after fulfilling your university requirements, mathematics
requirements, CS major requirements are free electives. Please use these
8
electives to take courses from anywhere in the university so that the total sum of
your degree requirement is 130 credit hours at the end.
Class of 2010
Computing Structures
Data Structures
Logic Design
Computer Organization
Discrete Mathematics 1
Discrete Mathematics 2
Principles of Programming Languages
Operating Systems 1
Operating Systems 2
Software Engineering 1
Software Engineering 2
Software Engineering 3
Theory of Automata
Analysis Algorithms
Databases
However, if a student has not taken a course or has not been able to
pass a course from the aforementioned list, the relevant course
mappings are given in appendix 1 for retake of the course to fulfill the
requirements.
9
In the academic year 2009-2010 this class is expected to take the senior
year design project. Moreover, four elective computer science courses
are expected from this class during its final year.
10
Class of 2011
The class of 2011 will follow the requirement of their curriculum for the
first two years. According to these requirements the class should have
completed the following courses:
Computing Structures
Data Structures
Logic Design
Computer Organization
Discrete Mathematics 1
Discrete Mathematics 2
Principles of Programming Languages
If a student has missed a course or has not been able to pass one of the
aforementioned courses, please see appendix 1 for a course mapping.
Fall 2009-2010
Algorithms
Operating Systems
Spring 2009-2010
Software Engineering
Theory of Automata
Databases
In the year 2010-2011 the students are expected to take the senior year
design project. Moreover, during the next two years the students are
also expected to take five elective courses in computer science.
11
Appendix 1
If a student has not been able to complete a course requirement in the
quarter system, the following mapping should be used for a course
retake:
12