You are on page 1of 2

Department of Computer Science

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

BACHELOR OF SCIENCE IN COMPUTER SCIENCE


Course Descriptions

CS 11 Computer Programming I. Introduction to Computer Science. Problem-solving strategies. Algorithm development. Coding conventions. Debugging. Fundamental programming constructs: types, control structures, functions, I/O. Basic data structures. Corequisite: Math 17 or equivalent Credit: 3u (2lec, 3 lab) CS 12 Computer Programming II. Advanced programming techniques. Recursion. Abstract data types: stacks, queues, linked structures. Programming interfaces. Introduction to object-oriented programming: classes, inheritance, polymorphism. Event-handling. Exception handling. API programming. Prerequisite: CS 11 Credit: 3u (2lec, 3 lab) CS 21 Computer Organization and Assembly Language Programming. Machine level representation of data. Assembly level machine organization. Assembly/machine language programming. Memory system organization and architecture. Interfacing and communication. Functional organization. Multiprocessing and alternative architectures. Prerequisite: CS 12 or ES 26 or equivalent Credit: 4u (3lec, 3 lab) CS 32 Data Structures. Concepts, algorithms and applications of complex data structures: tables, trees, graphs, heaps, generalized lists, multilinked structures. Basic algorithmic techniques and analysis: sorting algorithms, hash tables, binary search trees, and balanced trees. Prerequisite: CS 12 or ES 26 or equivalent Credit: 3u CS 120 Internet Technologies. Programmer-oriented survey of contemporary authoring, distributing, browsing, client-server and other technologies. Role, use and implementation of current Internet tools. Security and Privacy issues. Prerequisite: CS 32 or Consent of Instructor Credit: 3u CS 130 Mathematical Methods in Computer Science. Vector Spaces. Linear transformations. Matrices and determinants. Ordinary differential equations and systems of ordinary differential equations; Fourier series; Laplace transforms. Prerequisite: Math 55 Credit: 3u 1

CS 131 Numerical Methods. Interpolation, numerical differentiation and integration, numerical solution of algebraic and transcendental equations, systems of linear equations, and ordinary and partial differential equations. Prerequisite: CS 12 and CS 130 Credit: 3u CS 133 Automata Theory and Computability. Finite automata and regular expressions. Context free grammars and pushdown automata. Turing machines, Churchs thesis, complexity classes and undecidability. Prerequisite: Math 157 Credit: 3u CS 134 Computational Complexity. Time complexity; the classes P and NP; NPcompleteness; the polynomial hierarchy; space complexity; intractability. Prerequisite: CS 133 Credit: 3u CS 135 Algorithm Design and Analysis. Algorithm analysis: asymptotic analysis, time and space tradeoffs, recurrence relations. Greedy, divide-and-conquer, heuristics, and other algorithm design strategies. Fundamental computing algorithms for sorting, selection, trees and graphs. Intractability and approximation. Prerequisite: CS 32 and Math 157 Credit: 3u CS 137 Computer Algebra. Arithmetic in basic algebraic domains; the Euclidean algorithm; polynomial GCDs and resultants; polynomial factorization. Prerequisite: CS 135 or Consent of Instructor Credit: 3u CS 140 Operating Systems. Survey of operating systems. Memory management: virtual memory, segmentation, paging, fetch and replacement policies. Processor and process management: scheduling, concurrency, synchronization and mutual exclusion, deadlock. Device management. Security. File systems: sequential, direct access, and indexed sequential les. Implementation of File Organization. Prerequisite: CS 21 Credit: 3u

Department of Computer Science


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

CS 145 Computer Networks. Network Models and layers; terminal and le transfer protocols; message handling protocols; concurrency; network interconnection; distributed computation; overview of networking and communication software. Prerequisite: CS 140 Credit: 3u (2 lec, 3 lab) CS 150 Programming Languages. History and overview of programming languages. Programming paradigms: imperative, functional, object-oriented, logical. Type systems. Data and execution control. Declaration and modularity. Introduction to syntax and semantics. Introduction to language translation. Prerequisite: CS 32 Credit: 3u CS 155 Compiler Construction. Grammar specication, lexical analysis, parsing techniques, semantic analysis, code generation and optimization, run-time storage administration, error detection and recovery. Prerequisite: CS 133 and CS 150. Credit: 3u CS 160 File Processing. Logical and physical le structures. Secondary storage devices. Sequential, direct and indexed les. Single-key and multiple-key retrieval. Data compression. Implementation of le organizations. Prerequisite: CS 32 Credit: 3u CS 165 Database Systems. Database concepts: data independence, architecture, models, administration, relational algebra and calculus, normalization, query optimization, concurrency, recovery. Survey of database management systems. Prerequisite: CS 135 Credit: 3u CS 171 Topics in Theoretical Computer Science. Prerequisite: Consent of Instructor Credit: 3u (may be repeated for a maximum of 6 units; topic should be indicated for record purposes) CS 172 Topics in Net-Centric Computing. Prerequisite: Consent of Instructor Credit: 3u (may be repeated for a maximum of 6 units; topic should be indicated for record purposes) CS 173 Topics in Software Technology. Prerequisite: Consent of Instructor Credit: 3u (may be repeated for a maximum of 6 units; topic should be indicated for record purposes)

CS 174 Topics in Computer Systems. Prerequisite: Consent of Instructor Credit: 3u (may be repeated for a maximum of 6 units; topic should be indicated for record purposes) CS 175 Topics in Computational Science. Prerequisite: Consent of Instructor Credit: 3u (may be repeated for a maximum of 6 units; topic should be indicated for record purposes) CS 176 Topics in Intelligent Systems. Prerequisite: Consent of Instructor Credit: 3u (may be repeated for a maximum of 6 units; topic should be indicated for record purposes) CS 180 Articial Intelligence. Fundamental principles of articial intelligence. Search methods. Knowledge representation and reasoning. Agents. Machine learning and neural networks. Current research applications. Prerequisite: CS 32 and Consent of Instructor Credit: 3u CS 192 Software Engineering. Software engineering concepts; implementation of a software project using techniques of requirements analysis, design, testing and maintenance. Prerequisite: CS 150 Credit: 3u (2 lec, 3 lab) CS 195 Practicum. Prerequisite: CS 192 Credit: 3u (180 h) CS 196 Seminar on Ethical and Professional Issues in Computing. Prerequisite: Senior Standing Credit: 1u CS 197 Special Topics. Prerequisite: Senior standing Credit: 3u (may be repeated for a maximum of 6 units; topic should be indicated for record purposes) CS 198 Special Problems I. Prerequisite: CS 192 Credit: 3u (1 lec, 6 lab) CS 199 Special Problems II. Prerequisite: CS 198 Credit: 3u (1 lec, 6 lab)

You might also like