Red X iconGreen tick iconYellow tick icon

Overview

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.

About this paper

Paper title Software Development
Subject Computer Science
EFTS 0.1500
Points 18 points
Teaching period Semester 1 (On campus)
Domestic Tuition Fees ( NZD ) $1,318.20
International Tuition Fees Tuition Fees for international students are elsewhere on this website.
Prerequisite
COMP 160 or COMP 162
Restriction
COSC 241
Recommended Preparation
COMP 101
Schedule C
Arts and Music, Commerce, Science
Eligibility

Enrolments for this paper require departmental permission. View more information about departmental permission.

Contact

computing@otago.ac.nz

Teaching staff

Dr Daniel Alencar da Costa 

Dr Brendon Woodford

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

 

Teaching Arrangements

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

Textbooks

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
Assessment details
  • Internal Assessment (group software project): 60%
  • Final examination: 40%
Back to top