Admission Requirements
    Exemptions
    Academic Calendar
    Calendar of Events
    Module Preference Exercise
    SoC Course Schedule
    SoC Module Description
    Student Honours Roll
    Univ Scholars Programme
    NUS Overseas Colleges
    Student Exchange
    Programme
    Undergraduate Research
    Opportunities Programme
    Special Programme in
    Computing
    Advanced Technology
    Attachment Programme
    B.Comp. Dissertation (FYP)

 

  Home > Undergraduate Studies
   
  Bachelor of Computing in Computer Engineering
 

 

Degree Structure

Overview

The B.Comp. (Computer Engineering) programme is offered by the Department of Computer Science, School of Computing . It focuses on software development for embedded systems.

With steady advances in integrated circuit technology driven by Moore 's law, the cost of microprocessors has dropped significantly. Increasingly, various embedded system domains are witnessing the wide use of software to achieve tasks which were previously accomplished via dedicated hardware. This trend is pronounced in diverse application domains ranging from the critical (avionics) to the mundane (consumer electronics). Such software based system designs lead to lower cost, and increased flexibility/maintainability. The purpose of this programme is to position the student to fully take advantage of this trend. Consequently, a substantial part of the program comprises comprehensive and rigorous training in Computer Science and Software Engineering skills. A team-based embedded-systems design project is included to give the student a holistic view of the entire hardware/software design cycle.

The programme objectives are:

  • To develop the necessary skills and knowledge required for a career in computer engineering with an emphasis on embedded applications.
  • To develop a good understanding of the relevant mathematics and electrical engineering. To acquire solid foundations in computer science fundamentals including data structures, operating systems, computer networking; and a good grounding in software engineering skills.
  • To develop an awareness of the social responsibilities of a computer engineer, especially in relation to safety and sustainability.
  • To develop the necessary skills to do independent research, including but not limited to understanding and formulating the problem, conducting relevant literature reviews, and solving the problem with substantiated conclusions.
  • To develop the skills to design and formulate experiments, interpreting the data generated and synthesizing valid conclusions based on this data.
  • To provide an environment that nurtures independent thinking and life-long learning.

The success of the students on the B.Comp. (Computer Engineering) programme is to be measured according to the following learning outcomes:

  • Possess a strong knowledge of computer science, software engineering, embedded systems and fundamentals of electrical engineering and mathematics..
  • Ability to collect and evaluate system specifications, produce efficient and practical designs, implement and validate the systems on a family of hardware platforms, with or without a real-time operating system. Graduates will also be able to verify that the final design meets the specifications.
  • Be able to communicate effectively, and work productively in cross-disciplinary teams.
  • Possess intellectual curiosity and a desire for life-long learning.
  • Understand their responsibilities to society, particularly along the dimensions of ethical behavior, safety, environmental protection and sustainability.

The B.Comp. (Computer Engineering) programme begins with a strong foundation in basic computer science, including programming methodology, data structures and computer organisation. Strong mathematical training is also emphasized, together with electrical engineering knowledge particularly in digital logic design and signal processing. It then proceeds to impart software engineering skills to build substantial and complicated software systems in large teams, as well as knowledge of how to design, build and verify embedded systems.

Degree Requirements

The Computer Engineering programme degree requires at least 160 MCs. Modules are classified as follows (note that every module can only be counted towards satisfying exactly one requirement):

(i) PROGRAMME REQUIREMENTS (Total of 120 MCs)

Common Essentials

CS1101C

Programming Methodology

CS1102C

Data Structures and Algorithms

CS2100

Computer Organisation

CS2102S

Database Systems

CS2105

Introduction to Computer Networks

Major Requirements

Computer Science Related

CS1105 Computing and Society

CS1231 Discrete Structures

CS2106 Operating Systems

CS2103 Software Engineering

CS2271 Embedded Systems

CS3215 Software Engineering Project *

CS3220 Computer Architecture

CS3230 Design and Analysis of Algorithms

CS4101 Honours Project

CS4273 Embedded Software Design Project

Complete 16 MCs by taking modules from the following CE Programme Elective List, with at least 12 MCs from level-4 or higher.

CE Programme Elective List:

CS3103 Computer Networks and Protocols%

CS3211 Parallel and Concurrent Programming

CS3212 Programming Languages

CS4212 Compiler Design

CS4222 Wireless Computing & Sensor Networks

Modules in area A7

Other relevant courses approved by the Department of Computer Science.

Mathematics Related

MA1301 Introductory Mathematics

MA1505 Mathematics I

MA1506 Mathematics II

An ST-coded module on Discrete probabilities&

Electrical Engineering Related

EG1108 Electrical Engineering

EE2006 Digital Design

EE2009 Signals

Others

CS2301 Business and Technical Communication

 

(ii) UNIVERSITY LEVEL REQUIREMENTS

(iii) UNRESTRICTED ELECTIVES

 

University Scholars Programme (Computer Engineering)

Students in the University Scholars Programme who choose the Bachelor of Computing (Computer Engineering) major will take the Computer Engineering programme, but with the following variations:

1. They will not be required to read University Level Requirements (20 MCs)

(These are replaced by appropriate First-Tier Scholars Modules.)

2. They will read UROP modules CS3208 and CS3209 in place of CS3215 (Software Engineering Project). CS3208 and CS3209 are independent study modules (ISMs) and they will also be counted as two of the four Advanced Scholars Modules (8 MCs).

3. They will read modules from the Computer Engineering Elective list to fulfil 116 MCs (instead of 120 MCs) of the major requirement.

4. They will have 4 (instead of 20) MCs under Unrestricted Electives.

 

Summary of degree requirements for Bachelor of Computing (Honours) in Computer Engineering

Modules

MCs

Subtotals

UNIVERSITY LEVEL REQUIREMENTS

20

PROGRAMME REQUIREMENTS

120

Common Essentials

 

 

CS1101C Programming Methodology

4

 

CS1102C Data Structures and Algorithms

5

 

CS2100 Computer Organisation

4

 

CS2102S Database Systems

5

 

CS2105 Introduction to Computer Networks

4

 

Major Requirements

 

 

Computer Science Related

 

 

CS1105 Computing and Society

3

CS1231 Discrete Structures

4

 

CS2106 Operating Systems

4

 

CS2103 Software Engineering

4

 

CS2271 Embedded Systems

4

 

CS3215 Software Engineering Project *

8

 

CS3220 Computer Architecture

4

 

CS3230 Design and Analysis of Algorithms

4

 

CS4101 Honours Project

12

 

CS4273 Embedded Software Design Project

4

Modules from CE Elective List, with 12 MCs at level-4 or higher

16

 

Science Related

 

 

A Discrete Probabilities module &

4

 

Electrical Engineering Related

 

 

MA1301 Introductory Mathematics

4

 

MA1505 Mathematics I

4

 

MA1506 Mathematics II

4

 

EG1108 Electrical Engineering

3

 

EE2006 Digital Design

4

 

EE2009 Signals

4

 

Others

 

 

CS2301 Business and Technical Communication

4

 

UNRESTRICTED ELECTIVES

20

Grand Total

 

160

*: CS3215 may be replaced by CS3208/CS3209 Undergraduate Research in Computing I/II with the special permission from the UROP coordinator if the project involves significant programming content.

%: Students who take CS3103 (Computer Networks and Protocols) must also take CS3103L (Computer Networks Laboratory).

&: An ST-coded module on Discrete Probability can be ST1232 (Statistics for Life Sciences) or ST2131 (Probability).

 

Enquiries
Page Maintained by: Ms TOH Mui Kiat

 



© Copyright 2001-08 National University of Singapore. All Rights Reserved