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
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.
Project
Elective Courses
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
- 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
- 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
- SCE Graduate Office
Blk N4, #02A-32
Nanyang Avenue
Singapore 639798