Computer Engineering

Technical Electives

As per the Academic Year in which the modules are offered: AY2016/17

Students are encouraged to specialise 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 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. Students may read breadth electives to achieve exposure to various facets of CEG. A depth module is a higher level module that provides greater depth and coverage in the particular concentration.
The rules are as follows:

AY2013/14 intake & prior: To achieve depth, CEG students need to read a minimum of three depth electives. All technical electives must add up to at least 24 MCs.

AY2014/15 intake & after: To achieve depth, CEG students need to read a minimum of two depth electives. All technical electives must add up to at least 12 MCs. Students are encouraged to take more technical electives (and count them towards fulfilling UEM).

These modules may come from any of the concentrations. While there is no necessity, students may opt to specialise in a particular concentration. To do so, a student (AY2013/14 intake & prior) must read all three depth modules from the same concentration. If student is from AY2014/15 intake (& after), he/she must read all three technical electives from the same concentration. Students will have to ensure that they have read the prerequisite module(s) of the 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 fulfill CEG Technical Elective (TE) requirements. Generally, a level 3000 module will count as CEG TE Breadth, while a level 4000 will count as CEG TE Depth.

To view a brief description of a module, please click on the links below.
Alternatively, you can use the search engine at the NUS Bulletin page.

Communications & Networking

Breadth

CS2010 Data Structures & Algorithms II
CS2107 Introduction to Information Security
CS3103 Computer Networks Practice
CS3230 Design & Analysis of Algorithms
CS3235 Computer Security
EE3131C Communication Systems

Depth

CS4222 Wireless Networking
CS4226 Internet Architecture
CS4236 Cryptography Theory & Practice
CS4238 Computer Security Practice
EE4113 Digital Communications & Coding
EE4114 Optical Communications
EE4210 Computer Communications Networks II

Embedded Computing

Breadth

CS2010 Data Structures & Algorithms II
CS2104 Programming Language Concepts
CS2107 Introduction to Information Security
CS2108 Introduction to Media Computing
CS3103 Computer Networks Practice
CS3218 Multimodal Processing in Mobile Platforms
CS3230 Design & Analysis of Algorithms
CS3235 Computer Security
EE3206 Introduction to Computer Vision and Image Processing

Depth

CS4212 Complier Design
CS4222 Wireless Networking
CS4236 Cryptography Theory & Practice
CS4238 Computer Security Practice
EE4210 Computer Communications Networks II
EE4214 Real-time Embedded Systems
EE4218 Embedded Hardware System Design
EE4415 Integrated Digital Design

Large-Scale Computing

Breadth

CS2010 Data Structures & Algorithms II
CS2102 Database Systems
CS2104 Programming Language Concepts
CS2107 Introduction to Information Security
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
CS4212 Complier Design
CS4221 Database Applications Design and Tuning
CS4223 Multi-Core Architectures
CS4224 Distributed Databases
CS4231 Parallel & Distributed Algorithms
CS4345 General-Purpose Computation on GPU
EE4210 Computer Communications Networks II

Intelligent Systems

Breadth

CS2010 Data Structures & Algorithms II
CS3240 Interaction Design
CS3243 Introduction to Artificial Intelligence
CS3244 Machine Learning
EE3206 Introduction to Computer Vision and Image Processing
EE3331C Feedback Control Systems
EE3731C Signal Processing Methods

Depth

CS4244 Knowledge-based systems
CS4246 AI Planning and Decision Making
CS4248 Natural Language Processing
EE4212 Computer Vision
EE4213 Image & Video Processing
EE4305 Introduction to Fuzzy/Neural Systems
EE4307 Control Systems Design & Simulation
EE4308 Advances in Intelligent Systems and Robotics

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
EE3206 Introduction to Computer Vision and Image Processing
EE3331C Feedback Control Systems
EE3731C Signal Processing Methods
EE3701 Digital Media Technologies

Depth

CS4243 Computer Vision and Pattern Recognition
CS4247 Graphics Rendering Techniques
CS4249 Phenomena and Theories of Human-Computer Interaction
CS4347 Sound and Music Computing
EE4212 Computer Vision
EE4213 Image & Video Processing
EE4604 Biological Perception in Digital Media
ME4245 Robot Kinematics, Dynamics and Control

System-On-A-Chip Design

Breadth

EE3407 Analog Electronics
EE3408C Integrated Analog Design

Depth

CS4223 Multi-Core Architectures
EE4214 Real-time Embedded Systems
EE4218 Embedded Hardware System Design
EE4415 Integrated Digital Design
EE4505 Power Semiconductors Devices & ICs


The following level 2000 modules may count as CEG TE Breadth: CS2281, EE2011, EE2025, IE2110 and IE2130.

For the master-list of CEG Technical Electives with detailed information, please refer to:
http://www.ceg.nus.edu.sg/students/third_year.html (under ‘Academic Information/Useful Links’).