COSC131-24S1 (C) Semester One 2024

Introduction to Programming for Engineers

15 points

Details:
Start Date: Monday, 19 February 2024
End Date: Sunday, 23 June 2024
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Sunday, 3 March 2024
  • Without academic penalty (including no fee refund): Sunday, 12 May 2024

Description

Computer programming in a high-level language with special emphasis on numerical computation. This course is required for engineering intermediate and is an alternative to COSC121 as a prerequisite for COSC122 and all 200 level COSC and SENG courses. COSC131 teaches the fundamentals of computer programming using the Python language and can be taken by students who have no previous programming background. Topics include expressions, assignment, selection and iteration, structured data (lists, dictionaries, tuples, arrays), functional decomposition, file processing, numerical computation with numpy, graph plotting with matplotlib and an introduction to object-oriented programming.

Learning Outcomes

Students will:
1. Understand Python data structures and flow control constructs and their applications.
2. Be able to apply their understanding of the Python language to design, implement and test programs that solve simple problems in science and engineering.
3. Be able to (re)structure code using functions to reduce complexity.
4. Be able to use the NumPy numerical library to perform a range of numerical calculations and to use the Matplotlib library to plot graphs.
5. Be familiar with simple Object-Oriented Programming (OOP) in Python.

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.

Prerequisites

1) MATH101, or
2) NCEA 14 Credits (18 strongly recommended) at level 3 Mathematics (including the standards 'Apply differentiation methods in solving problems (91578)' and 'Apply integration methods in solving problems (91579)'), or
3) Cambridge: D at A level or an A at AS level in Mathematics, or
4) IB: 4 at HL or 5 at SL in Mathematics, or
5) approval of the Head of Department based on alternative prior learning.

Restrictions

Timetable 2024

Students must attend one activity from each section.

Lecture A
Activity Day Time Location Weeks
01 Monday 17:00 - 18:00 C1 Lecture Theatre
19 Feb - 25 Feb
02 Tuesday 08:00 - 09:00 C1 Lecture Theatre
19 Feb - 25 Feb
03 Tuesday 17:00 - 18:00 C1 Lecture Theatre
19 Feb - 25 Feb
Computer Lab A
Activity Day Time Location Weeks
01 Monday 09:00 - 11:00 Jack Erskine 001 Computer Lab (19/2)
Jack Erskine 010 Computer Lab (19/2)
Jack Erskine 001 Computer Lab (19/2-25/3, 22/4-27/5)
Jack Erskine 010 Computer Lab (19/2-25/3, 22/4-27/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
02 Monday 13:00 - 15:00 Jack Erskine 010 Computer Lab (19/2-25/3, 22/4-27/5)
Jack Erskine 001 Computer Lab (19/2-25/3, 22/4-27/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
03 Tuesday 08:00 - 10:00 Jack Erskine 010 Computer Lab (20/2-26/3, 23/4-28/5)
Jack Erskine 001 Computer Lab (20/2-26/3, 23/4-28/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
04 Tuesday 10:00 - 12:00 Jack Erskine 010 Computer Lab (20/2-26/3, 23/4-28/5)
Jack Erskine 001 Computer Lab (20/2-26/3, 23/4-28/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
05 Tuesday 13:00 - 15:00 Jack Erskine 010 Computer Lab (20/2-26/3, 23/4-28/5)
Jack Erskine 001 Computer Lab (20/2-26/3, 23/4-28/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
06 Thursday 09:00 - 11:00 Jack Erskine 010 Computer Lab (22/2-28/3, 25/4-30/5)
Jack Erskine 001 Computer Lab (22/2-28/3, 25/4-30/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
07 Thursday 12:00 - 14:00 Jack Erskine 010 Computer Lab (22/2-28/3, 25/4-30/5)
Jack Erskine 001 Computer Lab (22/2-28/3, 25/4-30/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
08 Thursday 16:00 - 18:00 Jack Erskine 010 Computer Lab (22/2-28/3, 25/4-30/5)
Jack Erskine 001 Computer Lab (22/2-28/3, 25/4-30/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
09 Wednesday 10:00 - 12:00 Jack Erskine 010 Computer Lab (21/2-27/3, 24/4-29/5)
Jack Erskine 001 Computer Lab (21/2-27/3, 24/4-29/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
10 Wednesday 12:00 - 14:00 Jack Erskine 010 Computer Lab (21/2-27/3, 24/4-29/5)
Jack Erskine 001 Computer Lab (21/2-27/3, 24/4-29/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
11 Monday 11:00 - 13:00 Jack Erskine 010 Computer Lab (19/2-25/3, 22/4-27/5)
Jack Erskine 001 Computer Lab (19/2-25/3, 22/4-27/5)
19 Feb - 31 Mar
22 Apr - 2 Jun
12 Tuesday 15:00 - 17:00 Jack Erskine 248 Computer Lab
19 Feb - 31 Mar
22 Apr - 2 Jun
13 Monday 13:00 - 15:00 Jack Erskine 248 Computer Lab
19 Feb - 31 Mar
22 Apr - 2 Jun
Pals S
Activity Day Time Location Weeks
01 Monday 15:00 - 17:00 Psychology - Sociology 213
4 Mar - 31 Mar
22 Apr - 2 Jun
02 Thursday 14:00 - 16:00 Puaka James Hight 308
4 Mar - 31 Mar
03 Friday 12:00 - 14:00 Rata 128 Tutorial Room
4 Mar - 31 Mar
22 Apr - 2 Jun

Examination and Formal Tests

Test A
Activity Day Time Location Weeks
01 Friday 19:00 - 20:00 Online Delivery
11 Mar - 17 Mar
02 Friday 20:00 - 21:00 Online Delivery
11 Mar - 17 Mar
Test B
Activity Day Time Location Weeks
01 Monday 19:00 - 20:30 Jack Erskine 131 Lab 1 29 Apr - 5 May
02 Monday 19:00 - 20:30 Jack Erskine 133 Lab 2 29 Apr - 5 May
03 Monday 19:00 - 20:30 Jack Erskine 134 Lab 3 29 Apr - 5 May
04 Monday 19:00 - 20:30 Jack Erskine 136 Lab 4 29 Apr - 5 May
05 Monday 19:00 - 20:30 Jack Erskine 001 Computer Lab 29 Apr - 5 May
06 Monday 19:00 - 20:30 Jack Erskine 010 Computer Lab 29 Apr - 5 May
07 Monday 19:00 - 20:30 Jack Erskine 248 Computer Lab 29 Apr - 5 May
08 Monday 19:00 - 20:30 Rata 342 CAD Lab 29 Apr - 5 May
09 Monday 19:00 - 20:30 Rata 216 CAD Lab 29 Apr - 5 May
10 Tuesday 19:00 - 20:30 Jack Erskine 131 Lab 1 29 Apr - 5 May
11 Tuesday 19:00 - 20:30 Jack Erskine 133 Lab 2 29 Apr - 5 May
12 Tuesday 19:00 - 20:30 Jack Erskine 134 Lab 3 29 Apr - 5 May
13 Tuesday 19:00 - 20:30 Jack Erskine 001 Computer Lab 29 Apr - 5 May
14 Tuesday 19:00 - 20:30 Jack Erskine 010 Computer Lab 29 Apr - 5 May
15 Tuesday 19:00 - 20:30 Jack Erskine 248 Computer Lab 29 Apr - 5 May
16 Tuesday 19:00 - 20:30 Rata 342 CAD Lab 29 Apr - 5 May
17 Tuesday 19:00 - 20:30 Rata 216 CAD Lab 29 Apr - 5 May
18 Tuesday 19:00 - 20:30 Jack Erskine 136 Lab 4 29 Apr - 5 May
19 Monday 19:00 - 20:30 Civil - Mech E212 Civil Computer Lab 29 Apr - 5 May
20 Tuesday 19:00 - 20:30 Civil - Mech E212 Civil Computer Lab 29 Apr - 5 May
21 Monday 19:00 - 20:30 Civil - Mech E201 Mech Computer Lab 29 Apr - 5 May
22 Tuesday 19:00 - 20:30 Civil - Mech E201 Mech Computer Lab 29 Apr - 5 May

Course Coordinator

Richard Lobb

Assessment

Assessment Due Date Percentage  Description
Learning Modules 11% Weekly
Programming Assignments 14% Two Assignments
Test 1 5%
Test 2 15%
Final Exam 55%

Textbooks / Resources

There is no prescribed textbook for the course, as the lecture notes, videos and learning modules should be sufficient for most students. However, those wanting extra reading might wish to consider some of the recommended reading given on the course's Learn site.

The software used in the course is free and is available on all course laboratory computers. It can be installed on nearly all reasonably modern home computers except Chromebooks.

Indicative Fees

Domestic fee $942.00

International fee $4,988.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 Computer Science and Software Engineering .

All COSC131 Occurrences