For CEG AY2017/18 to AY2020/21 intake
Students can opt to exclusively focus in one of the concentrations of 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 courses in each concentration are categorised as Breadth or Depth courses. A breadth course enables students to achieve a broad understanding of concepts in the particular concentration. Students may read breadth electives to achieve exposure to various facets of CEG. A depth course is at higher level and provides greater depth and coverage in the particular concentration.
The rules are as follows:
AY2017/18 - AY2020/21 intakes: To achieve depth, CEG students need to read a minimum of 12 units of depth electives. All technical electives must add up to at least 20 units. Students are encouraged to take more technical electives (and count them towards fulfilling UE).
Although CG4001 BEng Dissertation (also known as Final Year Project) is no longer compulsory, students are recommended to take up CG4001 (12 units) OR 8 units research-oriented project offered by CS (CP4106 Computing Project) or ECE (EE4002R Research Capstone)*.
These courses may come from any of the concentrations. While there is no necessity, students may opt to focus in a particular concentration. To do so, a student should read at least 16 units of technical electives from the same concentration e.g. 1B+3D or 2B+2D. Students will have to ensure that they have read the prerequisite course(s) of the depth courses. This may have an impact on the selection of breadth courses.
As an additional note, other level 3000/4000 courses hosted by CS or ECE can be used to fulfill CEG Technical Elective (TE) requirements (under no particular concentration). A CS/EE3-coded course will count as CEG TE Breadth, while a CS/EE4-coded course will count as CEG TE Depth.
To view a brief description of a course, please search via NUSMods <Modules>.
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 Analytics | |
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 Fuzzy/Neural Systems for Intelligent Robotics | |
EE4308 Autonomous Robot Systems | |
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 Analytics | |
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 Image Processing and Analysis |
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 Applications 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 Semiconductors Devices & ICs | |
EE5518 VLSI Digital Circuit Design |
*CG4001 (12 units) will be mapped to [8 units TE Depth and 4 units UE], while CP4106/EE4002R will be mapped to 8 units TE Depth. Students returning from NOC year-long programmes are precluded from CG4001, CP4106 and EE4002R.
**Students are required to read either CG3207 or CS3230 as Programme requirements. Only students who passed both courses can count (the other/second) one as TE Breadth.
12 units internships i.e. CP3880, EG3611/B, TR3202% will be mapped to [10 units IA under Programme requirements and 2 units TE Breadth].
The following level 2000 courses can count as CEG TE Breadth: CS2104, IE2110 and IE2130.
Students who are keen in graduate studies (hosted by CDE or SoC) should note the respective policy governing credits transfer themselves via the Graduate Admissions page.