Computer Engineering Programme
The Departments of Computer Science and Electrical & Computer Engineering jointly offer a Bachelor of Engineering in Computer Engineering (CEG) programme.
The Computer Engineering programme produces graduates with a solid and balanced foundation in both hardware and software skills required to create computing systems. A uniquely multidisciplinary programme, CEG transcends the traditional boundary of computer science and electrical engineering. The CEG programme has been designed based on the Conceive-Design-Implement-Operate framework that places much emphasis on teamwork and aims to develop mature individuals who can work effectively in teams and communicate professionally. A major thrust of this programme is to train students to be technically competent to design-build-and-operate complex value-added computing systems in a modern team-based engineering environment. Graduates will have the opportunity to consolidate this experience through a unique year-long industrial attachment, and through overseas work and/or learning experience. Graduates will be able to attain significant knowledge and abilities in key technologies for real-time embedded systems, computer networking and wireless communication systems, medical imaging and information systems, intelligent control systems, and many others. In the workplace, computer engineers span a wide range of skills introducing intelligence into every conceivable device — from the smart phones and MP3 players to massive industrial control systems. They create the electronic systems in a modern car containing dozens of computing systems communicating through a network. They connect the physical world with cyberspace to enhance everything from entertainment to healthcare and the environment.
The educational objectives of the BEng (Computer Engineering) programme is to graduate students who, 5 years after their graduation,
- are technically competent to solve complex problems in computer engineering and can adapt effectively in a fast changing environment
- are able to critically think, analyse and make decisions that give due consideration to global issues in business, ethics, society and the environment
- are able to communicate effectively, act with integrity, and have the inter-personal skills needed to engage in, lead, and nurture diverse teams
- are committed to lifelong learning, resourceful, resilient and can embrace global challenges and opportunities to make a positive impact in society.
For more details, please visit: ceg.nus.edu.sg.
Students in the BEng (Computer Engineering) programme are required to complete a minimum of 160 MCs, with CAP ≥ 2.0, to graduate. In the first stage of the programme, students will receive a broad-based training that seeks to establish a strong foundation in mathematics, information sciences, and computing. In the second stage, students will enrol in core modules that focus on fundamental knowledge in electrical and computer engineering. These core modules provide the essential foundation for a variety of focused technical areas in CEG. During their senior years of study, students may choose from a wide variety of electives to enable them to focus in certain fields of CEG. Throughout their programme, they are also expected to broaden their views by reading some general education modules. The complete structure of the programme is specified in Table 1.
Table 1: Summary of CEG Modular Requirements and Credits
Modular Requirements | MCs | |
University Level Requirements | 20 | |
General Education Modules (GE) (5 modules, each of 4 MCs)
|
20 | |
Unrestricted Elective Modules | 32 | |
English (ES1000 and/or ES1103)# | 4 | |
Programme Requirements | 108 | |
CG2023 | Signals and Systems | 4 |
CG2027 | Transistor-level Digital Circuits | 2 |
CG2028 | Computer Organization | 2 |
CG2271 | Real-time Operating Systems | 4 |
CS1010 | Programming Methodology | 4 |
CS1231 | Discrete Structures | 4 |
CS2040C | Data Structures & Algorithms | 4 |
CS2101 | Effective Communication for Computing Professionals | 4 |
CS2113T | Software Engineering & Object-Oriented Programming | 4 |
EE2026 | Digital Design | 4 |
EE4204 | Computer Networks | 4 |
EG2401A | Engineering Professionalism | 2 |
MA1508E | Linear Algebra for Engineering | 4 |
MA1511 | Engineering Calculus | 2 |
MA1512 | Differential Equations for Engineering | 2 |
ST2334 | Probability & Statistics | 4 |
CG3207 Computer Architecture OR CS3230 Design and Analysis of Algorithms | 4 | |
Industrial Attachment | 10 | |
CEG Project Modules: | ||
CG1111 | Engineering Principles and Practice I | 6 |
CG1112 | Engineering Principles and Practice II | 6 |
CG4002 | Computer Engineering Capstone Project | 8 |
CEG Technical Electives: | ||
Elective Modules from Table 2 to satisfy the breadth and depth requirements of the BEng (CEG) programme | 20 | |
Total | 160 |
# For students who have not passed or have been exempted from the Qualifying English Test at the time of admission to the university.
Students may focus in one of the following concentrations – Communications & Networking, Embedded Computing, Large-Scale Computing, Intelligent Systems, Interactive Digital Media and System-on-a-Chip Design – by taking the electives in these concentrations. The modules in each concentration are categorised as breadth or depth modules. A breadth module enables students to achieve a broad understanding of concepts in the particular concentration. A depth module is a higher-level module that provides greater depth and coverage in the particular concentration. The list of technical electives in the various concentrations (for CEG AY2017/18 intake and after) is given in Table 2.
Table 2: List of Technical Electives in the Various Concentrations
Communications & Networking | ||
Breadth | CS2107 | Introduction to Information Security |
CS3103 | Computer Networks Practice | |
EE3131C | Communication Systems | |
Depth | CS4222 | Wireless Networking |
CS4226 | Internet Architecture | |
EE4210 | Network Protocols and Applications | |
CS5223 | Distributed Systems | |
CS5321 | Network Security | |
EE5135 | Digital Communications |
Embedded Computing | ||
Breadth | CG3207 | Computer Architecture |
CS2107 | Introduction to Information Security | |
CS3211 | Parallel and Concurrent Programming | |
EE3731C | Signal Processing Methods | |
Depth | CS4222 | Wireless Networking |
CS4223 | Multi-Core Architectures | |
EE4218 | Embedded Hardware System Design | |
EE4415 | Integrated Digital Design | |
CS5272 | Embedded Software Design | |
EE5903 | Real-time Systems |
Intelligent Systems | ||
Breadth | CS3243 | Introduction to Artificial Intelligence |
CS3244 | Machine Learning | |
EE3331C | Feedback Control Systems | |
Depth | CS4244 | Knowledge Representation and Reasoning |
CS4246 | AI Planning and Decision Making | |
CS4248 | Natural Language Processing | |
EE4305 | Introduction to Fuzzy/Neural Systems | |
EE4308 | Advances in Intelligent Systems and Robotics | |
CS5242 | Neural Networks & Deep Learning | |
CS5339 | Theory and Algorithms for Machine Learning | |
EE5904 | Neural Networks | |
EE5907 | Pattern Recognition |
Interactive Digital Media | ||
Breadth | CS2108 | Introduction to Media Computing |
CS3240 | Interaction Design | |
CS3241 | Computer Graphics | |
CS3242 | 3D Modeling and Animation | |
CS3247 | Game Development | |
CS3249 | User Interface Development | |
EE3731C | Signal Processing Methods | |
Depth | CS4240 | Interaction Design for Virtual and Augmented Reality |
CS4243 | Computer Vision and Pattern Recognition | |
CS4247 | Graphics Rendering Techniques | |
CS4249 | Phenomena and Theories of Human-Computer Interaction | |
CS4347 | Sound and Music Computing | |
CS4351 | Real-Time Graphics | |
EE4212 | Computer Vision | |
EE4604 | Biological Perception in Digital Media | |
EE4704 | Introduction to Computer Vision and Image Processing |
Large-Scale Computing | ||
Breadth | CS2102 | Database Systems |
CS3210 | Parallel Computing | |
CS3211 | Parallel and Concurrent Programming | |
CS3230 | Design & Analysis of Algorithms | |
CS3235 | Computer Security | |
Depth | CS3223 | Database Systems Implementation |
CS4211 | Formal methods for Software Engineering | |
CS4221 | Database Application Design and Tuning | |
CS4223 | Multi-Core Architectures | |
CS4224 | Distributed Databases | |
CS4231 | Parallel & Distributed Algorithms | |
EE4210 | Network Protocols and Applications | |
EE4218 | Embedded Hardware System Design |
System-on-a-Chip Design | ||
Breadth | CG3207 | Computer Architecture |
EE3104C | Introduction to RF and Microwave Systems & Circuits | |
EE3408C | Integrated Analog Design | |
Depth | CS4223 | Multi-Core Architectures |
EE4104 | Microwave Circuits & Devices | |
EE4112 | Radio Frequency Design and Systems | |
EE4218 | Embedded Hardware System Design | |
EE4415 | Integrated Digital Design | |
EE4505 | Power Semiconductor Devices & ICs | |
EE5518 | VLSI Digital Circuit Design |
The rules are as follows: To achieve depth, CEG students (from 2017/18 intake & after) need to read a minimum of 12 MCs of depth electives. All technical electives must add up to at least 20 MCs. Students may read breadth electives to achieve exposure to various facets of CEG. These modules may come from any of the concentrations. Students will have to ensure that they have read any prerequisite modules to read the selected depth modules. This may have an impact on the selection of breadth modules.
As an additional note, other 3000/4000 modules hosted by CS or ECE may be used to fulfil CEG Technical Elective (TE) requirements. Generally, a CS/EE3xxx will count as CEG TE Breadth, while a CS/EE4xxx will count as CEG TE Depth.
Students are required to read either CG3207 or CS3230 as Programme requirements, so only those who passed both modules can count (the other/second) one as TE Breadth.
For more details, please visit: https://ceg.nus.edu.sg/curriculum/
Please refer to ceg.nus.edu.sg/students/studyschedule/ for the recommended study schedule.