BS Computer Science major in Computer Systems Engineering
Degree Codes: Program- BSCS Plan- BSCS-CSE


The Computer System Engineering (CSE) program combines a computer science curriculum with selected subjects in computer engineering, combining synergistically the power of digital computers with analog electronics, electromechanical systems and computer software. Curriculum tracks specializing in embedded systems, mobile robotics, digital signal processing, and system automation are offered. With these, students in this program gain the knowledge of developing application-specific computer-based systems, with emphasis on real-time systems and automation. Computer System Engineering graduates can pursue careers as microprocessor systems designers, embedded system engineers, test engineers, and system software developers. Possessing excellent hard and soft skills, CSE graduates are ready to be productive individuals in the IT and allied industries.

CSE CheckList 2011-2015) (pdf/56kb)

Total number of units required:*
Total number of academic units: 188
Total number of non-academic units: 12.5
Total number of trimesters: 12

Choices for Specialized tracks:

Robotics Track:


  • Electronic Circuit Design
  • The PIC Microcontrollers and Applications
  • Fundamentals of Mobile Robots
  • Digital Image Processing

DSP Track:


  • Data Compression Algorithms
  • Real Time DSP
  • Speech Processing
  • Digital Image Processing

* Applicable to curriculum of Academic Year 2010-2011 only. Subject to revisions in the future without prior notice.

Course Descriptions

Basic Computer Concepts (BASICON)
3 units
This course provides an overview of computers, number systems, data types and representations, digital logic systems, assembly and machine language, compilers and translators, operating systems, internetworking, human computer interactions, and intelligent systems

Basic Electronic Circuits (BASELEC)
3 units
This course introduces the student to the analysis and design of circuits using the basic electronic devices employed in computer hardware applications. A supervised group project provides the student with an opportunity to experience hands-on electronic circuit design and fabrication of real-world applications.

Complexity and Algorithm (COMALGO)
3 units
This course gives an introduction to theory of computation and algorithm analysis. There are three main areas of discussion: formal languages and automata theory, algorithm analysis, and computational complexity. This course will emphasize on algorithm analysis and computational complexity which have more applications in practice. Topics covered in this course include: asymptotic analysis, average-case and worse-case analyses, recurrence analysis, amortized analysis, well-known classical algorithms, computational complexity analysis, NP-completeness, and approximation algorithms. In addition, general approaches to developing efficient algorithms, such as divide-and-conquer, greedy method, dynamic programming, and randomization, will be introduced.

Fundamentals of Computer Organization and Architecture (COMPORG)
3 units
This course covers design considerations for implementing components of the von neumann computer, namely, the central processing unit, memory and I/O peripherals.

Computer Architecture (COMPARC)
3 units
This course covers design issues of computer architecture specifically on pipeline and instruction set design.

Computer Programming in Assembly Language (COMPASM)
3 units
This is a lecture course on Assembly language programming and the supplementary introduction on interfacing assembly code with C language programs.

Introduction to Computer Programming 1 (COMPRO1)
3 units
This course covers the fundamentals of logic formulation and computer programming using the C programming language. It serves as a foundation for future courses that the students will encounter throughout the Computer Science program. This course is coupled with a lab component.

Advanced C Programming (COMPRO2)
3 units
This advanced course for computer programming in C covers the representation and manipulation of C data structures. This course, like COMPRO1, serves as a foundation for future courses that the students will encounter throughout the Computer Science program. This course is coupled with a lab component.

Computer Systems Engineering Elective 1 to 4 (CSELEC1 to 4)
3 units each
Various courses allowing the students to specialize in a particular field of interest connected with computer systems engineering; choices of electives vary such as electronic circuit design, PIC microcontroller and application, fundamental of mobile robot, digital image processing, compression algorithm and techniques, real-time DSP, speech processing.

Mathematics for CSE/NE (CT-MATH)
3 units
This course covers background mathematical skills for computer systems design, and engineering.

Computer Systems Engineering Research Methods (CTRESME)
2 units
A course on methods of research where students learn the steps on how to do a research projects; a thesis proposal should be produced at the end of the course.

Introduction to Feedback Control Systems (FBKCTRL)
3 units
This course covers classical techniques for designing continuous-time feedback control systems. It covers system modeling, analysis, as well as compensation. Analysis of stability of feedback systems using root-locus, bode diagrams, nyquist plots, as well as the use of computer-aided design tools are also discussed.

Introduction to Data Structure and Algorithms (DASALGO)
3 units
This is a one-term introductory course in Data Structures and Algorithms. Topics include, but not limited to: representation and operations on linear and non-linear data structures (arrays, lists, stacks, queues, graphs, trees, heaps), applications of data structures, types of file organizations, hashing, and analysis of algorithms.

Digital Electronics (DIGITAL)
3 units
This Course is on the design and analysis of digital circuits. This course covers both combinational and sequential (synchronous and asynchronous) logic circuits with emphasis on solving digital problems using hardwired structures of the complexity of medium and large-scale integration.

Basic Digital Signal Processing (BASCDSP)
3 units
This course covers the fundamental concepts and practical applications of Digital Signal Processing.

Discrete Structures (DISCTRU)
3 units
This is a one-term introductory course in Discrete Mathematics. Topics include, but not limited to: propositional and predicate logic, set theory, sequences, summations, matrices, relations and functions, integers and algorithms, proof rules and techniques, mathematical reasoning and induction, recurrences.

Basic Electronic Communications System (ELECOMM)
3 units
Presents the general principles of electronic communication systems at a circuit and systems level. Emphasis is given on signal processing functions of various modulation and demodulation operations.

Digital Image Processing (IMAGPRO)
3 units
This course covers the fundamental concepts and practical application of Digital Signal Processing.

Introduction to Databases (INTRODB)
3 units
The course covers the basic theories behind databases, data models and database analysis and design. The course will tackle different data models but will concentrate mainly on relational databases, being the most commonly used today. The course introduces learners to concepts on conceptual design of databases using the concepts of the Entity-Relationship (ER) model and normalization, relational model, relational database design and database query languages.

Introduction to Software Engineering (INTROSE)
3 units
This course provides an overview of software engineering as a discipline concerned with the application of theory, knowledge, and practice for effectively and efficiently building software systems. It introduces the students to the fundamental principles and methodologies of software engineering. It focuses on the concepts and principles of software requirements engineering, its tools, techniques, and methods for modeling software systems. Various approaches to requirements analysis and review activities are examined.

Laboratory for Basic Electronic Circuits (LBYBELC)
1 unit
The laboratory experiments in this subject are designed to supplement concepts presented in the course BASELEC

Laboratory for Digital Electronics (LBYDIGT)
1 unit
The laboratory experiments in this subject are designed to supplement concepts presented in the course DIGITAL

Laboratory for Electronics Communications Theory (LBYELCM)
1 unit
The laboratory experiments in this subject are designed to supplement concepts presented in the course ELECOMM

Laboratory Linear Circuits (LBYLINC)
1 unit
The laboratory experiments in this subject are designed to supplement concepts presented in the course LINCIRC

Laboratory for Microprocessor/Microcontroller Tech 1 (LBYMCP1)
1 unit
The laboratory experiments in this subject are designed to supplement concepts presented in the course LBYMCP1

Laboratory for Microprocessor/Microcontroller Tech 2 (LBYMCP2)
1 unit
The laboratory experiments in this subject are designed to supplement concepts presented in the course LBYMCP2

Laboratory for AC/DC Network Analysis (LBYNTAN)
1 unit
The laboratory experiments in this subject are designed to supplement concepts presented in the course NTANALY

Linear Circuits (LINCIRC)
3 units
This course introduces the students to applications using selected linear integrated circuits and special electronic devices employed in computer hardware applications. A supervised group project provides the student with an opportunity to experience hands-on electronic circuit design and fabrication in real-world applications.

Microprocessor/Microcontroller Technology 1 (MICPRC1)
3 units
This course is an introduction to small microprocessor-based systems with simple input/output concepts and peripherals. The course utilizes the Motorola M68HC11 microcontroller as the basic microprocessor, and also focuses on the peripheral functions integrated into the microcontroller. Lecture are complemented with weekly laboratory meeting to provide much-needed hands-on experience for the student

Microprocessor/Microcontroller Technology 2 (MICPRC2)
3 units
This course presents advanced topics in microprocessor technology focusing on the PC architecture, including direct memory access, advanced memory technology, and industry-standard interfaces.

Introduction to Mobile Robots (MOBIROB)
3 units
This course provides an introduction to mobile robots specifically construction, locomotion, sensors fusion, computer control, collision avoidance and path planning of wheeled, small-scale robots. Coverage is from basic (motor fundamentals, interfacing sensors, using pre-built Lego Mindstorm blocks) to intermediate levels of depth (path planning, navigation, sensor fusion, locomotion performance, collision avoidance).

Modeling, Simulation and Statistics (MODESTA)
3 units
This course covers simulation, which refers to a broad collection of methods to mimic the behavior of real systems. The main focus of this course is on building logical or mathematical models of systems and analyzing these models. Different types of simulation models such as Static, Dynamic, Continuous, Discrete, Deterministic and Stochastic models are discussed. This course also covers mathematical preliminaries to simulation such as pseudo-random number generation and an introduction to probability and statistics, which provide essential tools for conducting meaningful simulation.

Network Fundamentals (NTCORE1)
3 units
This course covers basic networking topics that allow the student to design and implement SOHO networks. Topics include use of network protocol models to explain the layers of communication in data networks; design and implementation of subnet masks and addresses; build simple Ethernet networks using routers and switches; employ basic cabling and network designs to connect devices; use basic Cisco CLI commands to perform basic router and switch configuration and verification; and analyze the operations and feature of the transport and network layer protocols and services.

Network Analysis (NTANALY)
3 units
This course introduces the basic electrical circuit sources and components. The major methods of network analysis are discussed and compared with the help of numerous sample problems based on real-world applications.

Object-oriented Programming using Java (OBJECTP)
3 units
This course provides the students with the fundamental understanding of object-oriented technology. It also introduces the different concepts that are commonly associated with object-oriented programming such as threading, event-driven programming, etc. using Java as the programming language.

The PIC Microcontrollers and Applications (PICCTRL)
3 units
This course introduces the student to the PIC range of microcontrollers and goes into the specifics of the Microchip PIC16F84 and 16F877 microcontrollers to ensure understanding and familiarization. Projects will ensure that students will be able to interface and apply these microcontrollers to small-scale, real-time requirements that abound today.

Practicum for CSE Students (PRC-CSE)
1 unit
On-the-job training course during the summer period of the junior year.

Real Time DSP (RLTMDSP)
3 units
The course discusses real-time DSP concepts, architecture and programming

Speech Processing (SPCHPRO)
3 units
Speech processing course is an elective course focusing on the applications of digital signal processing on speech recognition. Emphasis will be placed on various digital speech representations and parameter estimation techniques for the design of a speech processing system. Topics include speech models and characteristics, differential pulse code modulation, short-time Fouries analysis and synthesis, and linear predictive coding.

Computer Systems Engineering Special Elective 1 to 3 (SPELEC1 to 3)
3 units each
This course covers Special course under CCS; choice of electives vary such as technopreneurship, professional ethics, and foreign languages.

Computer Systems Engineering Thesis 1 (THSCE-1)
2 units
In this course, the thesis group presents the design of the system which is defined through the research objectives, scope and limitation.

Computer Systems Engineering Thesis 2 (THSCE-2)
2 units
This course is the second stage of the thesis program for CSE students. In this course, an enrolled thesis group will be submitting a conference paper containing a substantial portion of their research, for review and approval by the designated thesis committee/panel.

Computer Systems Engineering Thesis 3 (THSCE-3)
2 units
This course is the final stage of the thesis program for CSE students. In this course, enrolled thesis groups will be defending the final design and implementation of their system prototypes satisfying the objectives defined in their thesis proposal stage.

Web Application Development (WEBDEVE)
3 units
This course provides an overview of web application development as a discipline concerned with the implementation of theory, application of knowledge, and realization of practice. It introduces the students to the principles and processes of web-based systems. It focuses on the analysis of needs of an online application and the tools available to answer these needs.