ENGSCI 233

Computational Techniques and Computer Systems

Summary


Semester

Semester 1, 2020

Staff

Contents


Calendar notes

Introduction to computer architecture and computational techniques. Data representation, memory, hardware, interfacing, and limitations. Numerical computation and algorithms, coding design and paradigms.
Prerequisite: ELECTENG 101 and ENGGEN 131, and ENGGEN 150 or ENGSCI 111Corequisite: ENGSCI 211 or 213

Outcome mapping


Intended learning outcomes
Related graduate attributes
Related assessments

Data. Develop algorithms to apply data management (file I/O, directory management and file movement) and data structure concepts (Linked Lists, Networks).

ENGA01: engineering knowledge (2)
ENGA05: modern tool usage (3)
ENGK04: specialist knowledge (2)
UOA_1: Disciplinary Knowledge and Practice (2)
Quiz 9 - Data
Lab 9 - Data
Test 2
Microbit project

Combinatorics. Develop algorithms that apply searching, sorting and network concepts (breadth vs. depth search, insertion vs heap sort, Dijkstra's algorithm).

ENGA01: engineering knowledge (2)
ENGA05: modern tool usage (3)
ENGK02: mathematical modelling (4)
ENGK03: abstraction and formulation (3)
ENGK04: specialist knowledge (2)
ENGP01: depth of knowledge required (1)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_3: Solution Seeking (2)
Quiz 10 - Combinatorics
Lab 10 - Combinatorics
Test 2
Microbit project

Error. Develop algorithms that apply concepts of floating point error quantification (representation, rounding, division) to an LU factorization implementation. Develop and implement concepts of algorithm convergence.

ENGA01: engineering knowledge (2)
ENGA05: modern tool usage (3)
ENGK02: mathematical modelling (4)
ENGK03: abstraction and formulation (3)
ENGK04: specialist knowledge (2)
ENGP01: depth of knowledge required (1)
UOA_1: Disciplinary Knowledge and Practice (2)
Quiz 4 - Error
Lab 4 - Error
Test 1
Microbit project

Sampled Data. Develop algorithms to apply concepts of numerical interpolation (polynomial fitting, linear interpolation, cubic splines) and numerical integration (Newton-Cotes methods, Gaussian quadrature) to discrete data.

ENGA01: engineering knowledge (2)
ENGA05: modern tool usage (3)
ENGK02: mathematical modelling (4)
ENGK03: abstraction and formulation (3)
ENGK04: specialist knowledge (2)
ENGP01: depth of knowledge required (1)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_3: Solution Seeking (2)
Quiz 6 - Sampled Data
Lab 6 - Sampled Data
Test 2
Microbit project

Iteration and Stability. Develop algorithms that apply concepts of ODE time steppers (order, accuracy, convergence and stability).

ENGA01: engineering knowledge (2)
ENGA05: modern tool usage (3)
ENGK02: mathematical modelling (4)
ENGK03: abstraction and formulation (3)
ENGK04: specialist knowledge (2)
ENGP01: depth of knowledge required (1)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_3: Solution Seeking (2)
Quiz 8 - Iteration
Lab 8 - Iteration
Test 2
Microbit project

Performance. Use profiling tools to identify and optimise bottlenecks in code. Apply Big O notation to understand algorithm scaling. Apply concepts of parallelisation to batches of independent tasks.

ENGA01: engineering knowledge (2)
ENGA02: problem analysis (2)
ENGA03: design and solution development (4)
ENGA05: modern tool usage (3)
ENGK02: mathematical modelling (4)
ENGK03: abstraction and formulation (3)
ENGK04: specialist knowledge (2)
ENGK05: engineering design (1)
ENGP03: depth of analysis required (1)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_3: Solution Seeking (2)
Quiz 7 - Performance
Lab 7 - Performance
Test 2
Microbit project

Information: Understand binary integer representation and how this applies to floating point, ASCII, and structs.

ENGA01: engineering knowledge (2)
ENGA05: modern tool usage (3)
ENGA09: individual and team work (2)
ENGK03: abstraction and formulation (3)
UOA_1: Disciplinary Knowledge and Practice (2)
Quiz 1 - Information
Test 1
Microbit project
Lab 1 - Information (not assessed)

Computing: Understand concepts of data transfer, data storage (memory), parallel vs. serial communication. Demonstrate how executing code can expose hardware limitations in the form of timeouts or out-of-memory errors.

ENGA01: engineering knowledge (2)
ENGA02: problem analysis (2)
ENGA03: design and solution development (4)
ENGA05: modern tool usage (3)
ENGA09: individual and team work (2)
ENGK05: engineering design (1)
ENGP02: range of conflicting requirements (2)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_2: Critical Thinking (1)
UOA_3: Solution Seeking (2)
Quiz 2 - Hardware
Quiz 3 - Software
Lab 2 - Hardware
Lab 3 - Software
Test 1
Microbit project

Quality. List the components of a function specification and develop an implementation from it. Use error handling to check function preconditions. Develop a unit test to verify a function implementation. Create a simple code repository using Git.

ENGA01: engineering knowledge (2)
ENGA03: design and solution development (4)
ENGA05: modern tool usage (3)
ENGK05: engineering design (1)
Quiz 5 - Quality Control
Lab 5 - Quality Control
Test 1
Microbit project

Assessment


Coursework

No description given

Exam rules

No description given

Inclusive learning

Students are urged to discuss privately any impairment-related requirements face-to-face and/or in written form with the course convenor/lecturer and/or tutor.

Other assessment rules

No description given

Academic integrity

The University of Auckland will not tolerate cheating, or assisting others to cheat, and views cheating in coursework as a serious academic offence. The work that a student submits for grading must be the student's own work, reflecting his or her learning. Where work from other sources is used, it must be properly acknowledged and referenced. This requirement also applies to sources on the world-wide web. A student's assessed work may be reviewed against electronic source material using computerised detection mechanisms. Upon reasonable request, students may be required to provide an electronic version of their work for computerised review.

All students enrolled at the University of Auckland are required to complete a compulsory Academic Integrity course, usually in their first semester/year of enrolment. The University of Auckland’s full guidelines on procedures and penalties for academic dishonesty are available here.

This site intends to guide you through your chosen specialisation at the Faculty of Engineering. The semester links lets you view detailed course information for your chosen course. Please note that the structure displayed for your specialisation here will reflect what’s available over the upcoming semesters, but detailed information may be from a previous year.

All the information here is accurate at the time of publication, but you are are advised to additionally consult our official document, the University of Auckland Calendar, for accurate academic regulations, requirements, and policies.