Computational Techniques and Computer Systems

Semester 1, 2020

Staff

- David Dempsey (director, coordinator)
- Bryan Ruddy
- Colin Simpson

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

## 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 |

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.