SENG401-20S1 (C) Semester One 2020

Software Engineering III

15 points

Start Date: Monday, 17 February 2020
End Date: Sunday, 21 June 2020
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Friday, 28 February 2020
  • Without academic penalty (including no fee refund): Friday, 29 May 2020


This course will build on SENG201 and SENG301, deepening study of design and quality assurance in software projects.

Learning Outcomes

  • After attending this course, you should be able to:
  • Apply basic research skills in the context of a professional programme,
  • Interpret and synthesise (potentially contradictory) information from various sources and communicate your judgements and ideas succinctly and efficiently using appropriate domain terminology.
  • Explain ideas and issues surrounding design and quality in software engineering.
  • Explain and critique a particular aspect of software engineering and guide discussion about it. Critically analyse an existing codebase and suggest improvements.
  • Generate arguments and defend judgements about the various aspects you have studied in software engineering. This will involve being able to justify your viewpoint.




Course Coordinator

Moffat Mathews


Assessment Due Date Percentage 
Assignment One
Assignment Two

The assessments in this course are made up of two assignments and an exam. The assignments may vary from year to year, however an example of what the assignments may include is described below.

Assignment 1 (Example): You will study a particular topic or practice to do with design or quality (for example, the use of design patterns in industry). To do this, you will conduct a literature review of academic papers (e.g. studies examining the use of design patterns in large software development businesses), blogs or writings by senior, experienced developers, or explore the mindset behind different technologies (e.g. “design patterns are a band aid for badly designed languages”). You will collate this information, formulate arguments for and against this practice, create and propose a recommendation/solution, speculate how your recommendation might could be generalised (with or without adaptation), and lead a discussion in class. You will be encouraged to adopt a controversial stance for the discussion. During this discussion, you will present examples to stimulate debate, persuade the audience by defending your stance, and justify your solution using positive or negative examples from your background research. You will also be required to write a report. In the report, you will compile all your findings and integrate feedback from the class to present a balanced viewpoint of your topic.  As an audience member in the discussions, you will also be required to give brief written feedback to each presenter.

Assignment 2 (Example): You will be required to analyse a codebase, diagnose problems (including potential problems), and provide recommendations on how to improve it. You will be expected to analyse the codebase manually or using software tools, utilities or scripts you have written. The codebase should be assessed using design principles you have learnt over the course of your degree. You will then present the description of the codebase, the topic, the work you conducted, and the outcomes (including judgements and recommendations for improvement) in the form of a written report.

Updated Semester One 2020 assessment deadlines and details will be available once finalised.

Textbooks / Resources

Given the nature of the course, and the rapid change in the software industry, there is no single generic text book. Advice will be available from the course coordinator for appropriate textbooks and other resources.

Additional Course Outline Information

Grade moderation

The Computer Science department's grading policy states that in order to pass a course you must meet two requirements:
1. You must achieve an average grade of at least 50% over all assessment items.
2. You must achieve an average mark of at least 45% on invigilated assessment items.
If you satisfy both these criteria, your grade will be determined by the following University- wide scale for converting marks to grades: an average mark of 50% is sufficient for a C- grade, an average mark of 55% earns a C grade, 60% earns a B- grade and so forth. However if you do not satisfy both the passing criteria you will be given either a D or E grade depending on marks. Marks are sometimes scaled to achieve consistency between courses from year to year.

Students may apply for special consideration if their performance in an assessment is affected by extenuating circumstances beyond their control.

Applications for special consideration should be submitted via the Examinations Office website within five days of the assessment.

Where an extension may be granted for an assessment, this will be decided by direct application to the Department and an application to the Examinations Office may not be required.

Special consideration is not available for items worth less than 10% of the course.

Students prevented by extenuating circumstances from completing the course after the final date for withdrawing, may apply for special consideration for late discontinuation of the course. Applications must be submitted to the Examinations Office within five days of the end of the main examination period for the semester.

Indicative Fees

Domestic fee $1,022.00

International fee $4,800.00

* All fees are inclusive of NZ GST or any equivalent overseas tax, and do not include any programme level discount or additional course-related expenses.

Minimum enrolments

This course will not be offered if fewer than 5 people apply to enrol.

For further information see Computer Science and Software Engineering .

All SENG401 Occurrences

  • SENG401-20S1 (C) Semester One 2020