ENGGEN 131

Introduction to Engineering Computation and Software Development

Summary


Semester

Semester 2, 2018

Staff

Contents


Calendar notes

Introduction to problem solving in engineering through the use of the software package MATLAB, and the programming language C. Restriction: ENGSCI 233, 331

Outcome mapping


Intended learning outcomes
Related graduate attributes
Related assessments

Introduction to high-level scripting: Ability to write and execute a simple, commented script program that takes user input and displays output. Define the role of variables in the context of script programs. Perform simple element-wise operations on 1 and 2D arrays.

ENGA01: engineering knowledge (2)
ENGK02: mathematical modelling (4)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_3: Solution Seeking (2)
Test 1 (Matlab)
Assignment 1 (Matlab) Peerwise questions
Test 2 (Matlab)
Matlab Project
Project 1 (Matlab) Peer Review
Lab mark
Section B: Matlab Long Answer

Problem solving, functions and debugging: Application of a problem solving methodology to develop an algorithm, translate into pseudocode and then write and execute as a script, calling user written functions as appropriate. Application of debugging skills to locate and fix software bugs.

ENGA02: problem analysis (1)
ENGK02: mathematical modelling (4)
ENGK03: abstraction and formulation (2)
ENGK05: engineering design (1)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_2: Critical Thinking (1)
UOA_3: Solution Seeking (2)
Test 1 (Matlab)
Assignment 1 (Matlab) Peerwise questions
Test 2 (Matlab)
Matlab Project
Project 1 (Matlab) Peer Review
Project 2 (C) Functionality and Style
Section A: C Programming Multiple Choice
Section B: Matlab Long Answer
Lab mark

Controlling program flow: Application of logical operators (and, or, not, >, <, ==), conditional statements (if, elseif, else) and loops (for, while) within a script to control program flow.

ENGK03: abstraction and formulation (2)
UOA_3: Solution Seeking (2)
Test 1 (Matlab)
Assignment 1 (Matlab) Peerwise questions
Test 2 (Matlab)
Matlab Project
Project 1 (Matlab) Peer Review
Test 3 (C)
Project 2 (C) Functionality and Style
Section A: C Programming Multiple Choice
Section B: Matlab Long Answer
Lab mark

Graphics and image processing: Application of in-built functions for plotting 1D, 2D and 3D data, manipulating and processing images.

ENGA01: engineering knowledge (2)
ENGK02: mathematical modelling (4)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_3: Solution Seeking (2)
Assignment 1 (Matlab) Peerwise questions
Test 2 (Matlab)
Matlab Project
Project 1 (Matlab) Peer Review
Section A: C Programming Multiple Choice
Section B: Matlab Long Answer
Lab mark

Reading and writing data: Application of in-built functions for string manipulation to simple problems. Application of in-built functions for ASCII file input/output. For a moderate sized dataset, compute simple summary statistics (min, max, mean, std, sum, etc).

ENGA01: engineering knowledge (2)
ENGK02: mathematical modelling (4)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_3: Solution Seeking (2)
Assignment 1 (Matlab) Peerwise questions
Test 2 (Matlab)
Test 3 (C)
Project 2 (C) Functionality and Style
Section A: C Programming Multiple Choice
Section B: Matlab Long Answer
Lab mark

Solving linear algebra problems and differential equations: Application of in-built functions to: solve linear algebra problems and first order differential equations. Write functions that take other functions as inputs.

ENGA01: engineering knowledge (2)
ENGA02: problem analysis (1)
ENGK02: mathematical modelling (4)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_2: Critical Thinking (1)
UOA_3: Solution Seeking (2)
Lab mark
Section B: Matlab Long Answer

An introduction to compiled languages: Comprehend how a low-level language is compiled to produce an executable. Comprehend why there are different data types, how they are declared and explain how this affects values assigned to them. Write, compile and execute a well commented computer program that performs a simple task.

ENGA01: engineering knowledge (2)
UOA_1: Disciplinary Knowledge and Practice (2)
CodeWrite Assignment (C)
Test 3 (C)
Project 2 (C) Functionality and Style
Section A: C Programming Multiple Choice
Lab mark

Data structures: Create and manipulate structures and images via library routines in the context of a compiled language.

ENGK02: mathematical modelling (4)
ENGK03: abstraction and formulation (2)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_3: Solution Seeking (2)
CodeWrite Assignment (C)
Test 3 (C)
Project 2 (C) Functionality and Style
Section A: C Programming Multiple Choice
Lab mark

Pointers, memory allocation and strings: Create and manipulate string arrays in compiled languages. Allocate/deallocate memory for arrays. Create, manipulate and destroy pointers for array manipulation. Explain the difference between a variable and a pointer to a variable, and the advantage of pointers when using functions.

ENGA01: engineering knowledge (2)
UOA_1: Disciplinary Knowledge and Practice (2)
CodeWrite Assignment (C)
Test 3 (C)
Project 2 (C) Functionality and Style
Section A: C Programming Multiple Choice
Lab mark

Recursion: Application of compiled languages to write recursive functions.

ENGA01: engineering knowledge (2)
ENGA02: problem analysis (1)
ENGK03: abstraction and formulation (2)
UOA_1: Disciplinary Knowledge and Practice (2)
UOA_2: Critical Thinking (1)
UOA_3: Solution Seeking (2)
Section A: C Programming Multiple Choice
Lab mark

Define Software Engineering

ENGA01: engineering knowledge (2)
UOA_1: Disciplinary Knowledge and Practice (2)
Section A: C Programming Multiple Choice

Assessment


Coursework

Coursework Labs (12% of final grade). There are weekly labs (twelve in total). Each lab is worth 1% of your final grade. See your course manual for details of lab material including how to earn your weekly 1%.
• Labs 1-6 cover Matlab programming.
• Labs 7-12 cover C programming.
Assignments (4% of final grade). There are two short assignments, each worth 2% of your final grade. Assignment 1 (on Matlab) requires students to contribute to a repository of multichoice questions. You will be assigned to either group A or group B at the end of week 2.
• Assignment 1 Group A must submit their questions by Friday 3rd August.
• Assignment 1 Group B must submit their questions by Friday 17th August.
• Assignment 2 (on C programming) is due Tuesday 2nd October .
Projects (24% of final grade). There are two large projects, each worth 12% of your final grade.
• Project 1 (on Matlab programming) is due Sunday 9th September.
• Project 1 also includes a peer review component which is due Sunday 16th September
• Project 2 (on C programming) has a first submission round (for style marks and feedback on functionality) due Sunday 22nd October
• Project 2 (on C programming) has a second submission (for functionality marks) is due Friday 19th October
Tests (10% of final grade). There are three multichoice tests in total. Test 1 and 2 are on Matlab. Your BEST result from the two Matlab tests counts towards 5% of your final grade. Test 3 covers C programming and is worth 5% of your final grade.
Test details are as follows:
• Test 1 (Matlab). 30 minute test held on the evening of Thursday 9th of August, covering material taught in the preceding weeks. Assemble at 6.15pm.
• Test 2 (Matlab). 30 minute test held during your usual lecture time on Wednesday 22nd August, covering material taught since the start of semester. Assemble outside your usual lecture theatre.
• Test 3 (C). 90 minute test held on the evening of Thursday 4th of October, covering C material taught in the proceeding weeks. Assemble at 6.15pm.

Exam rules

A 10% rule applies when calculating your final grade. The marks for the components of the course that are not invigilated (i.e. assignments, labs and projects) may not bring the combined percentage score for the invigilated components (e.g. tests and exam) up by more than 10 points.
DO YOUR OWN COURSEWORK, otherwise you will not know what you are doing in the exam and you will fail.

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

A late penalty will be applied to projects submitted after the due date.
Projects submitted late will have a 1 percent per hour (or part of an hour) penalty applied.
Late projects will not be accepted beyond 48 hours past the due date.
All mark queries must be lodged BEFORE the day of the final exam.

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.

Student feedback


Actions shared/based on previous feedback

Some students commented they had to wait too long for sign off. This year we will have graduate teach assistants to oversee lab streams and spend more time reinforcing to lab teaching assistants the need to move around. Also we will roll out the practice of having a dedicated teaching assistant or two to mark off the previous week's lab, as this seemed to work well in the lab streams that used this practice. We will consider some automated testing scripts that can be used to verify tasks, so that students can just run the script to verify code works (which will speed up checking people off as we can then focus primarily on style).

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.