You are on page 1of 5

Department of Computer Science

University of the Philippines


Diliman, 1101 Quezon City
Telefax: +632 925-2366

MASTER OF SCIENCE IN COMPUTER SCIENCE

Background 3. Applicants must have a general knowledge in Com-


puter Science equivalent to the following undergrad-
The University of the Philippines has been offering a Mas- uate courses in UP Diliman:
ters degree in Computer Science since the late 70s. This
was abolished in the early 80s when the BS Computer a) Math 157 Discrete Mathl Structures
Science program was established. The new Master of b) CS 135 Algorithm Design and Analysis
Science in Computer Science Program was reinstituted
c) CS 140 Operating Systems
in November 1995 as a joint program of the Department
of Computer Science and the Department of Electrical d) CS 150 Programming Languages
and Electronics Engineering. Now, the MSCS Program is e) CS 165 Database Systems
being administered solely by the Department of Computer
f) CS 192 Software Engineering
Science.
Unsatisfactory background in any of these courses
The MSCS program aims to provide both breadth and is considered a deficiency. Conditional admission
depth of knowledge in the concepts and techniques related may be granted to otherwise qualified applicants, in
to the design, implementation, and application of computer which case the student will be required to take the
systems. Students are required to take courses, which appropriate courses in UP Diliman.
cover advanced topics in theoretical computer science,
computer systems, information systems, and software
engineering. Students of the MSCS program are expected Curriculum checklist
to write a thesis under the guidance of a faculty adviser.
However, a student may elect to take additional courses in Core Courses:
lieu of writing a thesis. Full-time students should be able One Theory Course 3 units
to complete the program in two years. One Computer Systems Course 3 units
One Information Systems Course 3 units
The MSCS program was revised this March 2001. The CS 298 Special Problem 3 units
revised program reflects the very great changes that 12 units
occurred in the field of computer science, both in depth
and in the variety of new areas that have matured in the In addition, students need to take the following:
last few years. It also reflects the broader expertise that
has been developed in the UP Diliman Department of CS 296 Seminar 1 unit
Computer Science.
Thesis Option:
The original objectives of the program remain relevant. Specialization Courses 9 units
In addition, there is a need for a more flexible curricu- Elective 3 units
lum for professional Information Technology (I.T.) prac- CS 300 Thesis 6 units
titioners with varying needs and also a need to produce Total for Thesis Option 31 units
graduates who have more specialized knowledge in some
specific area of computer science. The revised curriculum Non-Thesis Option:
aims to also answer these needs.
Specialization Courses 12 units
Computer Science Elective 3 units
Admission requirements Elective 9 units
Total for Non-Thesis Option 37 units
1. Applicants must have a bachelors degree in Com-
The core course in Theory should be taken from among
puter Science, Engineering, Mathematics or other
the following:
fields, which provide a substantial background in
computing.
CS 204 Theory of Computation
2. Applicants must demonstrate proficiency in at least CS 210 Advanced Algorithms and Data Structures
one high-level programming language.

1
The core course in Computer Systems should be taken CS 270 Advanced Database Systems
from among the following: CS 260 Advanced Software Engineering
CS 262 Methods of Software Development
CS 250 Advanced Operating Systems CS 291 Advanced Topics in Net-Centric Computing
CS 252 Advanced Computer Architecture CS 292 Advanced Topics in Software Technology
CS 255 Advanced Computer Networks GE 203 Principles of Geographic Information
Systems
The core course in Information Systems should be taken GE 213 Advanced Geographic Information Systems
from among the following: IE 253 Information Systems I
IE 254 Information Systems II
CS 220 Advanced Programming Languages
CS 260 Advanced Software Engineering Intelligent Systems and Human-Computer Interaction:
CS 270 Advanced Database Systems CS 240 Computer Graphics
CS 280 Intelligent Systems
The Specialization Courses should be taken from one of CS 281 Robotic Systems
the following areas: CS 282 Computer Vision
CS 283 Data Mining
1. Computational Science and Engineering CS 284 Machine Learning
2. Computer Systems CS 286 Natural Language Understanding
CS 287 Speech Processing
3. Information Systems and Software Engineering CS 295 Advanced Topics in Intelligent Systems
EE 274 Digital Signal Processing I
4. Intelligent Systems and Human-Computer
Interaction Foundations of Computer Science:
5. Foundations of Computer Science CS 204 Theory of Computation
CS 208 Complexity Theory
The following are the courses allowed in each of the CS 210 Advanced Algorithms and Data Structures
specialization areas: CS 214 Parallel Algorithms
CS 216 Randomized Algorithms
Computational Science and Engineering: CS 222 Programming Language Theory
CS 231 Numerical Computing CS 233 Probabilistic Methods in Computer Science
CS 239 Parallel Computing CS 245 Network Optimization
CS 236 Scientific Computing CS 247 Cryptography
CS 237 Biomedical Informatics CS 271 Database Theory
CS 242 Scientific Visualization CS 296 Advanced Topics in Theoretical Computer
CS 248 Computational Mathematics Science
CS 294 Advanced Topics in Computational Science EE 277 Coding and Information Theory
ES 201 Advanced Mathematical Methods in Engg I
ES 202 Advanced Mathematical Methods in Engg II Electives:
Math 207 Applied Numerical Analysis Electives may be taken from any course in any of the areas
Math 271 Numerical Analysis of specialization above or from other courses approved
by the adviser. The following is a list of other suggested
Computer Systems: electives:
CS 230 Advanced Computer Architecture
CS 250 Advanced Operating Systems CS 297 Special Topics
CS 253 Computer Security Math 286 Graph Theory and Networks
CS 255 Advanced Computer Networks Math 258 Combinatorial Mathematics
CS 256 Computer Systems Performance Analysis Math 280 Linear Programming
CS 257 Distributed Systems Math 281 Nonlinear Programming
CS 258 Mobile Computing Math 282 Integer Programming and Combinatorial
CS 259 Network Performance, Optimization
Modeling and Monitoring Stat 231 Probability Theory
CS 293 Advanced Topics in Computer Systems Stat 274 Information Theory
EE 227 Modern VLSI Design Stat 276 Statistics for Geographic Information Systems
EE 267 Real-Time Systems Stat 277 Statistics for Image Analysis
EE 270 Digital Communication I IE 241 Operations Research I
IE 242 Operations Research II
Information Systems and Software Engineering: MBB 390 Bioinformatics
CS 220 Advanced Programming Languages TM 202 Technological Innovation
CS 225 Compiler Design and Construction TM 255 Technology and Intellectual Property Rights

2
Department of Computer Science
University of the Philippines
Diliman, 1101 Quezon City
Telefax: +632 925-2366

MASTER OF SCIENCE IN COMPUTER SCIENCE


Course Descriptions

CS 204 Theory of Computation. Formal models of com- CS 222 Programming Language Theory. Fundamen-
putation; recursive function theory; undecidability. tal concepts underlying all programming languages.
Resource-bounded computational complexity, non- Semantic aspects including binding times, visibility,
determinism, NP-completeness. retention, storage management, abstraction mech-
Prerequisite: CS 133 or Consent of Instructor anisms and extensibility. Operational and denota-
Credit: 3u tional semantic specifications.
Prerequisite: CS 150 or equivalent
CS 208 Complexity Theory. Computational models, Credit: 3u
measures of complexity, complexity classes: non-
deterministic, alternating, probabilistic, parallel. CS 225 Compiler Design And Construction. Theory of
Boolean circuits. Complete problems. compiler design and construction; techniques in er-
Prerequisite: CS 204 ror correction and recovery; code generation and op-
Credit: 3u timization.
Prerequisite: CS 220
CS 210 Advanced Algorithms And Data Structures. Credit: 3u
Advanced data structures: algorithm design tech-
niques; mathematical techniques in the analysis of CS 231 Numerical Computing. Algorithm design for
algorithms. numerical computation. Error analysis. Perfor-
Prerequisite: CS 135 mance evaluation of numerical software.
Credit: 3u Prerequisite: CS 131 or consent of instructor
Credit: 3u
CS 214 Parallel Algorithms. Models of parallel compu-
tation. Performance measures, scalability, pipelin- CS 233 Probabilistic Methods in Computer Science.
ing, techniques for analyzing parallel algorithms. In- Random combinatorial structures and their applica-
terconnection network topologies. Applications. tions to computer science.
Prerequisite: CS 210 Prerequisite: Stat 112 or consent of instructor
Credit: 3u Credit: 3u
CS 216 Randomized Algorithms. Construction and CS 236 Scientific Computing. Problems and methods in
analysis of randomized algorithms. Expected perfor- scientific computing. Applications from science and
mance of randomized algorithms, fundamental limi- engineering.
tations on probabilistic computations, complexity is- Prerequisite: Consent of instructor
sues, applications. Credit: 3u
Prerequisite: CS 135 and Stat 112 or COI
Credit: 3u CS 237 Biomedical Informatics. Computational meth-
ods for managing and analyzing information about
CS 220 Advanced Programming Languages. Compara- biomedical systems. Standards and tools in Biomed-
tive study of different types of modern programming ical Informatics.
languages: imperative, functional, logic-based and Prerequisite: Consent of instructor
object-oriented implementation of a software project Credit: 3u
using techniques of requirements analysis, design,
testing and maintenance. CS 239 Parallel Computing. Parallel computer architec-
Prerequisite: CS 150 or equivalent tures, Programming for parallel architectures. Rep-
Credit: 3u resentation, program dependence, control structures.
Prerequisite: Consent of instructor
Credit: 3u

3
CS 240 Computer Graphics. Solid modelling: Euler op- CS 255 Advanced Computer Networks. The five-layer
erators, finite element methods. Rendering: filling, reference model: physical, data link, network, trans-
shading, ray tracing. Natural modeling: L-systems, port, application. Distributed computing. Net-
fractals. Image processing: filtering, antialiasing, worked multimedia systems. Client-server comput-
enhancement. ing. Communication and internetworking.
Prerequisite: Consent of instructor Prerequisite: CS 250
Credit: 3u Credit: 3u
CS 242 Scientific Visualization. Visualization tech- CS 256 Computer Systems Performance Analysis.
niques for the analysis and simulation of engineering Overview of performance evaluation. Measurement
and scientific data. Topics include study of physi- techniques and tools. Applications of probability
cal models; two- and three-dimensional data types; theory and techniques. Experimental design and
visual representation schemes for scalar and vector analysis. Simulation and queuing models.
data; line, surface and volume visualization meth- Prerequisite: Consent of instructor
ods. Credit: 3u
Prerequisite: Consent of instructor
Credit: 3u CS 257 Distributed Systems. Computer communica-
tions networks and their protocols. Event ordering
CS 245 Network Optimization. Algorithms for network and synchronization. Deadlocks. Network operat-
optimization problems: shortest paths, maximum ing systems and languages for distributed comput-
flows, minimum cuts, matching, and assignment ing. Distributed databases. Fault tolerance and re-
problem. Applications. covery strategies. Applications.
Prerequisite: Consent of instructor Prerequisite: CS 140 or equivalent
Credit: 3u Credit: 3u
CS 247 Cryptography. Primality testing, finite fields, CS 258 Mobile Computing. Mobile computing systems.
elliptic curves. Protocols: public key cryptography, Data management, packet transmission, mobile IP,
digital signatures, zero-knowledge proofs, and other routing protocols, reliability and issues in mobile
cryptographic protocols. wireless networks.
Prerequisite: Consent of instructor Prerequisite: Consent of instructor
Credit: 3u Credit: 3u
CS 248 Computational Mathematics. Overview of CS 259 Network Performance, Modeling and Monitor-
computational mathematics. Algorithms for com- ing. Network Performance Evaluation. Measure-
puting with algebraic structures. Computer algebra ment Techniques and Tools. Simulation, queuing
systems. models, case studies, practicals.
Prerequisite: Math 157 and CS 135 or equivalent Prerequisite: CS 255 and CS 256 or consent of in-
Credit: 3u structor
Credit: 3u
CS 250 Advanced Operating Systems. Synchroniza-
tion and communication mechanisms; virtual mem- CS 260 Advanced Software Engineering. Structured
ory management, file systems, deadlock control, approach to requirements analysis, system design,
resource allocation, protection and access control. implementation and maintenance of software sys-
Case study of specialized systems. tems. Formal description and documentation tech-
Prerequisite: CS 140 or equivalent niques.
Credit: 3u Prerequisite: CS 192 or equivalent
Credit: 3u
CS 252 Advanced Computer Architecture. Memory
and input-output subsystems; pipeline and vector CS 262 Methods Of Software Development. Modern
processing; array processors; multiprocessor archi- approaches to software development. Prototyping
tecture and programming. and automated tools. Computer Aided Systems
Prerequisite: Consent of instructor Engineering (CASE) methods and tools. Object-
Credit: 3u oriented Programming Systems (OOPS).
Prerequisite: CS 260
CS 253 Computer Security. Encryption, digital signa- Credit: 3u
tures, authentication, key management. Secure elec-
tronic commerce. Network Security. File security.
Prerequisite: Consent of instructor
Credit: 3u

4
CS 270 Advanced Database Systems. Data models and CS 287 Speech Processing. Models of speech process-
their underlying mathematical foundations; database ing, speech recognition and synthesis. Speech
manipulation and query languages; functional de- recognition systems. Text-to-speech systems. Ap-
pendencies; physical data organization and index- plications.
ing methods; concurrency control; crash recovery; Prerequisite: CS 280 or COI
database security; distributed databases. Credit: 3u
Prerequisite: CS 250
Credit: 3u CS 290 Advanced Topics in Theoretical Computer Sci-
ence.
CS 271 Database Theory. Relational database model, Prerequisite: Consent of instructor
query languages, domain independence, relational Credit: 3u (may be repeated for a maximum of 6 u.;
calculus, query optimization, constraints. topic should be indicated for record purposes)
Prerequisite: CS 165 or equivalent
Credit: 3u CS 291 Advanced Topics in Net-Centric Computing.
Prerequisite: Consent of instructor
CS 280 Intelligent Systems. Fundamental issues in In- Credit: 3u (may be repeated for a maximum of 6 u.;
telligent Systems. Intelligent search and optimiza- topic should be indicated for record purposes)
tion methods. Knowledge representation and rea-
soning. Learning, natural language understanding, CS 292 Advanced Topics in Software Technology.
pattern recognition, knowledge-based systems and Prerequisite: Consent of instructor
other methods in intelligent systems. Credit: 3u (may be repeated for a maximum of 6 u.;
Prerequisite: Consent of instructor topic should be indicated for record purposes)
Credit: 3u CS 293 Advanced Topics in Computer Systems.
CS 281 Robotic Systems. Biologically-motivated robotic Prerequisite: Consent of instructor
systems. Reactive, deliberative, and hybrid archi- Credit: 3u (may be repeated for a maximum of 6 u.;
tectures. Knowledge representation for robotics sys- topic should be indicated for record purposes)
tems. Sensor fusion and perceptual strategies. Adap- CS 294 Advanced Topics in Computational Science.
tation and Social behavior. Prerequisite: Consent of instructor
Prerequisite: CS 280 or equivalent Credit: 3u (may be repeated for a maximum of 6 u.;
Credit: 3u topic should be indicated for record purposes)
CS 282 Computer Vision. Image formation. Early CS 295 Advanced Topics in Intelligent Systems.
vision. Segmentation from texture and motion. Prerequisite: Consent of instructor
Object representation. Matching and inference. Credit: 3u (may be repeated for a maximum of 6 u.;
Knowledge-based vision. topic should be indicated for record purposes)
Prerequisite: Consent of instructor
Credit: 3u CS 296 Seminar.
Prerequisite: Consent of instructor
CS 283 Data Mining. Decision trees, association rules, Credit: 1u
clustering. Intrusion detection. Design and use
of serial, distributed and parallel data mining algo- CS 297 Special Topics.
rithms. Prerequisite: Consent of instructor
Prerequisite: CS 165 and CS 280 or COI Credit: 3u (may be repeated if topics are different;
Credit: 3u topic should be indicated for record purposes)
CS 284 Machine Learning. Pattern recognition, para- CS 298 Special Problems.
metric and non-parametric learning, decision trees, Prerequisite: completion of 12 u. including 6 u. of
Bayesian and neural networks, reinforcement learn- specialization courses.
ing, genetic algorithms, computational learning the- Credit: 3u (may be repeated for a maximum of 6 u.;
ory. topic should be indicated for record purposes).
Prerequisite: CS 280 or COI
Credit: 3u CS 300 Thesis.
Prerequisite: completion of 12 u. including 6 u. of
CS 286 Natural Language Understanding. Computa- specialization courses.
tional properties of natural languages. Morphologi- Credit: 6u
cal, syntactic and semantic processing from an algo-
rithmic perspective. Models of acquisition and pars-
ing.
Prerequisite: CS 280 or COI
Credit: 3u