COSC121-26S1 (C) Semester One 2026

Introduction to Computer Programming

15 points

Details:
Start Date: Monday, 16 February 2026
End Date: Sunday, 21 June 2026
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Sunday, 1 March 2026
  • Without academic penalty (including no fee refund): Sunday, 10 May 2026

Description

An introduction to imperative computer programming using Python. Topics include: expressions, assignment, selection and iteration, structured data (lists, dictionaries, tuples, arrays), functional decomposition, file processing, using library code, and an introduction to object-oriented programming.

Computer programming in a high-level language with special emphasis on numerical computation. This course is an alternative to COSC131 and is a prerequisite for COSC122 and all 200 level COSC and SENG courses. COSC121 teaches the fundamentals of computer programming using the Python language and can be taken by students who have no previous programming background.

Learning Outcomes

1. Use Python data structures and flow control constructs and their applications [WA1]
2. Apply the Python language to design, implement and test programs that solve simple problems in science and engineering [WA1]
3. Reduce complexity through the (re)structuring of code [WA1]
4. Use the NumPy numerical library to perform a range of numerical calculations and to use the Matplotlib library to plot graphs [WA1]
5. Apply Object-Oriented Programming (OOP) in Python at a basic level [WA1]

University Graduate Attributes

This course will provide students with an opportunity to develop the Graduate Attributes specified below:

Employable, innovative and enterprising

Students will develop key skills and attributes sought by employers that can be used in a range of applications.

Restrictions

Timetable 2026

Students must attend one activity from each section.

Computer Lab A
Activity Day Time Location Weeks
01 Tuesday 11:00 - 13:00 Jack Erskine 010 Computer Lab (17/2-24/3, 21/4-26/5)
Jack Erskine 001 Computer Lab (17/2-24/3, 21/4-26/5)
16 Feb - 29 Mar
20 Apr - 31 May
02 Thursday 14:00 - 16:00 Jack Erskine 010 Computer Lab (19/2-26/3, 23/4-28/5)
Jack Erskine 001 Computer Lab (19/2-26/3, 23/4-28/5)
16 Feb - 29 Mar
20 Apr - 31 May
03 Monday 16:00 - 18:00 Jack Erskine 010 Computer Lab (16/2-23/3, 20/4, 4/5-25/5)
Jack Erskine 001 Computer Lab (16/2-23/3, 20/4, 4/5-25/5)
16 Feb - 29 Mar
20 Apr - 26 Apr
4 May - 31 May
04 Friday 13:00 - 15:00 Jack Erskine 010 Computer Lab (20/2-27/3, 24/4-29/5)
Jack Erskine 001 Computer Lab (20/2-27/3, 24/4-29/5)
16 Feb - 29 Mar
20 Apr - 31 May
05 Monday 12:00 - 14:00 Jack Erskine 248 Computer Lab
16 Feb - 29 Mar
20 Apr - 26 Apr
4 May - 31 May
06 Tuesday 13:00 - 15:00 Jack Erskine 133 Lab 2
16 Feb - 29 Mar
20 Apr - 31 May
Drop in Class A
Activity Day Time Location Weeks
01 Wednesday 13:00 - 15:00 Jack Erskine 001 Computer Lab
13 Apr - 19 Apr
Drop in Class B
Activity Day Time Location Weeks
01 Thursday 13:00 - 15:00 Jack Erskine 001 Computer Lab
13 Apr - 19 Apr
Drop in Class C
Activity Day Time Location Weeks
01 Friday 13:00 - 15:00 Jack Erskine 001 Computer Lab
13 Apr - 19 Apr
Pals S
Activity Day Time Location Weeks
01 Wednesday 13:00 - 14:00 Jack Erskine 241
23 Feb - 29 Mar
20 Apr - 31 May
02 Thursday 16:00 - 18:00 Psychology - Sociology 251
23 Feb - 29 Mar
20 Apr - 31 May
03 Friday 10:00 - 12:00 Puaka James Hight 308
23 Feb - 29 Mar
20 Apr - 31 May
04 Monday 10:00 - 11:00 Rehua 329
23 Feb - 29 Mar
20 Apr - 26 Apr
4 May - 31 May
05 Tuesday 14:00 - 16:00 A7
23 Feb - 29 Mar
20 Apr - 31 May

Examinations, Quizzes and Formal Tests

Test A
Activity Day Time Location Weeks
01 Wednesday 19:00 - 20:30 Jack Erskine 001 Computer Lab
23 Mar - 29 Mar
02 Wednesday 19:00 - 20:30 Jack Erskine 010 Computer Lab
23 Mar - 29 Mar
03 Wednesday 19:00 - 20:30 Jack Erskine 248 Computer Lab
23 Mar - 29 Mar
04 Wednesday 19:00 - 20:30 Jack Erskine 133 Lab 2
23 Mar - 29 Mar
05 Wednesday 19:00 - 20:30 Jack Erskine 131 Lab 1
23 Mar - 29 Mar
06 Wednesday 19:00 - 20:30 Jack Erskine 136 Lab 4
23 Mar - 29 Mar
07 Wednesday 19:00 - 20:30 Jack Erskine 134 Lab 3
23 Mar - 29 Mar
08 Wednesday 19:00 - 20:30 Location advised via TimeEdit
23 Mar - 29 Mar

Course Coordinator

Andrew Bainbridge-Smith

Course Administrator

Vesper Haven

Assessment

Assessment Due Date Percentage  Description
Learning Modules 11% 11 Modules, due weekly, 1% each
Self Assessment Quizz 16 Mar 2026 4% Uninvigilated - can be sat at home or on campus
Assignment 1 20 Apr 2026 5% Programming Assignment
Assignment 2 29 May 2026 5% Programming Assignment
Mid-Course Test 25 Mar 2026 20%
Final Exam 55%


Notes on Assessment

The Computer Science department's grading policy states that to pass a course you must meet two requirements:
1. You must achieve an average grade of at least 50% over all assessment items.
2. You must achieve an average mark of at least 45% on invigilated assessment items, which in COSC121 are the test and the final exam.

However, COSC121 uses a form of “plussage” to calculate both the invigilated grade and the course total. If your final exam mark as a percentage is higher than your test mark, the final exam mark is used for the test mark as well. This means that your invigilated mark will be the maximum of:

(a) The weighted average of the test and final exam marks using the weightings given in the table above, or

(b) Just the final exam mark.

If case (b) applies, the final exam is worth 75% of the course total and the test mark is disregarded.

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.

Additional Course Outline Information

Grade moderation

If you satisfy both criteria (a) and (b) in the “Notes on Assessment” section, 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 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.

Special Consideration Applications for the Final Exam

Please click HERE for the CSSE Department's policy for the academic remedy of applications for a special consideration for final exams.

Final Examination Resits

Students who sit the final exam but fail either or both passing criteria in the section “General Assessment Notes” will be offered the opportunity to sit a remedial final exam (called the “resit” exam).  This will take place on campus on the afternoon of Wednesday 1st July, 2026. If eligible, you will receive an emailed invitation.

If you sit it, the remedial exam mark will replace the original exam mark if higher. If the passing criteria are then satisfied, your mark will be a C-. If you are unable to attend the resit exam, your existing mark will remain unchanged. Please keep this in mind when planning any activities for the break following the normal exam period.

Indicative Fees

Domestic fee $1,058.00

International fee $5,388.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 COSC121 Occurrences