Division of Natural Sciences and Mathematics

Bachelor of Science in Computer Science

Curriculum

The BS Computer Science curriculum is composed of 153 units that can be completed in four years or eight semesters:

Foundation Courses (25 units)

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

Core Courses (32 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

Major Courses (39 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 (18 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.

A. Machine Intelligence

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

B. Software Engineering and Information Systems

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

C. Networks and Distributed Systems

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

D. Multimedia Processing and Analysis

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

E. Other Qualified Courses

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

Other required courses

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.