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


The University of the Philippines has been offering a Masters degree in Computer Science since the late 70s. This was abolished in the early 80s when the BS Computer Science program was established. The new Master of Science in Computer Science Program was reinstituted in November 1995 as a joint program of the Department of Computer Science and the Department of Electrical and Electronics Engineering. Now, the MSCS Program is being administered solely by the Department of Computer Science. The MSCS program aims to provide both breadth and depth of knowledge in the concepts and techniques related to the design, implementation, and application of computer systems. Students are required to take courses, which cover advanced topics in theoretical computer science, computer systems, information systems, and software engineering. Students of the MSCS program are expected to write a thesis under the guidance of a faculty adviser. However, a student may elect to take additional courses in lieu of writing a thesis. Full-time students should be able to complete the program in two years. The MSCS program was revised this March 2001. The revised program reects the very great changes that occurred in the eld of computer science, both in depth and in the variety of new areas that have matured in the last few years. It also reects the broader expertise that has been developed in the UP Diliman Department of Computer Science. The original objectives of the program remain relevant. In addition, there is a need for a more exible curriculum for professional Information Technology (I.T.) practitioners with varying needs and also a need to produce graduates who have more specialized knowledge in some specic area of computer science. The revised curriculum aims to also answer these needs. 3. Applicants must have a general knowledge in Computer Science equivalent to the following undergraduate courses in UP Diliman: a) Math 157 Discrete Mathl Structures b) CS 135 Algorithm Design and Analysis c) CS 140 Operating Systems d) CS 150 Programming Languages e) CS 165 Database Systems f) CS 192 Software Engineering Unsatisfactory background in any of these courses is considered a deciency. Conditional admission may be granted to otherwise qualied applicants, in which case the student will be required to take the appropriate courses in UP Diliman.

Curriculum checklist
Core Courses: One Theory Course One Computer Systems Course One Information Systems Course CS 298 Special Problem 3 units 3 units 3 units 3 units 12 units

In addition, students need to take the following: CS 296 Seminar Thesis Option: Specialization Courses Elective CS 300 Thesis Total for Thesis Option Non-Thesis Option: Specialization Courses Computer Science Elective Elective Total for Non-Thesis Option 12 units 3 units 9 units 37 units 9 units 3 units 6 units 31 units 1 unit

Admission requirements
1. Applicants must have a bachelors degree in Computer Science, Engineering, Mathematics or other elds, which provide a substantial background in computing. 2. Applicants must demonstrate prociency in at least one high-level programming language. 1

The core course in Theory should be taken from among the following: CS 204 Theory of Computation CS 210 Advanced Algorithms and Data Structures

The core course in Computer Systems should be taken from among the following: CS 250 Advanced Operating Systems CS 252 Advanced Computer Architecture CS 255 Advanced Computer Networks The core course in Information Systems should be taken from among the following: CS 220 Advanced Programming Languages CS 260 Advanced Software Engineering CS 270 Advanced Database Systems The Specialization Courses should be taken from one of the following areas: 1. Computational Science and Engineering 2. Computer Systems 3. Information Systems and Software Engineering 4. Intelligent Systems and Human-Computer Interaction 5. Foundations of Computer Science The following are the courses allowed in each of the specialization areas: Computational Science and Engineering: CS 231 Numerical Computing CS 239 Parallel Computing CS 236 Scientic Computing CS 237 Biomedical Informatics CS 242 Scientic Visualization CS 248 Computational Mathematics CS 294 Advanced Topics in Computational Science ES 201 Advanced Mathematical Methods in Engg I ES 202 Advanced Mathematical Methods in Engg II Math 207 Applied Numerical Analysis Math 271 Numerical Analysis Computer Systems: CS 230 Advanced Computer Architecture CS 250 Advanced Operating Systems CS 253 Computer Security CS 255 Advanced Computer Networks CS 256 Computer Systems Performance Analysis CS 257 Distributed Systems CS 258 Mobile Computing CS 259 Network Performance, Modeling and Monitoring CS 293 Advanced Topics in Computer Systems EE 227 Modern VLSI Design EE 267 Real-Time Systems EE 270 Digital Communication I Information Systems and Software Engineering: CS 220 Advanced Programming Languages CS 225 Compiler Design and Construction

CS 270 Advanced Database Systems CS 260 Advanced Software Engineering CS 262 Methods of Software Development CS 291 Advanced Topics in Net-Centric Computing CS 292 Advanced Topics in Software Technology GE 203 Principles of Geographic Information Systems GE 213 Advanced Geographic Information Systems IE 253 Information Systems I IE 254 Information Systems II Intelligent Systems and Human-Computer Interaction: CS 240 Computer Graphics CS 280 Intelligent Systems CS 281 Robotic Systems CS 282 Computer Vision CS 283 Data Mining CS 284 Machine Learning CS 286 Natural Language Understanding CS 287 Speech Processing CS 295 Advanced Topics in Intelligent Systems EE 274 Digital Signal Processing I Foundations of Computer Science: CS 204 Theory of Computation CS 208 Complexity Theory CS 210 Advanced Algorithms and Data Structures CS 214 Parallel Algorithms CS 216 Randomized Algorithms CS 222 Programming Language Theory CS 233 Probabilistic Methods in Computer Science CS 245 Network Optimization CS 247 Cryptography CS 271 Database Theory CS 296 Advanced Topics in Theoretical Computer Science EE 277 Coding and Information Theory Electives: Electives may be taken from any course in any of the areas of specialization above or from other courses approved by the adviser. The following is a list of other suggested electives: CS 297 Special Topics Math 286 Graph Theory and Networks Math 258 Combinatorial Mathematics Math 280 Linear Programming Math 281 Nonlinear Programming Math 282 Integer Programming and Combinatorial Optimization Stat 231 Probability Theory Stat 274 Information Theory Stat 276 Statistics for Geographic Information Systems Stat 277 Statistics for Image Analysis IE 241 Operations Research I IE 242 Operations Research II MBB 390 Bioinformatics TM 202 Technological Innovation TM 255 Technology and Intellectual Property Rights

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 computation; recursive function theory; undecidability. Resource-bounded computational complexity, nondeterminism, NP-completeness. Prerequisite: CS 133 or Consent of Instructor Credit: 3u CS 208 Complexity Theory. Computational models, measures of complexity, complexity classes: nondeterministic, alternating, probabilistic, parallel. Boolean circuits. Complete problems. Prerequisite: CS 204 Credit: 3u CS 210 Advanced Algorithms And Data Structures. Advanced data structures: algorithm design techniques; mathematical techniques in the analysis of algorithms. Prerequisite: CS 135 Credit: 3u CS 214 Parallel Algorithms. Models of parallel computation. Performance measures, scalability, pipelining, techniques for analyzing parallel algorithms. Interconnection network topologies. Applications. Prerequisite: CS 210 Credit: 3u CS 216 Randomized Algorithms. Construction and analysis of randomized algorithms. Expected performance of randomized algorithms, fundamental limitations on probabilistic computations, complexity issues, applications. Prerequisite: CS 135 and Stat 112 or COI Credit: 3u CS 220 Advanced Programming Languages. Comparative study of different types of modern programming languages: imperative, functional, logic-based and object-oriented implementation of a software project using techniques of requirements analysis, design, testing and maintenance. Prerequisite: CS 150 or equivalent Credit: 3u

CS 222 Programming Language Theory. Fundamental concepts underlying all programming languages. Semantic aspects including binding times, visibility, retention, storage management, abstraction mechanisms and extensibility. Operational and denotational semantic specications. Prerequisite: CS 150 or equivalent Credit: 3u CS 225 Compiler Design And Construction. Theory of compiler design and construction; techniques in error correction and recovery; code generation and optimization. Prerequisite: CS 220 Credit: 3u CS 231 Numerical Computing. Algorithm design for numerical computation. Error analysis. Performance evaluation of numerical software. Prerequisite: CS 131 or consent of instructor Credit: 3u CS 233 Probabilistic Methods in Computer Science. Random combinatorial structures and their applications to computer science. Prerequisite: Stat 112 or consent of instructor Credit: 3u CS 236 Scientic Computing. Problems and methods in scientic computing. Applications from science and engineering. Prerequisite: Consent of instructor Credit: 3u CS 237 Biomedical Informatics. Computational methods for managing and analyzing information about biomedical systems. Standards and tools in Biomedical Informatics. Prerequisite: Consent of instructor Credit: 3u CS 239 Parallel Computing. Parallel computer architectures, Programming for parallel architectures. Representation, program dependence, control structures. Prerequisite: Consent of instructor Credit: 3u

CS 240 Computer Graphics. Solid modelling: Euler operators, nite element methods. Rendering: lling, shading, ray tracing. Natural modeling: L-systems, fractals. Image processing: ltering, antialiasing, enhancement. Prerequisite: Consent of instructor Credit: 3u CS 242 Scientic Visualization. Visualization techniques for the analysis and simulation of engineering and scientic data. Topics include study of physical models; two- and three-dimensional data types; visual representation schemes for scalar and vector data; line, surface and volume visualization methods. Prerequisite: Consent of instructor Credit: 3u CS 245 Network Optimization. Algorithms for network optimization problems: shortest paths, maximum ows, minimum cuts, matching, and assignment problem. Applications. Prerequisite: Consent of instructor Credit: 3u CS 247 Cryptography. Primality testing, nite elds, elliptic curves. Protocols: public key cryptography, digital signatures, zero-knowledge proofs, and other cryptographic protocols. Prerequisite: Consent of instructor Credit: 3u CS 248 Computational Mathematics. Overview of computational mathematics. Algorithms for computing with algebraic structures. Computer algebra systems. Prerequisite: Math 157 and CS 135 or equivalent Credit: 3u CS 250 Advanced Operating Systems. Synchronization and communication mechanisms; virtual memory management, le systems, deadlock control, resource allocation, protection and access control. Case study of specialized systems. Prerequisite: CS 140 or equivalent Credit: 3u CS 252 Advanced Computer Architecture. Memory and input-output subsystems; pipeline and vector processing; array processors; multiprocessor architecture and programming. Prerequisite: Consent of instructor Credit: 3u CS 253 Computer Security. Encryption, digital signatures, authentication, key management. Secure electronic commerce. Network Security. File security. Prerequisite: Consent of instructor Credit: 3u

CS 255 Advanced Computer Networks. The ve-layer reference model: physical, data link, network, transport, application. Distributed computing. Networked multimedia systems. Client-server computing. Communication and internetworking. Prerequisite: CS 250 Credit: 3u CS 256 Computer Systems Performance Analysis. Overview of performance evaluation. Measurement techniques and tools. Applications of probability theory and techniques. Experimental design and analysis. Simulation and queuing models. Prerequisite: Consent of instructor Credit: 3u CS 257 Distributed Systems. Computer communications networks and their protocols. Event ordering and synchronization. Deadlocks. Network operating systems and languages for distributed computing. Distributed databases. Fault tolerance and recovery strategies. Applications. Prerequisite: CS 140 or equivalent Credit: 3u CS 258 Mobile Computing. Mobile computing systems. Data management, packet transmission, mobile IP, routing protocols, reliability and issues in mobile wireless networks. Prerequisite: Consent of instructor Credit: 3u CS 259 Network Performance, Modeling and Monitoring. Network Performance Evaluation. Measurement Techniques and Tools. Simulation, queuing models, case studies, practicals. Prerequisite: CS 255 and CS 256 or consent of instructor Credit: 3u CS 260 Advanced Software Engineering. Structured approach to requirements analysis, system design, implementation and maintenance of software systems. Formal description and documentation techniques. Prerequisite: CS 192 or equivalent Credit: 3u CS 262 Methods Of Software Development. Modern approaches to software development. Prototyping and automated tools. Computer Aided Systems Engineering (CASE) methods and tools. Objectoriented Programming Systems (OOPS). Prerequisite: CS 260 Credit: 3u

CS 270 Advanced Database Systems. Data models and their underlying mathematical foundations; database manipulation and query languages; functional dependencies; physical data organization and indexing methods; concurrency control; crash recovery; database security; distributed databases. Prerequisite: CS 250 Credit: 3u CS 271 Database Theory. Relational database model, query languages, domain independence, relational calculus, query optimization, constraints. Prerequisite: CS 165 or equivalent Credit: 3u CS 280 Intelligent Systems. Fundamental issues in Intelligent Systems. Intelligent search and optimization methods. Knowledge representation and reasoning. Learning, natural language understanding, pattern recognition, knowledge-based systems and other methods in intelligent systems. Prerequisite: Consent of instructor Credit: 3u CS 281 Robotic Systems. Biologically-motivated robotic systems. Reactive, deliberative, and hybrid architectures. Knowledge representation for robotics systems. Sensor fusion and perceptual strategies. Adaptation and Social behavior. Prerequisite: CS 280 or equivalent Credit: 3u CS 282 Computer Vision. Image formation. Early vision. Segmentation from texture and motion. Object representation. Matching and inference. Knowledge-based vision. Prerequisite: Consent of instructor Credit: 3u CS 283 Data Mining. Decision trees, association rules, clustering. Intrusion detection. Design and use of serial, distributed and parallel data mining algorithms. Prerequisite: CS 165 and CS 280 or COI Credit: 3u CS 284 Machine Learning. Pattern recognition, parametric and non-parametric learning, decision trees, Bayesian and neural networks, reinforcement learning, genetic algorithms, computational learning theory. Prerequisite: CS 280 or COI Credit: 3u CS 286 Natural Language Understanding. Computational properties of natural languages. Morphological, syntactic and semantic processing from an algorithmic perspective. Models of acquisition and parsing. Prerequisite: CS 280 or COI Credit: 3u 5

CS 287 Speech Processing. Models of speech processing, speech recognition and synthesis. Speech recognition systems. Text-to-speech systems. Applications. Prerequisite: CS 280 or COI Credit: 3u CS 290 Advanced Topics in Theoretical Computer Science. Prerequisite: Consent of instructor Credit: 3u (may be repeated for a maximum of 6 u.; topic should be indicated for record purposes) CS 291 Advanced Topics in Net-Centric Computing. Prerequisite: Consent of instructor Credit: 3u (may be repeated for a maximum of 6 u.; topic should be indicated for record purposes) CS 292 Advanced Topics in Software Technology. Prerequisite: Consent of instructor Credit: 3u (may be repeated for a maximum of 6 u.; topic should be indicated for record purposes) CS 293 Advanced Topics in Computer Systems. Prerequisite: Consent of instructor Credit: 3u (may be repeated for a maximum of 6 u.; topic should be indicated for record purposes) CS 294 Advanced Topics in Computational Science. Prerequisite: Consent of instructor Credit: 3u (may be repeated for a maximum of 6 u.; topic should be indicated for record purposes) CS 295 Advanced Topics in Intelligent Systems. Prerequisite: Consent of instructor Credit: 3u (may be repeated for a maximum of 6 u.; topic should be indicated for record purposes) CS 296 Seminar. Prerequisite: Consent of instructor Credit: 1u CS 297 Special Topics. Prerequisite: Consent of instructor Credit: 3u (may be repeated if topics are different; topic should be indicated for record purposes) CS 298 Special Problems. Prerequisite: completion of 12 u. including 6 u. of specialization courses. Credit: 3u (may be repeated for a maximum of 6 u.; topic should be indicated for record purposes). CS 300 Thesis. Prerequisite: completion of 12 u. including 6 u. of specialization courses. Credit: 6u

You might also like