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

COMP160 General Programming

An introduction to the art and craft of computer programming and object-oriented design using Java. A first look at building graphical applications.

If you're serious about computing, then COMP 160 is the key paper for you. It introduces object-oriented programming in the Java language and is a prerequisite for all 200-level Computer Science papers. Although COMP 160 assumes no previous programming experience, it is quite a fast-paced paper, and we recommend that less confident students should take COMP 150 first. We offer COMP 160 in Summer School (it is being replaced by COMP161 in S1 and COMP162 in S2).

Paper title General Programming
Paper code COMP160
Subject Computer and Information Science
EFTS 0.15
Points 18 points
Teaching period Summer School (On campus)
Domestic Tuition Fees (NZD) $1,092.15
International Tuition Fees Tuition Fees for international students are elsewhere on this website.

^ Top of page

Restriction
COMP 103
Recommended Preparation
COMP 150
Schedule C
Arts and Music, Commerce, Science
Eligibility

No particular requirements.

Contact

Computer Science Adviser

Teaching staff

Course Co-ordinator: Anthony Robins

Lecturers:
Summer School: Anthony Robins

Laboratories: Sandy Garner

Paper Structure

Lecture Topics:

  • Introduction
  • Data types and language basics
  • Program structure - methods and basics
  • Expressions, Arithmetic
  • Graphics - drawing and GUIs
  • Objects and special methods
  • Strings
  • Structured programming
  • Booleans
  • Selection
  • Repetition - iteration, loops
  • Classes and methods
  • References
  • Arrays
  • Graphics components
  • Graphics events
  • Files - input/output, sorting
  • Hierarchies
  • Inheritance
  • Visibility, Overriding
  • Abstract classes
  • Collections
  • ArrayList
  • Simulation, Programming

Laboratory Topics:

  • Intro to Java
  • Variables
  • Expressions
  • Graphics
  • Objects
  • Constructors
  • Math and Random Selection
  • Strings
  • Repetition
  • Graphical Objects
  • Arrays
  • 2D Arrays
  • GUIs
  • Reading from Files
  • ArrayLists
  • Hierarchies
  • Inheritance
  • Visibility
  • Overriding
  • Abstract Classes

Assessment:

  • Lab-based exercises 25%
  • Mid-semester exam 15%
  • Final examination 60%

The final examination will cover material from lecture notes, the textbook, and the lab book (including readings). It will be two hours long. Students must pass the final exam to pass the paper.

Teaching Arrangements
  • Two lectures per week
  • Two labs per week (two hours each)

Terms requirement:

  • Students must participate in 21 of their 25 scheduled lab sessions
Textbooks

Java Foundations: Introduction to Program Design, Otago edition. John Lewis, Peter DePasquale, Joseph Chase. Addison-Wesley/Pearson Education Inc.

Course outline

View course outline for COMP 160

Graduate Attributes Emphasised
Lifelong learning, Critical thinking, Information literacy, Self-motivation
view more information about Otago's graduate attributes
Learning Outcomes

This paper will enable students to:

  • Demonstrate understanding of the nature or programming and programming languages
  • Analyse and solve typical programming examples and tasks
  • Write programs using the Java programming language
  • Demonstrate understanding of the basics of graphical user interfaces and animation
  • Write Java programs which implement basic graphical user interfaces and animation

^ Top of page

Timetable

Summer School

Location
Dunedin
Teaching method
This paper is taught On Campus
Learning management system
Blackboard

Computer Lab

Stream Days Times Weeks
Attend one stream from
X1 Monday 09:00-10:50 3-5, 7
Tuesday 09:00-10:50 2-7
Wednesday 09:00-10:50 2-7
Thursday 09:00-10:50 2-7
Friday 09:00-10:50 2-7
X2 Monday 12:00-13:50 3-5, 7
Tuesday 12:00-13:50 2-7
Wednesday 12:00-13:50 2-7
Thursday 12:00-13:50 2-7
Friday 12:00-13:50 2-7

Lecture

Stream Days Times Weeks
Attend
L1 Monday 11:00-11:50 2-5, 7
Tuesday 11:00-11:50 2-7
Wednesday 11:00-11:50 2-7
Thursday 11:00-11:50 2-7
Friday 11:00-11:50 2-7