Accessibility Skip to Global Navigation Skip to Local Navigation Skip to Content Skip to Search Skip to Site Map Menu

COMP150 Practical Programming

An introduction to the basics of programming using the Python programming language, with an emphasis on practical topics. Suitable both for students who do not intend to major in Computer Science, and as preparation for COMP 160.

Have you ever wanted to learn how to program a computer without being thrown in at the deep end? This paper gives a gentle introduction to programming in a language called Python, which was designed to be easy to use (the name comes from the humorous TV series Monty Python's Flying Circus, so you can tell that using Python is meant to be fun). Python is increasingly popular for both science and business applications. As a result, this paper is not only a good way to prepare for COMP 160, but also an ideal way to learn the basics of programming if you don't plan to major in Computer Science.

Paper title Practical Programming
Paper code COMP150
Subject Computer and Information Science
EFTS 0.1500
Points 18 points
Teaching period First Semester
Domestic Tuition Fees (NZD) $1,080.30
International Tuition Fees (NZD) $4,858.95

^ Top of page

Schedule C
Arts and Music, Commerce, Science
Computer Science Adviser
Teaching staff

Course Co-ordinator and Lecturer: TBA
Laboratories: Nick Meek

Paper Structure

The ability to program relies heavily on mastering certain skills and techniques. These skills are cumulative in the sense that mastering skills further on in the material requires that you've fully mastered prior skills. Therefore, the structure of COMP 150 is based on a mastery model. In this model, students progress at their own pace and move on to the next topic only when they've mastered the previous topic. As a consequence, COMP 150 does not follow the single-paced lecture/laboratory model of other papers.


There are eight mastery progressions and two practical tests. The progressions are worth 60% in total, and the practical tests are worth 20% each.

The progressions are pass/fail. You cannot sit the next progression until you successfully complete the previous one. You can re-sit the progressions as many times as you like, but only once per day. 

Teaching Arrangements

There are two lectures per week.
There are two laboratory sessions each week, each two hours long.
The laboratories have 24/7 access. Course material is made available on Blackboard.

The handbook is all that is required. It is available for free download or can be printed at cost.
Course outline
View the course outline for COMP 150
Graduate Attributes Emphasised
Lifelong learning, Critical thinking, Information literacy.
View more information about Otago's graduate attributes.
Learning Outcomes
Students will learn:
  • The fundamental concepts of computation and programming
  • How to write simple and moderately complex computer programs in the Python programming language
  • How to test and debug programs
  • How to use the most common data structures (lists, dictionaries, sets)
  • The basics of graphical user interface programming
  • The basics of object-oriented programming
  • How to automate common computer tasks via programming

^ Top of page


First Semester

Teaching method
This paper is taught On Campus
Learning management system

Computer Lab

Stream Days Times Weeks
Attend one stream from
Y1 Monday 12:00-13:50 10-12, 14-15, 17, 19-22
Y2 Monday 14:00-15:50 10-12, 14-15, 17, 19-22
Y3 Tuesday 09:00-10:50 10-12, 14-15, 17-22
Y4 Tuesday 11:00-12:50 10-12, 14-15, 17-22
Y5 Tuesday 13:00-14:50 10-12, 14-15, 17-22
Y6 Tuesday 15:00-16:50 10-12, 14-15, 17-22
Y7 Wednesday 10:00-11:50 10-12, 14-15, 17-22
Y8 Wednesday 12:00-13:50 10-12, 14-15, 17-22
AND one stream from
Z1 Wednesday 15:00-16:50 9-12, 14-15, 17-22
Z2 Thursday 10:00-11:50 9-12, 14-15, 17-22
Z3 Thursday 12:00-13:50 9-12, 14-15, 17-22
Z4 Thursday 14:00-15:50 9-12, 14-15, 17-22
Z5 Thursday 16:00-17:50 9-12, 14-15, 17-22
Z6 Friday 10:00-11:50 9-12, 14, 17-22
Z7 Friday 12:00-13:50 9-12, 14, 17-22
Z8 Friday 14:00-15:50 9-12, 14, 17-22


Stream Days Times Weeks
L1 Monday 09:00-09:50 9-12, 14-15, 17, 19-22
Wednesday 14:00-14:50 9-12, 14-15, 17-22