Technical Electives


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.