SWEN 501 (2019) - Home Page

Welcome to SWEN501 — 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, exceptions, and version control. The course will be taught as an intensive full time 6-week block course and leads into the Studio courses, SWEN 502 and 503.

The regular teaching schedule is Monday through Thursday, starting at 10am. The course runs in parallel with SWEN505, which takes place on Fridays and has its own schedule.

The courses will take place on the 2nd floor of the NEC building, 40 Taranaki St (next to Flight Centre, cnr Taranaki and Manners Street)

 Map of 40 Taranaki St


To access the teaching facility, take the lift to the 2rd floor, and we are ahead and to the right when you exit the elevator. Normally lifts access without a student swipe card is available from 8am - 5pm. A student swipe card is required for the Master of Software Development room (NEC201), Kitchen (NEC317), and the bathrooms in the stairwells.

General notes

  • There are lockers. Bring a padlock and claim one if you desire.
  • There is a kitchen. You are welcome to bring your own food and lunches, coffee cups etc. But, please keep it clean and do not cook anything objectionable.
  • In general class will be on Mon-Thu 10-4. Teaching will occur at times within this period, but there are no set times - this will depend on the exercise at hand.
  • You can use either your own laptop or a loaner machine we will issue you.
  • We sometimes use videos as part of the teaching. Please bring headphones so that you can watch them without disturbing others.
  • All connections are wifi and there is a printer/photocopier/scanner available for your use.

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

  • Core object-oriented programming concepts and techniques
  • Advanced procedural programming techniques
  • Version control and collaborative programming
  • Graphical User Interface (GUI) and event-driven programming
  • Describing and documenting software design.

Teaching Staff

The course coordinator for SWEN501 is Michael Homer. The teaching staff are:


All teaching for SWEN501 is on the third floor of the NEC building at 40 Taranaki Street and takes place Monday through Thursday in a full-time intensive style. You will be expected to be present from 10am each day and should contact the coordinator or lecturer as soon as possible if you realise you won't be. SWEN501 is a six-week course with teaching every day and four assessed projects spread throughout the course. New material will be introduced only between 10 and 3 each day. The third week of the course is currently scheduled as an unmarked exercise week. Topics and dates are subject to change within the block time according to progress and scheduling needs.


  • Individual assignments: three assessed individual assignments, in weeks 2, 3, and 5
  • Group project: a group project in the last week building a software system
  • Submit your assignments in the SWEN501 submission system.