COMPSCI 732: Software Tools and Techniques

This is a joint course, with SOFTENG 750.

Schedule

First Semester 2018, for current timetable and rooms please refer to university timetabling system; please watch out for room changes in the first week of semester.

Assessment structure

Assessment type

Weighting

Graduate Profile Themes

Assignments

10%

  • Fosters graduate capability theme 1 (Disciplinary Knowledge and Practice)

Group project

50%

  • Proposal (5%): Fosters theme 2 (Solution Seeking)
  • Implementation (20%): Fosters theme 1 (Disciplinary Knowledge & Practice) and theme 2 (Solution Seeking)
  • Presentation & demo (7%): Fosters theme 4 (Communication & Engagement)
  • Peer reviews (3%): Fosters theme 4 (Communication & Engagement)
  • Individual report (15%): Fosters theme 3 (Independence & Integrity) and theme 5 (Social & Environmental Responsibilities)

Exam

40%

 

Course contents

Summary

Topic

Details

Advanced aspects of Source Code Management (SCM)

  • Understanding how SCM tools work
  • Understanding how to apply them in a project or process

Collaboration

  • Challenges in building good collaborative applications
  • Understanding error conditions and mitigating them

Static Analysis

  • Understanding the potentials of modern static analysis
  • Understanding the formal methods behind static analysis

Cross-platform application development

  • Challenges
  • Techniques & trade-offs
  • Tool support

Testing for cross-platform applications

  • Testing on heterogenous platforms
  • Testing automation
  • Scripts & tool support

Learning Outcomes

After successful completion of the course, students will be able to:

  • Apply advanced source code management techniques to understand and manage change in projects.
  • Apply advanced techniques to make collaboration work smoothly on a technical and design level.
  • Apply advanced static analysis techniques and type concepts to improve software design.
  • Describe the challenges involved with developing cross-platform applications, identify solutions to those challenges, and compare & contrast those solutions.
  • Develop complex cross-platform applications using their choice of language and tool suite.
  • Understand the importance of application testing across a wide range of heterogeneous devices.
  • Use appropriate tools to ease the process of multi-device testing.

Coursework & Deliverables

Deliverable

Worth

Due date

Project proposal

5%

Monday March 19th, 7pm

Implementation

20%

Sunday April 29th, 7pm

Peer reviews

3%

Sunday May 20th, 7pm

Report

15%

Sunday May 27th, 7pm

Presentation & Demo

7%

During the second half of the semester

Assignment 1

5%

Monday March 26th, 7pm

Assignment 2

5%

Sunday June 3rd, 7pm

Exam

40%

TBC

Related Reading

Library and web resources will be indicated alongside online resources in Canvas.

Lecturers

 For more information, please refer to the course information handout or the course intro slides.

Tutor

Behzad Farokhi (bfar713@aucklanduni.ac.nz)

Class Representative

Morton Sykes (msyk659@aucklanduni.ac.nz)

Course summary:

Date Details Due