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). |