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%

    Timetable

    Semester 1

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

    Computer Lab

    Stream Days Times Weeks
    Attend one stream from
    A1 Tuesday 13:00-14:50 9-14, 16-22
    Wednesday 14:00-15:50 9-14, 16-22
    A2 Monday 16:00-17:50 9-14, 16-17, 19-22
    Thursday 13:00-14:50 9-14, 16-22
    A3 Tuesday 17:00-18:50 9-14, 16-22
    Friday 11:00-12:50 9-14, 16-22

    Lecture

    Stream Days Times Weeks
    Attend
    A1 Monday 13:00-13:50 9-14, 16-17, 19-22
    Wednesday 12:00-12:50 9-14, 16-22
    Back to top