ENCE464-23S2 (C) Semester Two 2023

Embedded Software and Advanced Computing

15 points

Start Date: Monday, 17 July 2023
End Date: Sunday, 12 November 2023
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Sunday, 30 July 2023
  • Without academic penalty (including no fee refund): Sunday, 1 October 2023


This course combines software engineering practice for embedded systems with advanced computer architectures and memory systems. State machines form a unifying mechanism to understand hardware and software. Software design procedures and methodologies are used to develop reliable coding practices used on high-performance concurrent systems with real-time constraints. Testing and debugging on high-performance concurrent systems, where inter-task communication support is required, and is analysed using industry-standard metrics and test platforms.

The goal of this course is to learn about what makes advanced computers "tick", from both hardware and software development perspectives.  The embedded systems courses you've taken so far have mostly focused on the basics of creating small programs and the details of low-level hardware interactions.  In this course, we'll look at how to design and implement more complex, large-scale programs, how to improve the quality and reliability of your programs, and how these methods are applied to execution architectures, such as superscalar, VLIW/EPIC, and DSPs.  Memory architectures and cache design instruction architectures are also discussed.

Learning Outcomes

  • At the conclusion of this course you should be able to:

  • LO1: Specify, design, and implement complex embedded software using an efficient, principled approach. (WA1, WA2, WA3, WA4, WA5, WA7)

  • LO2: Design, analyse and implement robust concurrent, multithreaded, and distributed software (WA3, WA4, WA5)

  • LO3: Select and apply analysis and testing techniques that will help to ensure design and implementation quality. (WA1, WA2, WA4, WA5, WA7)

  • LO4: Use appropriate tools and techniques to manage and communicate within and work on large software projects that involve more than one developer (WA9, 10, 11)

  • LO5: Develop an advanced knowledge on a subsystem of modern microprocessors (WA1)
    • University Graduate Attributes

      This course will provide students with an opportunity to develop the Graduate Attributes specified below:

      Critically competent in a core academic discipline of their award

      Students know and can critically evaluate and, where applicable, apply this knowledge to topics/issues within their majoring subject.

      Employable, innovative and enterprising

      Students will develop key skills and attributes sought by employers that can be used in a range of applications.

      Globally aware

      Students will comprehend the influence of global conditions on their discipline and will be competent in engaging with global and multi-cultural contexts.



ENCE463, ENCE462, ENEL428, ENEL429

Course Coordinator

Steve Weddell


Michael Hayes


Assessment Due Date Percentage 
Free RTOS Project 25%
Group Assignment 25%
Exam 50%

Additional Course Outline Information

Mahi ā-Ākonga | Workload (expected distribution of student hours, note 15 points = 150 hours):

Contact Hours

Lectures: 36
Tutorials: 0
Workshops: 0
Laboratories: 24

Independent study
Review of lectures: 10
Test and exam preparation: 30
Assignments: 50
Tutorial preparation: 0
Laboratory calculations: 0

Total 150

Indicative Fees

Domestic fee $1,164.00

International fee $5,750.00

* All fees are inclusive of NZ GST or any equivalent overseas tax, and do not include any programme level discount or additional course-related expenses.

For further information see Electrical and Computer Engineering .

All ENCE464 Occurrences

  • ENCE464-23S2 (C) Semester Two 2023