SWEN 221 (2020) - Software Development


Welcome to SWEN221! This course develops a deeper understanding of object-oriented programming and, in particular, the Java Programming Language. The primary focus is on understanding the features common to object-oriented programming languages, including inheritance, polymorphism, generics, exceptions, and more.

David Pearce During the course, your Java program skills will be tested through a range of interesting and enjoyable labs and assignments, and you should soon find yourself immersed in the Java way of thinking. I hope that you enjoy this course and get as much out of it as possible. I also encourage you to read the Course Outline where you can find information on what's really involved. Finally, if you have any questions or difficulties during the course, please free to come by my office (CO231) for a chat.


23/4/2020: Course Update (Important)

Hi all,

Right, finally, my proposed changes to SWEN221 have been fully approved.  That means, I can now let you know the plan for the remainder of the course.  They key points are below and I strongly recommend you look through them.  If you have any questions, feel free to email me and/or chat in my office hours:



Associate Professor of Computer Science (Ahonuku),
School of Engineering and Computer Science
Victoria University of Wellington,
PO Box 600,
New Zealand.

Cotton 231 (Office)
+64 (0)4 463 5833

I have reduced the number of lectures from 29 to 23.  The revised lecture schedule is available here:


You will notice I've compressed the schedule up.  There are two reasons for this: firstly, myself and my partner are expecting a baby in late June, and it could come any time from now on; secondly, I want to try and alleviate what I expect to be a reasonably stressful end of trimester.  I'm guessing lots of courses will have tests, and assignments due, etc.  

The course still has two tests:

* Test 1 (Tuesday 19th May, worth 20%).  This test will be in as similar style as to the assignments.  I will supply code with tests and a hand indicating what to do.  Under "past exams" you can see many previous examples.

* Test 2 (Tuesday 23rd June, worth 30%).  This test will be conducted using the Web Assessment tool.  The questions will be similar in style (though not as hard as the really hard ones currently in the Web Assessment tool).

The tests will be available to complete over a 24hour period.  I expect test 1 to take around 1-2 hours, and test 2 to take around 3-4 hours.

The course still has four assignments:

* Assignment 1 (Due 6th April, worth 4%)
* Assignment 2 (Due 11th May, worth 8%)
* Assignment 3 (Due 25th May, worth 8%)
* Assignment 4 (Due 8th June, worth 8%)

The assignments themselves are unchanged as per the original schedule.  Despite Assignments 2-4 being worth twice as much as Assignment 1, you should not expect them to take twice as long.  In principle, they should all take a similar amount of time.

The labs are unchanged from the original schedule, and will begin again next week and run weekly up to and including week 11.  Each lab is worth 1% of the overall mark.

The web assessment is now worth 12% of the overall course mark.  The deadlines have been updated to:

* Questions 14 -- 52, due 4th May
* Questions 53 -- 84, due 1st June
* Questions 85 -- 100, due 15th June

Mandatory Requirements
The mandatory requirements of the course are essentially unchanged, except there is no longer a requirement to achieve a D on the exam:

* Make a reasonable attempt at 3 / 4 of the Assignments.

* Complete 8 / 10 of the weekly lab exercises.

21/4/2020: Teaching Resumes Next Week!

Hey Folks.

Right, seems like its about time for another update since things have been quiet for a while.  A few notices for the course:

* Lectures resuming next week!  Marco will be restarting teaching for SWEN221 next, and uploading lecture recordings using Panopto.

* Labs resuming next week!  Labs will be resuming next week using the SWEN221 "zoom room" (see below).  The labs will take place at the originally scheduled times during the week.  

* SWEN221 Zoom Room (https://vuw.zoom.us/my/swen221).  I've added a link on the homepage as well, on the left bar.  This is where all the labs will be taking place.

* Lab 3 is available!  Lab 3 will be running next week.  The code and handout for the lab is already available and you are welcome to try and complete it (if you haven't already).  If you get stuck, don't worry --- the tutors will be able to help next week.

* Web Assessment is ongoing.  The web assessment exercises are on going, and I'd suggest trying to complete some of them.  The next deadline is 4th May.

Okey dokey ... that's all folks!

31/3/2020: Student Engagement Day

As requested by the University, there will be a short engagement activity for SWEN221 on Thursday.  Specifically:
  • You are asked to complete a short survey regarding Assignment 1 (Picture Puzzle).

  • The survey is available via blackboard.  You can log on to blackboard here: https://blackboard.vuw.ac.nz/

  • The survey will only be available on Thursday from 8am until midnight.  You cannot access it at the moment, for example.

  • The survey is not assessed.  However, it will be helpful for me to gauge how everyone is finding the assignment.

If you have problems on Thursday accessing the survey, please let me know.  I will also publish some other form of online content on Thursday as well (probably a recording of some kind).


  • Course Outline - The official course requirements document. You are strongly encouraged to read this

  • Lecture Schedule - Who, What, Where and When: Lectures, Labs, Assignments, Tests, etc.

  • People - Who's who? Teachers, tutors and class reps!

  • Forum - A discussion forum for questions/comments on the course material

  • Background Reading - You can find numerous interesting and useful articles here, that provide excellent background reading

  • Exam Archive - Note: this is an archive of exams for the old COMP205/ENGR202 course. Some material from COMP205 is not covered in SWEN221, and vice-versa.