SWEN 501 (2017) - Home Page

ICTGS logo.png

Welcome to SWEN 501 - Professional Programming Skills

The course builds on basic programming skills, addressing more complex programming and core programming concepts and techniques, including collection data structures, inheritance and object orientation, fundamental algorithms and data structures, exceptions, testing, version control, and security, networking, and databases. The course will be taught as an intensive full time, 5 week block course and leads into the Studio courses, SWEN 502 and 503.

The regular teaching schedule is Mo - Th 10-5.

The courses will take place on the 6th floor of the Wigan St building - but you access the building though the main Vivan St Entrance to the Architecture and Design building. Go into the main entrance, turn right and walk to the back - and strangely into what looks like a large computer lab. On your right will be a lift - we’re on the top floor. We will attempt to put some signs up for Monday, or follow the arrows in the images below:


At this point, turn right, and go towards the lift. You can use either the lift, or the staircase right next to it.

Here is a Google map showing the Te Aro campus: Map

Overall Description of Course Learning Objectives

The course builds on basic programming skills (offered in SWEN131), addressing more complex object-oriented programming concepts and techniques (e.g. inheritance), fundamental algorithms and data structures, testing, version control tools, and software design. During the course, students will collaboratively work on various group assignments to produce small-sized software projects.

Teaching Topics

  • Version control

  • Core object-oriented programming concepts and techniques

  • Algorithms

  • Software unit testing

  • Graphical User Interface (GUI)

  • Describing and documenting software design.

Teaching Staff

The course coordinator for SWEN501 is Dionysios Athanasopoulos. The contact details of the teaching staff for SWEN501 are the following:

Dr. Dionysios Athanasopoulos (Course Coordinator)

Dr. Michael Homer (Course Lecturer)

Dr. Karsten Lundqvist (Course Lecturer)

Dr. Craig Anslow (Course Lecturer)

Vahid Arabnejad (PhD Student - lab assistant)

The Schedule of Lectures

All teaching for SWEN501 is on the 6th floor of the Wigan St building at Te Aro campus, Monday-Thursday. SWEN501 is a five-week course and the schedule of the offered lectures is the following:

  • Week 1
    • MON - THU: Object-oriented programming (version control, inheritance, overloading & overriding, and encapsulation)
  • Week 2
    • MON - THU: Object-oriented programming (generics, exceptions, collections, and hashmaps)
  • Week 3
    • MON - THU: Algorithms & Testing (complexity analysis, data-structures, and unit testing)
  • Week 4
    • MON - THU: GUI (JavaFX, animation)
  • Week 5
    • MON: Software Engineering - design documentation and communication
    • TUE - THU: Group Project (group demonstration of application, group design documentation with (group) reflections on design flaws and/or successes with the impact on final application).


  • Individual assignments: the course will include four assessed individual assignments (A1-A4), one for each week. Each individual assignment will contribute with the 20% of your final course grade.

  • Group project: the course will further include 1 group project (A5) that will be run on the fifth week. A5 will contribute with the 20% of your final course grade.

  • A1-A5 delivery: your answers should be uploaded on the corresponding branch of the VUW assessment system (https://apps.ecs.vuw.ac.nz/submit/SWEN501).

  • There are no tests or exams in SWEN501.