Red X iconGreen tick iconYellow tick icon


    The development of large-scale, reliable, and maintainable software systems.

    About this paper

    Paper title Software Engineering
    Subject Computer Science
    EFTS 0.15
    Points 18 points
    Teaching period Semester 2 (On campus)
    Domestic Tuition Fees ( NZD ) $1,173.30
    International Tuition Fees Tuition Fees for international students are elsewhere on this website.
    COSC 202 or COSC 242
    Recommended Preparation
    COSC 203
    Schedule C
    Arts and Music, Science

    Computer Science Adviser

    Teaching staff

    Lecturer: Associate Professor Andrew Trotman

    Paper Structure

    Topics include:

    • Project management (Agile and Waterfall)
    • Software design and specification
    • System maintenance
    • Software reuse
    • Literate programming and documentation
    • Software build processes
    • Testing and debugging
    • Continuous integration
    • Static analysis
    • Code review
    • Standards for software and documentation
    • Verification and validation
    • Software development tools
    • Optimisation and profilers
    • Memory management

    Assignment work includes a major project completed in teams of three or four people who develop and implement a useful system, including all relevant documentation, and using industry standard software tools and practices.


    • Four part assignment (software project) 40%
    • Final exam 60%
    Teaching Arrangements

    Two lectures per week and laboratory work.


    Textbooks are not required for this paper. However, this book is recommended:
    S. McConnell, Code Complete 2nd edition, Microsoft Press, 2004.

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

    This paper will give students practice in:

    • Designing a software system
    • Planning the development of a software system
    • Carrying out the development using appropriate tools
    • Evaluating their work

    Students will learn to use "good practices" including:

    • Version control
    • Continuous Integration
    • Static analysis
    • Testing
    • Coverage
    • Following industry and platform standards


    Semester 2

    Teaching method
    This paper is taught On Campus
    Learning management system

    Computer Lab

    Stream Days Times Weeks
    A1 Friday 14:00-15:50 29-35, 37-42


    Stream Days Times Weeks
    A1 Monday 12:00-12:50 29-35, 37-42
    Wednesday 13:00-13:50 29-35, 37-42


    Stream Days Times Weeks
    A1 Tuesday 09:00-09:50 29-35, 37-42
    Thursday 09:00-09:50 29-35, 37-42
    Back to top