The UPLB 2018 BSCS CURRICULUM

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

INSTITUTE OF COMPUTER SCIENCE

College of Arts and Sciences


University of the Philippines Los Baños

THE BS COMPUTER SCIENCE PROGRAM


THE INSTITUTE
The Institute of Computer Science (ICS) was established on January 26, 1995 by the UP Board of Regents. ICS was
formerly the Division of Computer Science and Computer Science Laboratory of the Institute of Mathematical
Sciences and Physics, UPLB, since 1983. ICS was also the system institute for computer sciences of the whole UP
system. Its objectives are:
❖ to assist UP System units and other academic institutions offer computer science courses and programs as part of
the general computer literacy program and/or formal degree programs,
❖ to produce the needed quality manpower for the software industry of the Philippines and the manpower needed
to carry out the information processing functions of private and government institutions,
❖ to carry out high-level research and development to enhance locally produced computer hardware and software,
and
❖ to continuously upgrade the computing personnel of industries and government through training and other
extension activities.

THE UNDERGRADUATE PROGRAM


The BS Computer Science (BSCS) curriculum was initially offered by UPLB in 1983, the first of its kind in UP
system, if not in the country at that time. The program aims to produce graduates that can work in the computer/IT
industry and who are well-equipped to pursue graduate studies in computer science. A solid technical background
complemented by genuine experience on real systems provide the students with the necessary tools to handle the
most demanding aspects of systems development, data management, and the science of computing. Graduates are
well-placed in the industry and government, not only in the Philippines, but also abroad.
The present curriculum is based on the recommendations of the ACM/IEEE-Computer Society Joint Curriculum
Task Force. The curriculum provides a broad-based and coherent convergence of computer science and information
technology. Students develop a practical level of understanding about the subject areas of the discipline, as well as an
appreciation in the interrelationships among these areas. Students are also trained in the methodologies of computing
research and development. Specialized courses are offered as electives to ensure depth of study in some subject areas.

ADMISSION
New freshman students are admitted to the program through the UP College Admission Test. An undergraduate
student of UPLB who wishes to shift to the program must apply in writing to the Office of the College Secretary of the
College of Arts and Sciences. Non-UPLB students wishing to transfer to the program must apply in writing to the
Office of the University Registrar.
To be considered for admission, a shiftee/transferee must have completed at least 34 academic units, which include
algebra and trigonometry. Moreover, he or she must have a general weighted average (GWA) of 2.00 or better in all
academic units earned.
THE 2018 BSCS CURRICULUM

First Year Third Year


1st Semester Hrs Units 1st Semester Hrs Units
CMSC 12 Foundations of Computer Science 5 3 COMM 10 Critical Perspective in Communication 3 3
CMSC 56 Discrete Mathematical Structures in 5 3 CMSC 124 Design and Implementation of 5 3
Computer Science I Programming Languages
ETHICS 1 Ethics and Moral Reasoning in 3 3 CMSC 125 Operating Systems 5 3
Everyday Life CMSC 132 Computer Architecture 5 3
MATH 27 Analytic Geometry & Calculus II 3 3 CMSC 141 Automata and Language Theory 5 3
STS 1 Science, Technology and Society 3 3 CMSC 170 Introduction to Artificial Intelligence 5 3
HK 11 Wellness and Basic Injury Management (2) (2) 18
15 2nd Semester
2nd Semester CMSC 128 Introduction to Software Engineering 5 3
ARTS 1 Critical Perspectives in the Arts 3 3 CMSC 137 Data Communications and Networking 5 3
CMSC 21 Fundamentals of Programming 5 3 CMSC 142 Design and Analysis of Algorithms 5 3
CMSC 57 Discrete Mathematical Structures in 5 3 CMSC 173 Human-Computer Interaction 5 3
Computer Science II CMSC 180 Introduction to Parallel Computing 5 3
MATH 28 Analytic Geometry & Calculus III 3 3 GE GE Elective 3 3
KAS 1 / Kasaysayan ng Pilipinas / Philippine 3 3 18
HIST 1 History Midyear
HK 12 or 13 Human Kinetics Activities or Advanced (2) (2) CMSC 198 Practicum 3
Human Kinetics Activities 3
15 Fourth Year - Thesis Option
Second Year 1st Semester Hrs Units
1st Semester Hrs Units CMSC 199 Undergraduate Seminar 1 1
CMSC 22 Object-Oriented Programming 5 3 CMSC 200 Undergraduate Thesis 3
CMSC 123 Data Structures 5 3 ENG 10 Writing of Scientific Papers 3 3
CMSC 130 Logic Design and Digital Computer 5 3 GE GE Elective 3 3
Circuits ELECTIVE Free Elective 3
CMSC 150 Numerical & Symbolic Computation 5 3 ELECTIVE Free Elective 3
PI 10 The Life and Works of Jose Rizal 3 3 16
HK 12 or 13 Human Kinetics Activities or Advanced (2) (2) 2nd Semester
Human Kinetics Activities CMSC 200 Undergraduate Thesis 3
NSTP 1 National Service Training Program I (3) (3) GE GE Elective 3 3
15 ELECTIVE Free Elective 3
2nd Semester ELECTIVE Free Elective 3
CMSC 23 Mobile Computing 5 3 ELECTIVE Free Elective 3
CMSC 100 Web Programming 5 3 15
CMSC 127 File Processing and Database Systems 5 3 Fourth Year - SP Option
CMSC 131 Introduction to Computer Organization 5 3 1st Semester Hrs Units
and Machine-Level Programming CMSC 190 Special Problem 1
STAT 101 Statistical Methods 5 3 CMSC 199 Undergraduate Seminar 1 1
HK 12 or 13 Human Kinetics Activities or Advanced (2) (2) ENG 10 Writing of Scientific Papers 3 3
Human Kinetics Activities GE GE Elective 3 3
NSTP 2 National Service Training Program II (3) (3) ELECTIVE Free Elective 3
15 ELECTIVE Free Elective 3
ELECTIVE Free Elective 3
17
2nd Semester
CMSC 190 Special Problem 2
GE GE Elective 3 3
ELECTIVE Free Elective 3
ELECTIVE Free Elective 3
ELECTIVE Free Elective 3
14

In summary, the curriculum has a total of 130 units divided into:


▪ 27 units of GE with 9 units of required GE
▪ 30 units of foundation courses
▪ 55 (SP option) or 58 (Thesis option) units of core major courses including practicum, and SP or thesis
▪ 18 (SP option) or 15 (Thesis option) units of free electives
In consultation with the academic adviser, free electives may be chosen from the following areas: Computer
Science, Mathematics, Applied Mathematics, Statistics, Engineering, Management, Economics, Education, Biology,
and Agriculture, among others.
GE or General Education is a part of the General Education Program where students can select courses within the GE
framework. Required GE courses:
ARTS 1 Critical Perspectives of the Arts
PI 10 The Life and Works of Rizal
COMM 10 Critical Perspectives in Communication
ETHICS 1 Ethics and moral reasoning in everyday life
KAS 1/HIST 1 Kasaysayan ng Pilipinas
STS 1 Science, Technology, and Society
Some elective GE courses:
MATH 10 Mathematics, Culture, and Society
PHILARTS 1 Philippine, Arts, and Culture
SAS 1 Self and Society
SCIENCE 10 Probing the Physical World
SCIENCE 11 Living Systems, concepts and dynamics
WIKA 1 Wika, Kultura, at Lipunan

UNDERGRADUATE COURSES
CMSC 2 Introduction to the Internet (3 units). Tools and services of the Internet, Internet protocols, search
engines, file transfer protocol (FTP), email, list servers and hypertext markup language (HTML)
programming (1,2). Prerequisite: None.
CMSC 11 Introduction to Computer Science (3 units). Introduction to the major areas of computer science;
software systems and methodology; computer theory; computer organization and architecture. Students
learn to write programs using high-level block-structured programming language (1,2).
Prerequisite: MATH 11 or MATH 17
CMSC 12 Foundations of Computer Science (3 units). An overview of the major areas of computer science.
(1,2,M). Prerequisite: None.
CMSC 21 Fundamentals of Programming (3 units). Introduction to computer programming using a procedural
high-level language. Program design, testing and debugging. (1,2,M) Prerequisite: CMSC 12.
CMSC 22 Object-Oriented Programming (3 units) Objects, design and implementation of object-oriented
programs (1,2) Prerequisite: CMSC 12.
CMSC 23 Mobile Computing (3 units). Methods and techniques for developing mobile applications. (1,2)
Prerequisite: CMSC 22.
CMSC 56 Discrete Mathematical Structures in Computer Science I (3 units). Principles of logic, set theory,
relations and functions, Boolean algebra and linear algebra. (1,2) Prerequisite: None.
CMSC 57 Discrete Mathematical Structures in Computer Science II (3 units). Principles of combinatorics,
probability, algebraic systems and graph theory. (2,M) Prerequisite: CMSC 56.
CMSC 100 Web Programming (3 units). Design and implementation of web applications (1,2) Prerequisite: CMSC
22.
CMSC 123 Data Structures (3 units). Abstract data types and implementation; lists, stacks, queues, trees, mappings,
sets and graphs, searching and sorting techniques; dynamic storage management. (1,2) Prerequisites:
CMSC 21 & CMSC 57 or COI.
CMSC 124 Design and Implementation of Programming Languages (3 units). Study of the fundamental concepts
in the design and implementation of current high-level programming languages; syntax and translation;
language definition structures; elementary and structured data types; abstraction mechanisms; sequence
and data control; run time considerations. (1) Prerequisite: CMSC 123 or COI.
CMSC 125 Operating Systems (3 units). Processor management, memory management, file and disk management,
resource management, concurrent processes, networks and distributed systems. (1) Prerequisite: CMSC
123 or COI.
CMSC 127 File Processing and Database Systems (3 units). Data models: relational, network and hierarchical
models; Database management system, data definition and manipulation language; Data security,
integrity, synchronization, protection and recovery; Principal database systems and query languages.
(1,2) Prerequisite: CMSC 22 or COI .
CMSC 128 Introduction to Software Engineering (3 units). Software life cycle from the requirement specification
and design phases through the construction of actual software; topics include planning a software
project, cost estimation, software design, implementation and software maintenance (2) Prerequisite:
CMSC 123 or COI.
CMSC 129 Principles of Compiler Design (3 units). Fundamental concepts in the design and implementation of
compilers: lexical analysis, syntax analysis, intermediate code generation, code generation and
optimization. (Elective, 2) Prerequisite: CMSC 124.
CMSC 130 Logic Design and Digital Computer Circuits (3 units). Data representation and computer arithmetic;
logic functions and equations; description, analysis and design of combinatorial and sequential circuits;
functional properties of digital integrated circuits. (1) Prerequisite: CMSC 57.
CMSC 131 Introduction to Computer Organization and Machine-Level Programming (3 units). An introduction
to computer organization and interfaces between hardware and software; microcomputer systems; basic
compiler organization, interfacing, interrupt mechanisms; assembly language programming; Machine
vs. Assembly vs. High-level language, data structure representation, program control implementations,
subroutines, parameter passing, recursion, direct video graphics, serial port communications. (2)
Prerequisite: CMSC 21 or COI.
CMSC 132 Computer Architecture (3 units). Advanced topics in computer systems organization from a designer's
point of view: multiprocessing, pipelining, array processors, associative processors; Microprogramming,
techniques for increasing primary memory bandwidths; Modularization, interleaving, access path
widening, cache and associative memories; Virtual memory; Bus structures; Multiprogramming and
time-sharing organizations; Network principles and protocols; Distributed resources. (1) Prerequisite:
CMSC 131.
CMSC 137 Data Communications and Networking (3 units). Basic principles of data communications; design
issues and protocols in the layers of data network; networks for various applications. (2) Prerequisite:
CMSC 125.
CMSC 141 Automata and Language Theory (3 units). Finite automata and regular languages; push-down
automata and context-free languages. Turing machines and enumerable sets: linear-bounded automata
and context free languages, compatibility and the halting problem; undecidable problems; recursive and
recursively-enumerable languages and computational complexity. (1,2) Prerequisite: CMSC 123 or COI.
CMSC 142 Design and Analysis of Algorithms (3 units). Algorithm design techniques; use of data structures,
divide and conquer, dynamic, programming, greedy techniques, local and global search, complexity
analysis of algorithms, asymptotic analysis, worst case and average case, recurrences, lower bounds.
NP-completeness. (1,2) Prerequisite CMSC 123 or COI.
CMSC 150 Numerical and Symbolic Computation (3 units). Computational problem solving; sources of errors in
computation; iterative approximation methods and symbolic algebra; mathematical software libraries
and symbolic manipulation packages. (1) Prerequisite: CMSC 21.
CMSC 161 Interactive Computer Graphics (3 units). Graphics systems software and hardware, 2D drawing
algorithms, geometrical transformations, surface modeling, 3D viewing, visible surface determination
algorithms, reflection and illumination models, shading models for polygons, color theory, ray tracing,
animation. Students write their 3D rendering engine. (Elective, 2) Prerequisite: CMSC 123 or COI.
CMSC 165 Digital Image Processing (3 units). Methods for acquiring, creating, manipulating, enhancing and
analyzing digital images. (Elective,1) Prerequisite: CMSC 123 or COI.
CMSC 170 Introduction to Artificial Intelligence (3 units). Basic principles and applications of artificial
intelligence: knowledge representation, natural language processing, pattern recognition and expert
systems. (1) Prerequisite: CMSC 123.
CMSC 172 Robot Modeling (3 units). Robotics manipulators and their characteristics; conversion from joint space
to real world coordinates; inverse kinematics; workspace analysis; differential motion. (Elective,2)
Prerequisite: CMSC 123.
CMSC 173 Human-Computer Interaction (3 units). Theory, design methodologies, and programming practices in
Human-Computer Interaction. (1,2) Prerequisites: CMSC 123 and STAT 101.
CMSC 180 Introduction to Parallel Computing (3 units) Parallel computational models, machine architectures,
performance models, algorithms, and programming. (2) Prerequisite: CMSC 132.
CMSC 190 Special Problem (3 units) To be enrolled twice; once as one-unit course to prepare for a proposal, then
as a two-unit course to implement the proposal. (1,2,S) Prerequisite: COI.
CMSC 191 Special Topics (3 units). (Elective,1,2) Prerequisite: CMSC 123
CMSC 198 Practicum (3 units). (M) Prerequisite: COI.
CMSC 199 Undergraduate Seminar (1 unit). (1,2) Prerequisite: COI.
CMSC 200 Undergraduate Thesis (6 units). (1,2,S) Prerequisite: COI.
FLOWCHART OF THE 2018 BS COMPUTER SCIENCE CURRICULUM

You might also like