ENCE260-23S2 (C) Semester Two 2023

Computer Systems

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 is an introductory course to computer systems and is a mixture of computer programming in C, computer architecture, and embedded systems.

In the Introduction to C programming module during Term 3, you will learn to write C programs on desktop machines. C was originally developed as an alternative to assembly language for low level programming tasks like operating systems (e.g., Windows, Linux, or MacOS) and embedded computing (the computers inside mobile phones, cars, robots, and anything else "smart"). C remains the most widely used language in the embedded systems community and is also of importance to computer scientists as the language used for implementing many high performance libraries and high-level language interpreters and compilers. For example, the standard Python interpreter and the Linux operating system are both written in C.

The Computer Architecture module is delivered in parallel with the C programming in Term 3, and with Embedded Systems in Term 4, so that you can learn about how the hardware works at the same time as you learn how to write programs for that hardware. During the Computer Architecture module you'll learn about the basic operations performed by the fundamental building blocks of computer hardware, and how to combine those simple operations to create more complex behaviour. You'll also learn how the C language programs you're writing relate to and control the underlying computer architecture.

The Introduction to Embedded Systems module in Term 4 extends your C programming skills with application to a small, dedicated computer board. This embedded system uses a microcontroller (AVR by Atmel) and has just a few buttons and Light Emitting Diodes (LEDs) for input and output. You’ll learn how to combine your new knowledge of computer hardware and C programming to sense button inputs, control LED outputs, and to write programs that use the inputs and outputs to do useful or interesting things. Groups of two students will complete a small, embedded system project during Term 4.

Learning Outcomes

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

  • LO1: Write structured programs in the C Programming language (WA1, WA5)

  • LO2: Identify and analyse basic core hardware components, and how these execute software (WA1)

  • LO3: Understanding the use of an embedded microcomputer and interfacing with common peripheral devices (WA1, WA5)

  • LO4: Design a basic program on an embedded microcontroller system (WA2, WA3, WA5)

  • LO5: Work collaboratively with a colleague on an embedded software project (WA9, WA10)
    • 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.



ENEL206; both COSC208/ENCE208 and COSC221/ENCE221

Course Coordinator

Richard Clare


Lui Holder Pearson and Andrew Bainbridge-Smith


Assessment Due Date Percentage 
Test 20%
Assignment 1 10%
Quizzes 10%
Assignment 2 10%
Final Exam 50%

The examiners will award a failing grade to students who score less than 45% of the maximum for the Test and Final Examination combined. More formally, (TestPercent * 0.2 + FinalExamPercent * 0.5) / 0.7 must be greater than or equal to 45 for a pass mark to be awarded. This note is put in place to ensure that each student has adequately shown to the examiners they have gained some mastery of the topic.

Textbooks / Resources

Recommended Reading

King, K. N; C programming : a modern approach ; Norton, 1996.

Additional Course Outline Information

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

Contact Hours

Lectures/Videos: 30 hours
Tutorials: 12 hours
Workshops: 0 hours
Laboratories: 24 hours

Independent study

Review of lectures/videos: 30 hours
Test and exam preparation: 28 hours
Assignments: 30 hours
Tutorial preparation: 6 hours

Total 150

Indicative Fees

Domestic fee $1,030.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.

Limited Entry Course

Maximum enrolment is 600

For further information see Electrical and Computer Engineering .

All ENCE260 Occurrences

  • ENCE260-23S2 (C) Semester Two 2023