SENG401-19S1 (C) Semester One 2019

Software Engineering III

15 points
18 Feb 2019 - 23 Jun 2019

Description

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.

Pre-requisites

Restrictions

COSC427

Timetable 2019

Students must attend one activity from each section.

Lecture A
Activity Day Time Location Weeks
01 Tuesday 15:00 - 17:00 Ernest Rutherford 140 18 Feb - 7 Apr
29 Apr - 2 Jun
Tutorial A
Activity Day Time Location Weeks
01 Wednesday 15:00 - 17:00 Ernest Rutherford 465 18 Feb - 7 Apr
29 Apr - 2 Jun

Course Coordinator

Moffat Mathews

Assessment

Assessment Due Date Percentage 
Assignment One 25%
Assignment Two 25%
Exam 50%


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.

Textbooks

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,002.00

International fee $4,575.00

* Fees include New Zealand GST 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-19S1 (C) Semester One 2019