The BS Computer Science curriculum is composed of 153 units that can be completed in four years or eight semesters:
The foundation courses are courses in mathematics, physics, and statistics that which provide a necessary foundation for courses in computer science.
CODE | TITLE | DESCRIPTION | UNITS |
---|---|---|---|
Math 18 | Precalculus Mathematics | Polynomial functions and their zeros; rational and rational power functions; polynomial and rational inequalities; circular functions and their inverses; exponential and logarithmic functions; hyperbolic functions and their inverses; vector in two dimensions; matrices and determinants; systems of equations and inequalities; conics; parametric curves; polar and parametric equations | 5 units |
Math 53 | Calculus I | Limits and continuity; differentiation; derivatives of algebraic and trigonometry functions; extrema of functions; optimization; antidifferentiation; definite integrals; applications of integrals | 4 units |
Math 54 | Calculus II | Integration techniques; further applications of definite integrals; separable differential equations; infinite sequences and series; calculus with polar and parametric curves; three-dimensional space; vectors; quadric surfaces | 4 units |
Math 55 | Calculus III | Vector functions and their derivatives and integrals; multivariable functions and their limits and continuity; partial derivatives; directional derivatives; extrema of multivariable functions; cylindrical and spherical coordinates; multiple integrals; line integrals; surface integrals | 4 units |
Physics 71 | Elementary Physics I | Mechanics of particles, rigid bodies, and fluids | 4 units |
Physics 71.1 | Elementary Physics I Laboratory | An elementary physics laboratory that deals with the concepts in classical mechanics | 1 unit |
Stat 105 | Introduction to Statistical Analysis | Organization and presentation of data; probability functions; random variables; elements of statistical inference; analysis of variance | 3 units |
These required courses provide a general and foundational understanding of programming, algorithms, and data structures. Additionally, they facilitate the development of core competencies in research and professional practice in the field of Computer Science.
CODE | TITLE | DESCRIPTION | UNITS |
---|---|---|---|
CMSC 10 | Introduction to Computer Science | History, fundamental concepts, and applications of computer science; social issues in computing | 1 units |
CMSC 11 | Fundamentals of Programming 1 | Fundamental structures in programming; concepts in program and algorithm design | 3 units |
CMSC 12 | Fundamentals of Programming 2 | Introduction to object-oriented programming; classes; inheritance; polymorphism; and exception handling. Design and implementation of object-oriented programs. API programming | 3 units |
CMSC 13 | Survey of Programming Paradigms | Overview of programming paradigms | 3 units |
CMSC 56 | Discrete Mathematical Structures in Computer Science 1 | Principles of logic, set theory, relations and functions, Boolean algebra and linear algebra | 3 units |
CMSC 57 | Discrete Mathematical Structures in Computer Science 2 | Principles of combinatorics, probability, algebraic systems, numerical methods, operations research and graph theory | 3 units |
CMSC 122 | Data Structures and Algorithms 1 | Abstract data types, complexity analysis, linear collections, stacks and queues, sorting algorithms, elementary symbol table, hash tables, game trees | 3 units |
CMSC 123 | Data Structures and Algorithms 2 | Graphs, graph algorithms, tries, substring search, regular expression, data compression, algorithmic design patterns, linear programming, intractability | 3 units |
CMSC 195 | Practicum | 3 units | |
CMSC 196 | Undergraduate Seminar | 1 units | |
CMSC 199.1 | Research in Computer Science I | Methods and problems of research in Computer Science | 3 units |
CMSC 199.2 | Research in Computer Science II | Conduct of research in Computer Science | 3 units |
The major courses cover the different aspects of computer science.
Students must earn thirty-nine (39) credits from these major courses listed below.
CODE | TITLE | DESCRIPTION | UNITS |
---|---|---|---|
CMSC 121 | Internet Technologies | Programmer-oriented introduction to current internet technologies, web authoring and internet security; Design and development of web applications using modern Internet tools. | 3 units |
CMSC 124 | Automata and Language Theory | Finite automata and regular languages; push-down automata and context-free languages; Turing machine and recursively enumerable sets; linear-bounded automata and context-free languages; computability and halting problem; undecidable problems; recursive functions; and computational complexity | 3 units |
CMSC 125 | Operating Systems | Processor management, memory management, file and disk management, resource management, networks and distributed systems | 3 units |
CMSC 127 | File Processing and Database Systems | Data models: relational, network, hierarchical models. Database management system data definition and manipulation language. Data security, integrity, synchronization, protection and recovery | 3 units |
CMSC 128 | Introduction to Software Engineering | Software life cycle from the requirement specification and design phases to the construction of actual software, including planning a software project, cost estimation, software design, implementation, validation and software maintenance | 3 units |
CMSC 129 | Software Project Management | Software project management principles; project management processes and practices, including software estimation, project planning, monitoring, staffing, resource allocation, and risk management; key performance indicators; change management | 3 units |
CMSC 130 | Logic Design and Digital Computer Circuits | Data representation and computer arithmetic; logic functions and equations; description, analysis and design of combinational and sequential circuits; functional properties of digital integrated circuits | 3 units |
CMSC 133 | Computer Organization and Architecture with Assembly Programming | Introduction to computer organization, computer architecture, and assembly programming; fundamentals of computer design; machine-level data representation; assembly-level machine organization; MIPS processors; I/O architectures, and memory hierarchy; interfacing and communication | 3 units |
CMSC 135 | Data Communication and Networking | Basic principles in data communications and networking; Reference models and network layers: design issues, network principles and protocols; Distributed computing and distributed resources; Overview of networking and communication software; Network cabling; Network security | 3 units |
CMSC 141 | Design and Implementation of Programming Languages | Study of the fundamental concepts in the design and implementation of the current high-level programming languages; syntax and translation; language definition structures, elementary and structured data types, abstraction mechanisms, sequence and data control, runtime considerations | 3 units |
CMSC 175 | Introduction to Computer Security | Theories and concepts in computer and application security | 3 units |
CMSC 189 | Technical Writing for Computer Science | Theory and practice in writing scientific papers | 3 units |
CMSC 192 | Computing, Ethics, and Society | Intellectual property, social issues, and professional ethics in computing | 3 units |
Qualified elective courses enable students to further their knowledge and skills in a more specialized application domain in computer science, such as machine intelligence, software engineering and information systems, networks and distributed systems, and multimedia analysis. Students may also use the 18 units for qualified electives to earn a minor from among the approved minor programs in UPTC. Alternatively, they may opt to take any of the elective courses in computer science, mathematics, management, and social sciences listed below. Students may take all their electives within one domain or combine elective courses from different domains.
CODE | TITLE | DESCRIPTION | UNITS |
---|---|---|---|
CMSC 170 | Introduction to Artificial Intelligence | Fundamental principles of artificial intelligence; Search methods; Knowledge representation and reasoning; Agents; Machine learning and neural networks; Current research applications | 3 units |
CMSC 171 | Expert Systems and Knowledge Engineering | Expert system shells and architectures; knowledge representation languages; uncertainty handling; techniques of knowledge elicitation and acquisition; rule-based expert systems; knowledge organization and management | 3 units |
CMSC 172 | Computing with Symbolic Expressions | Basic discrete mathematics, sets, functions, and predicates. Functional programming in LISP or PROLOG: function and declarative programming; atoms and lists; list processing by recursive functions; mapping functions; local function binding; data abstraction and evaluation | 3 units |
CODE | TITLE | DESCRIPTION | UNITS |
---|---|---|---|
CMSC 140 | Advanced Programming | Intermediate programming PL/1 procedures; block structures; ON conditions; recursion; introduction to data structures and program analysis | 3 units |
CMSC 151 | System Analysis and Design | Systems analysis and design; concepts, philosophies, trends, tools and techniques. System development life cycle; structured methodologies; data flow diagrams; entity relationship diagrams; relational analysis; other design and methodologies | 3 units |
CMSC 152 | Management Information Systems | Fundamental principles of management; information management; general systems model and approach; data processing systems. The MIS approach; executive; marketing; manufacturing; financial and human resource information systems | 3 units |
CMSC 154 | Fundamentals of Geographic Information Systems | Introduction to geographic information systems; spatial analysis; georeferencing; digitizing; cartography; applications of GIS | 3 units |
CMSC 155 | Fundamentals of Remote Sensing | Introduction to remote sensing; principles of remote sensing; supervised and unsupervised classification of satellite imagery; processing of satellite imagery; image interpretation; spectral indices calculation; remote sensing applications in GIS | 3 units |
CMSC 174 | Introduction to Quantitative Trading Simulations | Statistical and technical analysis and rule-based strategy for trading in the financial markets | 3 units |
CMSC 180 | Computer Simulation and Modeling | Algorithms and packages for standard-graphics; advanced 2-D and 3-D rendering techniques; realism; visualization of scientific data. Use of statistical tools techniques, knowledge in expert system and artificial intelligence for data representation | 3 units |
CODE | TITLE | DESCRIPTION | UNITS |
---|---|---|---|
CMSC 176 | Introduction to Distributed Systems | Distributed computing models, naming, synchronization, replication and consistency, fault tolerance and security | 3 units |
CMSC 180 | Computer Simulation and Modeling | Algorithms and packages for standard-graphics; advanced 2-D and 3-D rendering techniques; realism; visualization of scientific data. Use of statistical tools techniques, knowledge in expert system and artificial intelligence for data representation | 3 units |
Math 140 | Graph Theory | Relations, relegraphs and their fundamental concepts, network theory, trees and forests, tournament, planar graphs, K-colorable graphs | 3 units |
CODE | TITLE | DESCRIPTION | UNITS |
---|---|---|---|
CMSC 161 | Interactive Computer Graphics | Graphics systems software and hardware, 2D drawing algorithms, geometrical transformations, surface modeling, 3D viewing, visible surface determination algorithms, illumination and reflection models, shading models for polygons, color theory, ray tracing. Students write their 3D rendering engine. | 3 units |
CODE | TITLE | DESCRIPTION | UNITS |
---|---|---|---|
CMSC 197 | Special Topics | This qualified elective can be taken twice for a total of six (6) units. The description of the Special Topics courses completed by students shall be recorded for reference. | 3 units |
Math 121.1 | Elementary Differential Equations | Ordinary differential equations; Total differential equations; Partial differential equations of the first and second orders | 3 units |
Math 127 | Vector Analysis | Vector algebra and calculus. Invariants. Green's theorem. Stoke's theorem. Gauss' theorem. Applications to geometry and physics | 3 units |
Math 197 | Special Topics in Mathematics | 3 units | |
Mgt 101 | Introduction to Management | 3 units | |
Soc Sci 105 | Elementary Physics I Laboratory | Gender Issues in the Philippine Society | 3 unit |
As a part of the holistic preparation and development of students in the program, they are required to complete 12 GE courses, the legislated course PI 100 course (The Life and Works of Jose Rizal), four Physical Education courses, and two National Service Training Service Program courses.