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

COSC202 Software Development

Tools that optimise the development of software; the software that builds software, and how it works; techniques for managing large-scale software projects. Programming languages and their roles in software development.

Software development is a team activity and needs good support from the tools that you use. In this paper you will learn how to work in a team with a range of these tools in order to develop a larger piece of software.

Paper title Software Development
Paper code COSC202
Subject Computer Science
EFTS 0.1500
Points 18 points
Teaching period Semester 1 (On campus)
Domestic Tuition Fees (NZD) $1,141.35
International Tuition Fees Tuition Fees for international students are elsewhere on this website.

^ Top of page

COMP 160 or COMP 162
COSC 241
Recommended Preparation
COMP 101
Schedule C
Arts and Music, Commerce, Science

Teaching staff

Associate Professor Steven Mills

Associate Professor David Eyers

Paper Structure

Topics covered will include:

  • Teamwork, ethics, and software development
  • Shell scripting and version control
  • Programming languages and software libraries
  • Build tools, automation, and continuous integration
  • Testing and debugging
  • Software licensing and open source


  • Internal Assessment (group software project): 60%
  • Final examination: 40%
Teaching Arrangements

Two 1-hour lectures and two 2-hour laboratory sessions per week.


No set textbooks are required for this paper.

Graduate Attributes Emphasised
Lifelong learning, Communication, Critical thinking, Cultural understanding, Ethics, Information literacy, Self-motivation, Teamwork.
View more information about Otago's graduate attributes.
Learning Outcomes

By completion of this paper students are expected to:

  • Be able to compare and contrast the strengths and weaknesses of some key, popular programming languages
  • Understand how software is transformed from human-readable source code into machine-readable, executable code
  • Demonstrate mastery of tools that optimise the reliability and efficiency of software development
  • Gain confidence in approaching unfamiliar programming language environments
  • Be able to manage a software development team producing a project

^ Top of page


Semester 1

Teaching method
This paper is taught On Campus
Learning management system

Computer Lab

Stream Days Times Weeks
Attend one stream from
A1 Tuesday 09:00-10:50 9-14, 16, 18-22
A2 Tuesday 12:00-13:50 9-14, 16, 18-22
A3 Tuesday 14:00-15:50 9-14, 16, 18-22
AND one stream from
B1 Friday 09:00-10:50 9-13, 16-22
B2 Friday 12:00-13:50 9-13, 16-22
B3 Friday 14:00-15:50 9-13, 16-22


Stream Days Times Weeks
A1 Monday 11:00-11:50 9-14, 16-22
Thursday 11:00-11:50 9-14, 16-22