COSC131-21S1 (C) Semester One 2021

Introduction to Programming for Engineers

15 points

Details:
Start Date: Monday, 22 February 2021
End Date: Sunday, 27 June 2021
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Sunday, 7 March 2021
  • Without academic penalty (including no fee refund): Friday, 14 May 2021

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, some basic numerical algorithms and an introduction to object-oriented programming.

Learning Outcomes

Students will:
Understand the fundamental Python data types and their applications.
Be able to implement basic algorithms using selection, iteration and function calling.
Be able to apply their understanding of the Python language in designing, implementing and testing programs to solve simple problems in science and engineering.
Be able to (re)structure code using functions to reduce complexity.
Be able to use the numpy numerical library to perform a range of numerical calculations and to use the matplotlib library to plot graphs.
Be familiar with several basic numerical algorithms for root finding, numerical integration and series evaluation.
Be familiar with simple object oriented programming in Python.
Be able to review and assess the quality and maintainability of Python code.

Restrictions

Timetable 2021

Students must attend one activity from each section.

Lecture A
Activity Day Time Location Weeks
01 Tuesday 10:00 - 11:00 K1 Lecture Theatre
22 Feb - 28 Feb
02 Monday 17:00 - 18:00 C1 Lecture Theatre
22 Feb - 28 Feb
03 Tuesday 16:00 - 17:00 C1 Lecture Theatre
22 Feb - 28 Feb
Computer Lab A
Activity Day Time Location Weeks
01 Monday 09:00 - 11:00 Jack Erskine 010 Computer Lab (22/2-29/3, 3/5-31/5)
Jack Erskine 001 Computer Lab (22/2-29/3, 3/5-31/5)
22 Feb - 4 Apr
3 May - 6 Jun
02 Wednesday 16:00 - 18:00 Jack Erskine 010 Computer Lab (24/2-31/3, 28/4-2/6)
Jack Erskine 001 Computer Lab (24/2-31/3, 28/4-2/6)
22 Feb - 4 Apr
26 Apr - 6 Jun
03 Friday 15:00 - 17:00 Jack Erskine 010 Computer Lab (26/2-26/3, 30/4-4/6)
Jack Erskine 001 Computer Lab (26/2-26/3, 30/4-4/6)
22 Feb - 28 Mar
26 Apr - 6 Jun
04 Thursday 10:00 - 12:00 Jack Erskine 010 Computer Lab (25/2-1/4, 29/4-3/6)
Jack Erskine 001 Computer Lab (25/2-1/4, 29/4-3/6)
22 Feb - 4 Apr
26 Apr - 6 Jun
05 Friday 11:00 - 13:00 Jack Erskine 010 Computer Lab (26/2-26/3, 30/4-4/6)
Jack Erskine 001 Computer Lab (26/2-26/3, 30/4-4/6)
22 Feb - 28 Mar
26 Apr - 6 Jun
06 Tuesday 11:00 - 13:00 Jack Erskine 010 Computer Lab (23/2-30/3, 27/4-1/6)
Jack Erskine 001 Computer Lab (23/2-30/3, 27/4-1/6)
22 Feb - 4 Apr
26 Apr - 6 Jun
07 Monday 15:00 - 17:00 Jack Erskine 010 Computer Lab (22/2-29/3, 3/5-31/5)
Jack Erskine 001 Computer Lab (22/2-29/3, 3/5-31/5)
22 Feb - 4 Apr
3 May - 6 Jun
08 Tuesday 16:00 - 18:00 Jack Erskine 010 Computer Lab (23/2-30/3, 27/4-1/6)
Jack Erskine 001 Computer Lab (23/2-30/3, 27/4-1/6)
22 Feb - 4 Apr
26 Apr - 6 Jun
09 Thursday 08:00 - 10:00 Jack Erskine 010 Computer Lab (25/2-1/4, 29/4-3/6)
Jack Erskine 001 Computer Lab (25/2-1/4, 29/4-3/6)
22 Feb - 4 Apr
26 Apr - 6 Jun
10 Tuesday 12:00 - 14:00 Jack Erskine 248 Computer Lab
22 Feb - 4 Apr
26 Apr - 6 Jun
11 Wednesday 10:00 - 12:00 Jack Erskine 001 Computer Lab
22 Feb - 4 Apr
26 Apr - 6 Jun
12 Thursday 15:00 - 17:00 Jack Erskine 001 Computer Lab
22 Feb - 4 Apr
26 Apr - 6 Jun
13 Tuesday 14:00 - 16:00 Jack Erskine 248 Computer Lab
22 Feb - 4 Apr
26 Apr - 6 Jun
Tutorial A
Activity Day Time Location Weeks
01 Tuesday 09:00 - 10:00 Haere-roa 118 Ngaio Marsh Theatre
1 Mar - 4 Apr
26 Apr - 6 Jun

Examination and Formal Tests

Test A
Activity Day Time Location Weeks
01 Tuesday 19:00 - 21:00 Jack Erskine 131 Lab 1
26 Apr - 2 May
02 Tuesday 19:00 - 21:00 Jack Erskine 133 Lab 2
26 Apr - 2 May
03 Tuesday 19:00 - 21:00 Jack Erskine 134 Lab 3
26 Apr - 2 May
04 Tuesday 19:00 - 21:00 Jack Erskine 136 Lab 4
26 Apr - 2 May
05 Tuesday 19:00 - 21:00 Civil - Mech E201 Mech Computer Lab
26 Apr - 2 May
06 Tuesday 19:00 - 21:00 Eng Core 342 CAD Lab
26 Apr - 2 May
07 Tuesday 19:00 - 21:00 Jack Erskine 001 Computer Lab
26 Apr - 2 May
08 Tuesday 19:00 - 21:00 Jack Erskine 010 Computer Lab
26 Apr - 2 May
09 Tuesday 19:00 - 21:00 Jack Erskine 248 Computer Lab
26 Apr - 2 May
10 Wednesday 19:00 - 21:00 Jack Erskine 133 Lab 2
26 Apr - 2 May
11 Wednesday 19:00 - 21:00 Jack Erskine 136 Lab 4
26 Apr - 2 May
12 Wednesday 19:00 - 21:00 Civil - Mech E201 Mech Computer Lab
26 Apr - 2 May
13 Wednesday 19:00 - 21:00 Eng Core 342 CAD Lab
26 Apr - 2 May
14 Wednesday 19:00 - 21:00 Jack Erskine 001 Computer Lab
26 Apr - 2 May
15 Wednesday 19:00 - 21:00 Jack Erskine 010 Computer Lab
26 Apr - 2 May
16 Wednesday 19:00 - 21:00 Jack Erskine 248 Computer Lab
26 Apr - 2 May
17 Wednesday 19:00 - 21:00 Jack Erskine 131 Lab 1
26 Apr - 2 May
18 Wednesday 19:00 - 21:00 Jack Erskine 134 Lab 3
26 Apr - 2 May
19 Tuesday 19:00 - 21:00 Eng Core 216 CAD Lab
26 Apr - 2 May
20 Wednesday 19:00 - 21:00 Eng Core 216 CAD Lab
26 Apr - 2 May
21 Wednesday 19:00 - 21:00 Civil - Mech E212 Civil Computer Lab
26 Apr - 2 May

Timetable Note

Students must attend one activity from the lecture and computer lab sections; the tutorial however is optional.

Course Coordinator

Richard Lobb

Course Administrator

Paul McKeown

Assessment

Assessment Due Date Percentage  Description
Learning Modules 15% Weekly
Programming Assignments 15% Two Assignments
Mid-Semester Test 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 Learn site of the course.

Additional Course Outline Information

Assessment and grading system

The Computer Science department's grading policy states that in order to pass a course you must meet two requirements:

1. You must achieve an average of at least 50% on the combined assessment items.
2. You must achieve a mark of at least 45% on the weighted average of the test and exam marks, using the weightings given in the "Assessment" section above.
If you satisfy both these criteria, your grade will be determined by the following University- wide scale for converting marks to grades: a total mark of 50% is sufficient for a C- grade, a total mark of 55% earns a C grade, 60% earns a B- grade and so forth. However if you do not satisfy both the passing criteria you will be given either a D or E grade depending on marks. Marks are sometimes scaled to achieve consistency between courses from year to year.

Costs

Your usercode on our computer system enables you to access a range of services. Some of these services are not free and you are responsible for ensuring that your account contains sufficient funds to cover any charges you incur. If your account balance becomes negative then you may be unable to use any computer facilities until you have cleared this debt. The Computer Science Department is not involved with the financial details of your account - you should go to the Information and Communications Technology Services (ICTS) Department for this.
The main chargeable service you are likely to make use of is printing. To use chargeable services you will need to have money loaded on your Canterbury Card.

See the Information and Communication Technology Services (ICTS) Department home page for details of services and charges.

Indicative Fees

Domestic fee $877.00

International fee $4,438.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