COSC131-23S1 (C) Semester One 2023

Introduction to Programming for Engineers

15 points

Start Date: Monday, 20 February 2023
End Date: Sunday, 25 June 2023
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Sunday, 5 March 2023
  • Without academic penalty (including no fee refund): Sunday, 14 May 2023


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.

Please refer to the course page on AKO | Learn for all information about your course, including lectures, labs, tutorials and assessments.

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 and numerical integration.
* Be familiar with simple Object Oriented Programming (OOP) in Python.
* Be able to review and assess the quality and maintainability of Python code.


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.


Timetable Note

In the first week of the semester students should attend one lecture from Lecture A and one computer lab session. From week two onwards students can attend extra lab sessions if required.

The PALs sessions are optional - more information about these will be provided on the course Learn page.

Course Coordinator

Richard Lobb

Course Administrator

Paul McKeown


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

Please refer to the course page on AKO | Learn for up to date information about the course, including lectures, labs and assessments.

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.

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.

Additional Course Outline Information

Grade moderation

In order to pass this course, you must meet two requirements:
1. You must achieve at least 50% on the weighted total of all assessment items.
2. You must achieve at least 45% on the weighted average of Test B and the final exam.

The weights used to compute the two weighted averages are 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: an average mark of 50% is sufficient for a C- grade, an average mark of 55% earns a C grade, 60% earns a C+ 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.

Students may apply for special consideration if their performance in an assessment is affected by extenuating circumstances beyond their control.

Applications for special consideration should be submitted via the Examinations Office website within five days of the assessment.

Where an extension may be granted for an assessment, this will be decided by direct application to the Department and an application to the Examinations Office may not be required.

Special consideration is not available for items worth less than 10% of the course.

Students prevented by extenuating circumstances from completing the course after the final date for withdrawing, may apply for special consideration for late discontinuation of the course. Applications must be submitted to the Examinations Office within five days of the end of the main examination period for the semester.


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 $916.00

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