Graduate

Share          

Embedded Systems

Degree of MSc (Embedded Systems)

Description

The aim of the MSc in Embedded Systems is to develop a highly skilled pool of graduates for the fast evolving embedded systems industry. The core courses focus on essential skills for embedded systems design while the elective courses delve into advanced topics. Exposure to state of the art technology is given through seminars by experts from the industry. The programme combines relevant theory, state-of-the-art tools and methodologies used in industry and academia. The comprehensive project component provides adequate practical experience towards developing a market viable product.


Admission Requirements (*Programme suspended and not open for admissions*)

Candidates should possess a good Bachelor's degree in Electrical/Electronics or Computer Engineering. Preference will be given to those possessing an Honours degree. Experience in Embedded Systems related projects would be an added advantage. TOEFL is required for graduates from universities with a non-English medium of instruction.  


Academic Year

Semester dates for the academic year 2017/2018 can be found at here.


Curriculum Structure

Full-time Option

The full-time MSc programme has a normal duration of one year. During this time, students must complete 30 academic units (AUs) to graduate. Lectures are normally conducted in the evenings. Laboratory or workshop sessions may also be conducted during the weekdays, in the weekday evenings, or on Saturdays during the day. The project will be undertaken during normal working hours throughout the week

- The full-time programme has only the single study option available: 
Coursework & Dissertation: Students are required to take eight (8) courses (24 AUs) consisting of four (4) core courses, four (4) elective courses and a substantial project (6 AUs).

Each course is 3 AUs and has 39 contact hours consisting of lectures, tutorials, laboratory and/or workshop sessions.

The project is an individual research or development project in the area of embedded systems. The project, which carries a weight of two normal courses, will be selected in the first 4 weeks of the programme and undertaken full-time for the remainder of the programme. The dissertation for the project must be submitted within 2 years from the commencement of the candidature.


Part-time Option – not available from AY2017/2018

The part-time MSc programme is primarily designed for practising professionals. The part-time programme has a normal duration of two years. During this time, students must complete 30 academic units (AUs) to graduate from the programme. Lectures may be pre-recorded or conducted in the evenings. Laboratory or workshop sessions and projects will be conducted in the weekday evenings or on Saturdays during the day.

In order to provide more flexibility to candidates, particularly as the majority are working full time, the part-time programme has the following study options available:

- Coursework & Dissertation: Students are required to take eight (8) courses (24 AUs) consisting of four (4) core courses, four (4) elective courses and a substantial project (6 AUs). 

- Coursework only: Students are required to take a total of ten (10) courses (30 AUs) consisting of four (4) core courses, five (5) elective courses, and the independent study module ES6129: Directed Reading.

Each course is 3 AUs and has 39 contact hours consisting of lectures, tutorials, laboratory and/or workshop sessions. Students will select the option most appropriate to their needs towards the end of their first year.

If the student selects the project option, an individual research or development project in the area of embedded systems is undertaken as part of their second year of study. The project, which carries a weight of two normal courses, must start before the end of the first academic year and usually end in the second semester of the second academic year. Project selections must be made before the students go for their Semester II examinations so as to allow one full year to complete the work. The dissertation for the project must be submitted within 4 years from the commencement of the candidature.


Core Courses

There are five (5) core courses

ES6151 Embedded Systems Design *
ES6152 Embedded Software Development *
ES6153 Embedded Operating Systems **
ES6154 Programmable System-on-Chip **


Elective Courses

ES6105 Digital Signal Processing Systems *
ES6125 Wireless Communications *
ES6126 Algorithms to Architectures **
CE7452 RTOS for Cyber-Physical Systems
ES7501 Electronic Design Automation *
ES7502 Advanced Computing Models & Architectures **
# CoE General Elective I
# CoE General Elective II

Project

% Project

 


Independent Study

ES6129

Directed Reading #

Note 
* indicates a semester 1 course
** indicates a semester 2 course
# indicates that the course can be taken in either semester
% indicates a full year course


Detailed Descriptions

Core Courses

ES6151:  Embedded Systems Design 
AUs: 3
Prerequisites: NIL
Semester 1

This course will introduce students to embedded systems by providing a detailed overview of the important topics in the field. It will introduce typical examples of embedded systems; real time and safety critical issues; constraint-driven design; systems integration; hardware-software partitioning and time-to-market considerations, ISO Standards; the product life cycle and robust embedded systems design. It will examine state-of-the-art in programmable devices, microcontrollers, application specific standard processors; importance of interrupts; reconfigurable logic; system-on-a-chip; finite state machines; dataflow architectures; and distributed embedded systems. Software for embedded systems, including: programming languages and software architectures; interrupt servicing; multi-tasking; task communications and scheduling; verification; hardware-software co-simulation; and real-time operating systems will be introduced.

The course will also review design methodologies, including: techniques for specification; formal models and specification languages for capturing system behaviour; unified modelling frameworks; design analysis; optimisation and implementation; system verification; rapid prototyping; IP-based designs; hardware-software co-design; and quality & performance metrics.


ES6152:  Embedded Software Development 
AUs: 3
Prerequisites: Knowledge of Java programming and software engineering
Semester 1

Embedded Systems development requires synthesis of knowledge from throughout the computer engineering discipline including knowledge of computation architectures, sensors and input/output devices, operating systems, data structures, algorithms, compilation, testing/testability, reliability, and more. This class will demonstrate the fundamentals of such development through discussion of necessary theoretical knowledge for effective development as well as its practical use in the Android platform.


ES6153:  Embedded Operating Systems
AUs: 3
Prerequisites: NIL (an undergraduate OS course would be an advantage)
Semester 2

The Operating System (OS) is one of the most important middleware components that abstracts the underlying hardware and presents a simplified interface to the software application. In embedded systems such as smartphones, automotive, and avionics, the OS also presents a simplified interface to the multitude of sensors and actuators that these systems interact with. Such systems are highly resource-constrained however, and therefore the OS must be efficient in processor and memory usage. Additionally, the OS must also support real-time scheduling, to provide service guarantees on systems’ timing constraints. In this course the students will learn various concepts in Real-Time Operating Systems (RTOS), and also get exposure to real-world case studies. The course project will provide students with hands-on experience in benchmarking performance as well as modifying functionality of the commercial Micrium/OS-III RTOS.


ES6154:  Programmable System-on-Chip 
AUs: 3
Prerequisites: Knowledge of Verilog HDL
Semester 2

The design and engineering of programmable heterogeneous systems is vital for delivering higher compute density, higher performance (latency / throughput), better energy consumption for computational problems in many domains such as networking, scientific computing, as well as embedded systems. Students will learn how to understand the constituent scaling trends and costs associated with exploring the trade-off space of implementing such systems. This will be a project-oriented course that requires the students to develop, build and characterize solutions for compute challenges that use programmable systems (specifically we will investigate the use of Vivado HLS and Zynq systems for the practical aspects of this class).


Elective Courses

ES6105 Digital Signal Processing Systems
AUs: 3
Prerequisites: Knowledge in Digital Electronics and Computer Architecture
Semester 1

This course will introduce students to digital signal processing algorithms and to hardware related implementation issues. It provides an introduction to signals and systems, including: sampling techniques, aliasing, line spectra, symmetry, anti-alias filters; discrete time systems; FIR and IIR filters; windowing techniques, frequency transformations, auto- and cross-correlation; Fast Fourier Transform (FFT), decimation, twiddle functions and butterflies (DIF & DIT) and an introduction to stochastic signal processing techniques.

The course will then examine implementation issues, including: hardware and software structures for FFT implementation and FFT processing rates. It will also examine hardware issues, including: DSP processors; organisation, programming model, and on-chip concurrency; MAC units; pipelining; addressing modes; application specific features such as short/long interrupts, hardware do loops, etc.; dedicated architectures vs. programmable DSPs; multi-DSP implementations; and development tools. Case studies of a number of signal processing implementations will be examined.

ES6125 Wireless Communications
AUs: 3
Prerequisites: Knowledge in Digital Communications and Computer Networks
Semester 1

Basic building blocks of modern wireless communication systems, Short-term and long-term propagation characteristics of wireless channels, Cells, cellular traffic and various characteristics associated with it, Different methods for fading mitigation: exploiting diversity principles and equalisers, Different multiple access methods, Different wireless communication systems and standards.


ES6126 Algorithms to Architectures
AUs: 3
Prerequisites: A first degree in an electronics or computer-related course; Some knowledge of programming in C
Semester 2

This course will introduce students to the design techniques, methodologies and tools for efficient partitioning and mapping of algorithms onto parallel architectures and onto dedicated hardware. Topics covered will include: PRAM model, MPI, CUDA, hardware/software partitioning, concurrency issues, system-level behavior, global time vs. self-timing, shared state (memory) vs. point-to-point communications, finite vs. unbounded state, and function vs. architecture. System constraints including processing time, size, and cost and space-time tradeoffs in hardware and software will be discussed as well fundamental modeling considerations.


CE7452 RTOS for Cyber-Physical Systems
AUs: 3
Prerequisites: Operating Systems or equivalent
Semester 1

This course aims to develop specific knowledge in modern embedded real-time computing systems Focus will be on both conceptual understanding of techniques to translate application non-functional requirements to middleware and hardware functionality, as well as on practical implementation of these techniques using stateof-the-art research infrastructure. Students will also gain experience in critically reviewing scientific literature relevant to the area. Course project will encourage students to solve team-based research problems, and also give them experience in written and oral scientific communication.

Overall, this course will provide good exposure to students who intend to conduct research & development in real-time systems. Upon successful completion of this course, students should:

1) Have conceptual understanding of techniques to translate application non-functional requirements to middleware and hardware functionality.
2) Gain practical experience in implementing some of these techniques.
3) Gain experience in critically reviewing scientific literature, and in written and oral scientific communication
4) Learn how to solve challenging research problems in a team-based environment.


ES7501:  Electronic Design Automation
AUs: 3
Prerequisites: Nil
Semester 1

The engineering and design of complex, integrated silicon architectures is a challenging task. As human design time is limited and computing time cheap, we have increasingly relied on tools and automated algorithms running on fast computers to automatically address these challenges. The electronic design process is a series of steps:
(1) describing and simulating what we want our chips to do,
(2) constructing the circuits that implement this expected task,
(3) post-silicon validation and testing in the field. Each of these steps is a difficult computing problem (typically classified as NP-complete) and requires innovative heuristics and algorithm design for a satisfactory solution.

As we build large and larger chips, we must learn how to scale our algorithms to larger system sizes. We also face an increasing array of sub-micron challenges (leakage energy, reliability) that require solutions to a completely new set of problems that are just being formulated. This course will introduce the student to the vast space of EDA algorithms, and identify and classify design automation problems and calculate their complexity (running time, memory use, communication requirements, etc.). The course will ultimately prepare the student for design and develop her own CAD algorithms in the future.


ES7502:  Advanced Computing Models and Architectures
AUs: 3
Prerequisites: undergraduate computer architecture and organisation
Semester 2

This course will discuss key architectures from several computational models such as (but not limited to) CPUs, VLIW, GPUs (ISA-based), dataflow architectures, and FPGAs (non-ISA based). The course will examine discuss analytical techniques for comparing performance, area, and power efficiency for these architectures. Key limiting factors for each category of architecture will be discussed in relation to achievable performance and power/energy efficiency, the intuitive process behind searching for solutions to the limiting factors and the current state of the art in architectural optimization. Lecture content will be augmented with discussion of both seminal literature as well as recently published literature


General Elective I and II

Students may take up to two general engineering elective courses from within the College of Engineering at NTU. These can include courses offered by the School of Computer Engineering or by other Schools in the College. It is the student’s responsibility to ensure that any prerequisites are met and that timetabling issues are resolved. Approval must be obtained from the programme director for these general elective courses. Approval will not be forthcoming if the chosen course has a significant overlap with any course already offered within the MSc(ES). These courses can be taken in either semester.


Project
AUs: 6
Prerequisites: NIL
Full year

Each student is to carry out an individual research or development project in the area of embedded systems. The project, which carries a weight equal to two normal subjects, will commence early in the first semester. An on-line application is available (via GSLink) for selecting projects.

Independent Study

ES6129 Directed Reading
AUs: 3
Prerequisites: NIL
Semester 1 and 2

The course aims to impart detailed knowledge of a highly specialised topic within the field of embedded systems. The directed reading module will involve an in-depth study of an advanced embedded technology and its application to embedded systems under the guidance of a faculty member. Directed Reading course is chosen in consultation with a supervisor, and can be a student nominated topic or a topic proposed by the supervisor. Admission into the course requires the submission of a proposal to the School (via the on-line directed reading application available via GSLink) during the first two weeks of the semester in which the course will be taken. The directed reading topic requires agreement by the proposed supervisor.


RECOMMENDED TIMETABLE (Full-Time)

Note: For a full-time candidate, it is possible to register for a maximum of 5 courses in any semester.

Semester 1

Complete the courses:

ES6151             Embedded Systems Design
ES6152             Embedded Software Development, and

Two elective courses

Semester 2

Complete the courses:

ES6153             Embedded Operating Systems
ES6154             Programmable System-on-Chip, and

Two elective courses

Full Year

Undertake the project and complete the project dissertation


RECOMMENDED TIMETABLE (Part-Time) – not available from AY2017/2018

Note: For a part-time candidate, it is possible to register for a maximum of 3 courses in any semester.

Year 1

Semester 1

To complete the courses

ES6151    Embedded Systems Design

ES6152    Embedded Software Development, and

Semester 2

To complete the courses

ES6153   Embedded Operating Systems

ES6154   Programmable System-on-Chip, and

One Elective Course

Year 2

To complete the programme, select from the following options :-

(a)     Undertake the project and the project dissertation, and complete the remaining electives courses

(b)     Select the coursework only option and complete the remaining courses, one of which must be ES6129 Directed Reading.

 

Timetable (Academic Year 2018 Semester 1, Starting August 2018)

​​Course Day Time Venue Lecturers
ES6125
Wireless Communications
Wednesday 6.30pm – 9.30pm LT9 Prof A S Madhukumar

+ Course Co-ordinator


CONTACT INFORMATION

  1. For further information on admission requirements, class timetable and programme curriculum, please contact the Programme's Office at :

    Programme Director M.Sc. (Embedded Systems)
    School of Computer Science and Engineering, NTU
    E-mail: SCSEMScProg{at}ntu.edu.sg

  2. For enquiries pertaining to application procedures, leave of absence, candidature extension, withdrawal, examination etc., please refer to the Frequently Asked Questions at

    http://askntu.ntu.edu.sg/home/ntu_wide/ifaq.aspx or e-mail to: gradstudies{at}ntu.edu.sg 

  3. SCSE Graduate Office
    Blk N4, #02C-120
    Nanyang Avenue
    Singapore 639798