A School of the College of Engineering

 

current students >graduate >MSc (by coursework)
>Degree of Msc (Embedded Systems) Introduction >Description

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

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 2009/2010 can be found at http://www.ntu.edu.sg/Services/Academic/graduates/Pages/graduateacademiccalendar.aspx.

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 five (5) core courses, three (3) 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:
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 are normally conducted in the evening. Laboratory or workshop sessions and projects may also 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 five (5) core courses, three (3) 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 five (5) core courses and five (5) elective courses, one of which must be 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.

* ES6101 Principles of Embedded Computing Systems
** ES6102 Advanced Digital Systems Design
** ES6103 Embedded Systems Programming
* ES6104 Embedded Processors & Peripherals
* ES6105 Digital Signal Processing Systems

Project

%   Project

Elective Courses

* ES6125 Wireless Communications
** ES6126 Algorithms to Architectures
# ES6129 Directed Reading
** ES6190 Special Topics - Secure Embedded Systems
* ES6191 Special Topics - Advanced Computer Architecture
** ES6192 Special Topics - Embedded Operating Systems
* M6401 Product Design & Development
#   General Elective

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, and

Detailed Descriptions

Core Courses

ES6101 Principles of Embedded Computing Systems
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.

The course will examine 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.

ES6102 Advanced Digital Systems Design
AUs: 3
Prerequisites: NIL
Semester 2

This course will develop the digital hardware design skills necessary for practitioners in the embedded systems field. It will provide a brief overview of logic design concepts before examining, in detail, the design methodologies for complex digital systems, including the use of high-level design languages for rapid development; hardware description languages and tools; FPGA based designs; computer arithmetic in digital systems; energy efficient architectures; signal integrity and clock event horizons. Design for production test strategies will also be examined, including: test structures; automated testing techniques; test coverage and economics of testing; enhancing testability, structured design techniques, scan based design and built in self test.

The course will include a substantial design exercise covering a typical FPGA design flow, including design entry using high level hardware description languages, functional simulation and verification, synthesis, structural simulation and verification, place and route, and target mapping, using the latest commercial FPGA design tools.

ES6103 Embedded Systems Programming
AUs: 3
Prerequisites: NIL
Semester 2

This course will develop the software design skills necessary for practitioners in the embedded systems field. The course will examine the performance needs of embedded systems, including: real-time operation, autonomy; atomicity and data sharing; asynchronous event handling, modularity, flexibility, scalability and robustness; microprocessor-based embedded system elements for digital command and control; integrating sensor/actuator devices and peripherals; commercial real-time operating systems and multi-tasking applications; real-time systems applications; fault tolerance and safety criticality; and long term software operation.

It will introduce techniques for modelling and implementing real-time systems, including: specialised languages, operating systems, timeliness and latency: hard/soft/firm deadlines, scheduling, schedulability analysis, software design with RT-UML; architecture specific considerations; software for distributed real-time systems; embedded programming language requirements; software development tools and environments, implementation and optimisation issues, verification and testing; and defensive design.

ES6104 Embedded Processors & Peripherals
AUs: 3
Prerequisites: NIL
Semester 2

This course will introduce issues relating to embedded processors. This will start with a review of microprocessors, including: processor architectures; programming model; instruction sets; and exception support.

Memory and peripherals for embedded devices will be examined, including: memory and I/O interfacing; parallel I/O; USART, SSC, field buses; timers, watchdog, high-speed I/O modules; display controllers; DMAs; MMUs, peripheral control processor; memory systems and types; interfacing techniques; performance issues; and power considerations.

The course will also examine aspects of integrated microprocessors, including: selection criteria; on-chip resources; power management; development support; application specific standard processors; and multi-core vs. unified core devices. A case study of a popular RISC such as the ARM processor and emerging technologies will be examined.

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

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.

Project
AUs: 6
Prerequisites: NIL
Semester 1 and 2

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, must start before the end of the first academic year and end in the second semester of the second academic year. Selection must be done before the students go for their Semester II examinations. This will give the students at least one full year to complete the work.

Elective Courses

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

This course will examine non-wired communications methods for embedded systems. Topics covered will include: a review of wireless communications; TDMA, FDMA and CDMA, GSM and CDMA systems; wireless networks and Bluetooth; wireless subsystem design and implementation. Wireless mobile channels: design of linear and non-linear equalizers, adaptive equalization, structures for equalizers; implementation of channel coders, block, Golay, Reed Solomon, and convolutional coders. DSP processors for filter implementation; digital modulation and demodulation; Costas loop for carrier phase and frequency synthesis. Design of CDMA systems: PN generators; Walsh, Hadamard codes; correlators; data encryption. Bluetooth protocol implementation.

ES6126 Algorithms to Architectures
AUs: 3
Prerequisites: NIL
Semester 2

This course will introduce students to the design techniques, methodologies and tools for the power-delay-area efficient partitioning and mapping of algorithms onto dedicated hardware architectures. Topics covered will include: hardware/software partitioning, concurrency issues, system-level behaviour, 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 examined. Fundamental modelling considerations for digital computation, communication, and state including behavioural synthesis and verification techniques will be examined.

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 and independent research will involve an in-depth study of an advanced embedded technology and its application to embedded systems under the guidance of a faculty member. The directed reading course will be chosen in consultation with a supervisor. Admission into the course requires agreement by a proposed supervisor and submission of a proposal to the School (via the programme director) during the first two weeks of the semester in which the course will be taken.

ES6190 Special Topics - Secure Embedded Systems
AUs: 3
Prerequisites: A first degree in an electronics or computer-related course, and some experience of system design
Semester 2

The course introduces students to the state-of-the-art security techniques, namely models for security and cryptography, and explores the topics related to the implementation of embedded systems with stringent security and assurance requirements. Security techniques shall be studied at the theoretical level and typical attack scenarios examined. Building on the theoretical foundation, techniques and control mechanisms for engineering high assurance embedded systems are examined.

Topics include:

1) Introduction to and concepts of security and assurance,
2) Access control mechanisms and policies,
3) Contemporary cryptology (constructing and analysing public and secret key cryptosystems, covering RSA, ECC, cryptographic hash functions, DES & 3DES, AES),
4) Side channel attacks,
5) Quality and assurance controls for trustworthy systems,
6) International standards for security evaluation,
7) Research trends in trustworthy systems.

ES6191 Special Topics - Advanced Computer Architecture
AUs: 3
Prerequisites: A pass in an undergraduate computer organization, computer architecture or equivalent
Semester 1

This course addresses advanced issues in the design and evaluation of high performance computer architectures with emphasis on architectures for exploiting instruction level parallelism (ILP). Topics include, basic structure of optimizing compilers, instruction scheduling, compiler optimizations for ILP enhancement, superscalar, VLIW, and EPIC architectures, high-performance cache and memory systems, storage systems, and introduction to multiprocessor systems.

ES6192 Special Topics - Embedded Operating Systems
AUs: 3
Prerequisites: Appreciation for C coding
Semester 2

This course examines fundamental methodologies in designing, coding, testing and evaluating embedded operating systems, including case studies and comparisons of operating systems suitable for a range of embedded systems. Students will then concentrate, at a practical level, on one operating system and learn concepts in developing embedded systems using Linux, including the design and implementation of Linux device drivers, and other customizations of the Linux operating-system software. The course will involve hands-on programming and modification of an embedded device running Linux.

M6401 Product Design & Development
AUs: 3
Prerequisites: NIL
Semester 1

A multi-disciplinary approach to product design and development. Product development process and strategies. Need identification and product specifications. Generation and evaluation of ideas and concepts. Product architecture. Product aesthetics and form creation. Product semantics and identity.

General Elective Course

Students may take a single general engineering elective course from within the College of Engineering at NTU. It is the students 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.

Recommended Time-Table (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:
ES6101 Principles of Embedded Computing Systems,
ES6104 Embedded Processors & Peripherals.
ES6105 Digital Signal Processing Systems, and
One elective

Semester 2

Complete the courses:
ES6102 Advanced Digital Systems Design,
ES6103 Embedded Systems Programming, and
Two electives.

Full Year

Undertake the project and complete the project dissertation.

Recommended Time-Table (Part-Time)

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

ES6101 Principles of Embedded Computing
Systems, and

ES6104 Embedded Processors & Peripherals.

Semester 2

To complete the courses

ES6102 Advanced Digital Systems Design,

ES6103 Embedded Systems Programming, and

One elective course.

Year 2

Semester 1

To complete the courses

ES6105 Digital Signal Processing Systems, and the elective subject

ES6129 Directed Reading

Full Year

Select from the following options

(a)     To undertake the project and the project dissertation, and to complete the remaining elective or

(b)     To complete the remaining three electives

Timetable (Academic Year 2009-2010 Semester 1, August to December 2009)

Course

Day

Time

Venue

Staff

ES6101 Principles Of Embedded Computing Systems

Tue

6:30pm -
9:30pm

LT 1

Thambipillai Srikanthan

ES6104 Embedded Processors & Peripherals

Thurs

6:30pm -
9:30pm

LT 14

Nicholas Vun Chan Hua+ /
Goh Wooi Boon

ES6105 Digital Signal Processing Systems

Mon

6:30pm -
9:30pm

LT 11

Sudha Natarajan+ /
Chng Eng Siong

ES6125 Wireless Communications

Wed

6:30pm -
9:30pm

LT 9

Benjamin Premkumar+ / Wang Ping

ES6191 Special Topics - Advanced Computer Architecture

Wed

6:30pm -
9:30pm

LT 15

Ian McLoughlin+ /
Pramod Meher

M6401 Product Design & Development

Tue

6:45pm -
9:45pm

LT 20

Leong Kah Fai


Timetable (Academic Year 2008/2009 Semester 2, Jan to May 2009)

Course

Day

Time

Venue

Staff

ES6102 - Advanced Digital Systems Design

Thurs

6.30pm - 9.30pm

LT 17

Douglas Maskell

ES6103 - Embedded Systems Programming

Tues

6.30pm - 9.30pm

LT 17

Ramakrishna Kakarala+ / 
Philip Teng (P/T)

ES6126 - Algorithms to Architectures

Wed

6.30pm - 9.30pm

LT 18

Pramod Meher

ES6190 Special Topics - Secure Embedded Systems

Wed

6.30pm - 9.30pm

SBS CR1

Ian McLoughlin+ /
Pramod Meher /
Bertil Schmidt

ES6192 - Special Topics - Embedded Operating Systems

Mon

6.30pm - 9.30pm

LT 18

Ian McLoughlin+ /
Anton Aendenroomer (P/T) /
He Hao (P/T)

+ 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 Engineering, NTU
    E-mail: pd-msc-es{at}ntu.edu.sg
    Tel: 6790 6259

  2. For enquiries pertaining to application procedures, leave of absence, candidature extension, withdrawal, examination etc., please refer to the Frequently Asked Questions at
    http://www.faq-centre.com/home/ntu_gso/ or e-mail to: gradstudies{at}ntu.edu.sg

  3. SCE Graduate Office
    Blk N4, #02A-32
    Nanyang Avenue
    Singapore 639798
 
 
School of Computer Engineering
Block N4, Nanyang Avenue, Singapore 639798
Tel: (65) 6790 5786 Fax: (65) 6792 6559