Note: This unit is an archived version! See Overview tab for delivered versions.

COMP5320: Embedded Systems Programming (2012 - Semester 1)

Download UoS Outline

Unit: COMP5320: Embedded Systems Programming (6 CP)
Mode: Normal-Day
On Offer: Yes
Level: Postgraduate
Faculty/School: School of Computer Science
Unit Coordinator/s: A/Prof Scholz, Bernhard
Session options: Semester 1
Versions for this Unit:
Campus: Camperdown/Darlington
Pre-Requisites: None.
Brief Handbook Description: Embedded systems account for more than 90% of all microprocessor usage. The aim of this unit is to provide an introduction to the programming of embedded systems. The main aims are (i) to learn about programming under constraints including limited memory, computational power and energy, (ii) to learn about tools and methodology to develop embedded system software, (iii) to use operating system drivers to decouple the application logic from low level hardware programming, and (iv) learn about operating system primitives for concurrency, timing, scheduling, communications and synchronisation.
Assumed Knowledge: None.
Timetable: COMP5320 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Lecture 2.00 1 13
2 Laboratory 1.00 1 13
3 Independent Study 13

Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.

Unassigned Outcomes
1. Knowledge of various types of I/O programming: memory mapped I/O, interrupts, DMA, buses (e.g. I2C)
2. Knowledge of programming under constraints, i.e., limited memory, computational power, and energy
3. Knowledge of design and implementation of operation systems drivers for Embedded Systems
4. Knowledge of operating system primitives for concurrency, timing, scheduling, communications and synchronisation
5. Basic experience of implementing an embedded systems application for RISC architecture and a Unix-like operating system.
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Assignment Yes 50.00 Multiple Weeks 1, 2, 3, 4, 5,
2 Quiz Yes 50.00 Multiple Weeks 1, 2, 3,
Assessment Description: Assignment: Multiple embedded systems programming assignments.

Quiz: Multiple quizzes throughout the semester
Policies & Procedures: IMPORTANT: School policy relating to Academic Dishonesty and Plagiarism.

In assessing a piece of submitted work, the School of IT may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so.

Other policies

Faculty policies regarding academic honesty and plagiarism, special consideration and appeals in Engineering and Information Technologies can be found on the Faculty's policy page at http://www.eng.usyd.edu.au/policies"> http://www.eng.usyd.edu.au/policies. School and Faculty policies are governed by Academic Board resolutions whose details can be found on the Central Policy Online site at http://www.usyd.edu.au/policy/"> http://www.usyd.edu.au/policy/.

Policies regarding assessment formatting, submission methods, late submission penalties and assessment feedback depend on the unit of study. Details of these policies, where applicable, should be found above with other assessment details.
Prescribed Text/s: Note: Students are expected to have a personal copy of all books listed.

Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar https://web.timetable.usyd.edu.au/calendar.jsp

Week Description
Week 1 Introduction
Week 2 Hardware I/O
Week 3 Programming Micro-Controller
Week 4 Programming Micro-Controller
Week 5 Linux Device-Driver
Week 6 Linux Device-Driver
Week 7 Linux Device-Driver
Week 8 Linux Device-Driver
Week 9 Programming under constraints
Week 10 Programming under Constraints
Week 11 Programming under Constraints
Week 12 Software Methodology
Week 13 Revision