Undergraduate program
The Department of Computer Science offers one program for undergraduates: the Bachelor of Science in Computer Science (B.Sc. C.S.) program.
Latest revision - 2018
The B.Sc. C.S. curriculum was last revised in 2018 in response to the nation-wide shift to a K-12 education system. With 148 units taken over four years (including one required mid-year term - for internship), the 2018 curriculum takes into account the latest developments and trends in the field of Computer Science, feedback from the industry, new competencies from students produced by the K-12 primary/secondary school system (with particular focus on graduates of the Science, Technology, Engineering and Mathematics (STEM) strand), and recommendations from professional bodies such as the Association of Computing Machinery (through its Curriculum Guidelines for Undergraduate Degree Programs in Computer Science, 2013).
Curriculum design principle
The 2018 curriculum is designed to be fundamentals-driven, emphasizing core principles and competencies that would enable the students (and eventual graduates) to adapt and learn new skills in an ever-changing technological and professional landscape. As such, very few, if any, of the courses in the curriculum cater to a specific technology (Java, Cisco, etc.) or skill (object-oriented programming, web programming, drone programming, etc.). The students would learn these technologies/skills, but they would do so in the context of these technologies/skills being used in learning more fundamental courses (e.g., object oriented programming through the programming language course, mobile/web programming through the software engineering course), most of which are reinforced with laboratory units to foster learning and experimentation ("learning by doing").
Specialization
The B.Sc. C.S. degree has no explicit specialization which appears in the diploma or transcript (e.g. Bachelor of Science in Computer Science, Major in Network Technologies). This is partly in observance of the general principle of making the program fundamentals-driven, and partly to encourage the students to take charge of their own learning through electives and additional courses they may take in the University. Nevertheless, the students do end up having a de-facto specialization of sorts, since membership in one of the Department's eight research laboratories/groups is required for taking up CS 198/199/200 (Special Project I/Special Project II/Undergraduate Thesis). The year-long project undertaken by the student under one of the research laboratories, combined with electives and additional courses, serve as the specialization mechanisms of the curriculum.
B.Sc. C.S. Curriculum Checklist
*****First year***** | ___________ | ___________ | |
First Semester | 19 units | Second Semester | 17 units |
GE (Kas 1) | 3 | GE (Socsci 1/Socsci 2) | 3 |
GE (Philo 1) | 3 | CS 12 (Computer Programming II) | 3 |
CS 10 (Introduction to Computing) | 3 | CS 31 (Discrete Mathematics for CS II) | 3 |
CS 11 (Computer Programming I) | 3 | Math 22 (Elementary Analysis II) | 4 |
CS 30 (Discrete Mathematics for CS I) | 3 | Physics 71 (Elementary Physics I) | 4 |
Math 21 (Elementary Analysis I) | 4 | PE | (2) |
PE | (2) | ||
---------------------------- | |||
*****Second year***** | |||
First Semester | 18 units | Second Semester | 17 units |
GE (Eng 13) | 3 | GE (Speech 30) | 3 |
CS 20 (Digital Electronics and Circuits) | 3 | CS 21 (Computer Organization and Architecture) | 4 |
CS 32 (Data Structures and Algorithms I) | 4 | CS 33 (Data Structures and Algorithms II) | 4 |
Math 23 (Elementary Analysis III) | 4 | CS 136 (Elementary Numerical Computing I) | 3 |
Physics 72 (Elementary Physics II) | 4 | Math 40 (Linear Algebra) | 3 |
PE | (2) | PE | (2) |
NSTP | (3) | NSTP | (3) |
---------------------------- | |||
*****Third year***** | |||
First Semester | 20 units | Second Semester | 17 units |
GE (Fil 40) | 3 | GE (Eng 30) | 3 |
CS 138 (Elementary Numerical Computing II) | 3 | CS 145 (Computer Networks) | 4 |
CS 140 (Operating Systems) | 4 | CS 153 (Introduction to Computer Security) | 3 |
CS 150 (Programming Languages) | 3 | CS 180 (Artificial Intelligence) | 3 |
CS 165 (Database Systems) | 4 | CS 192 (Software Engineering II) | 3 |
CS 191 (Software Engineering I) | 3 | CS 194 (Undergraduate Research Seminar) | 1 |
---------------------------- | |||
*****MIDYEAR***** | 3 units | ||
CS 195 (Practicum) | 3 | ||
---------------------------- | |||
*****Fourth year***** | |||
First Semester | 18 units | Second Semester | 19 units |
GE (STS 1/DRMAPS) | 3 | GE (Arts 1) | 3 |
GE (Free Choice) | 3 | CS 132 (Introduction to Data Science) | 3 |
CS 133 (Automata Theory and Complexity) | 3 | CS 155 (Compiler Construction) | 3 |
CS 198 (Special Project I) | 3 | CS 196 (Seminar on EPIC) | 1 |
Elective (Free Choice) | 3 | CS 199/200 (Special Project II) | 3 |
Elective (Engg 150) | 3 | Elective (CS) | 3 |
PI 100 | 3 | ||
TOTAL NUMBER OF UNITS IN THE PROGRAM: 148 UNITS |