COMP229 Object-Oriented Programming Practices
This is the home page for COMP229, Semester 1 2008. This page is publicly accessible and links to the unit outline and the unit pages on the University's Blackboard/WebCT course management system.
Introduction and Welcome
Welcome to COMP229 "Object Oriented Programming Practices" and come with us on a journey into the exciting world of object oriented design and programming in the JAVA language.
Object-oriented programming is a key technology for modern computing. This unit bridges the gap between introductory programming and larger multi-person projects by considering the use of object-oriented techniques to produce intermediate-sized software. Practical exercises in this unit emphasise the importance of programming practices such as appropriate documentation, systematic approaches to debugging and testing, and the use of software development tools. COMP229 will be taught using Java.
All of the unit materials will be made available via this page. We assume that students will regularly check the online information available here, where lecture notes, tutorial and practical questions, assignment descriptions and other related materials can be found.
For more information on the unit timetable, course content, set text, assessment tasks etc. please take a little time to read the COMP229 unit outline.
News
[7/6/08] Please use the shared blog on the COMP229 WebCT site to discuss questions to do with the upcoming exam. We will monitor that blog and answer any questions that might come up while you are revising.
[5/6/08] A sample exam, which more closely resembles this year's final exam, can be found here.
[31/5/08] The final exam papers from 2004-2007 are now available to assist with your revision preparations, and may be found linked to the week 13 tutorial page.
[29/5/08] In writing this week's lecture notes I have noticed a couple of errors in last week's notes on design patterns. In particular, it appears that the classification headings in the list of patterns given at the top of those notes had been switched - claiming for instance that Observer was a structural pattern (whoops). I've now corrected those mistakes and apologise profusely for them.
[16/5/08] I've just written a page devoted to approaches to testing
privatemethods.[13/5/08] *** Assignment 1 Feedback *** - we can't stress too much how important it is to have a good look at the assignment 1 feedback page. It contains heaps of tips and comments which are directly targeted at helping you get good marks in assignment 2.
[12/5/08] The assignment 1 feedback page is now available for your perusal. Your assignment 1 marks should appearing on WebCT sometime this evening - if you expected to receive marks but haven't done so before today is out, please email Dom.
[27/4/08] The assignment 1 sample solution is now available for download from the COMP229 WebCT site.
[22/4/08] The assignment 2 specification is now available on the assignments page. Please post any questions you may have about this assignment to the assignment 2 discussion list on the COMP229 WebCT/Blackboard site. Please note, the submission date for this assignment has been revised to the 26th of May, giving you a full month to complete it.
[5/4/08] So that everyone can get a chance to obtain help with Assignment 1 in one of next week's practicals, we've moved the submission date / time for that assignment back to Friday the 11th of April at 11.59pm.
[5/4/08] As promised, here is Dom's noughts and crosses example, which might help you with a few extra ideas for assignment 1. To get started with this example, have a look at the JavaDoc pages which you'll find included in this bundle.
Notice that this application is really quite tiny, consisting of only about 10 methods, 4 classes, 1 interface and 90 lines of code.
[3/4/08] The first 10 minutes of tonight's lecture will be hosted by Dhyana, your liaison committee representative. She'll be ask for feedback to pass on to that group at next Tuesday's meeting. To get you thinking, she's also provided a list of questions, which can be accessed here.
[26/3/08] Whoops ... I posted the wrong version of my
LinkedListpractical example. This was missing a couple of methods and had the wrong access permissions on some others. I've now updated this to the correct version.[23/3/08] Dom's sample IO code now posted - see the week 4 entry on the lectures page.
[22/3/08] Extra notes on using the IO facilities of Java to read from / write to files have been added to the week 4 entry on the lectures page.
[21/3/08] A console version of the connect 4 sample application has now been added to the assignment 1 entry on the assignments page. Remember that when you download these files they should be saved as .jar files rather than .zip files. To execute the console program open the command prompt, change directory to where you downloaded the file, make sure that the Java binaries are on your path (as in week 1 prac) and type java -jar domsconnect4cons.jar
[14/3/08] In response to some feedback in this week's liaison committee meeting, and the suspension of the COMP229 Monday evening tutorial, we've moved the due dates for tutorial preparation work back (or is that forward?) to Tuesday mornings at 9.00am - which should give us just enough time to look at / mark your work before the first tutorial of the week while providing you with an extra evening in which to complete your submissions :-).
[10/3/08] As promised, the assignment 1 specification is now available on the assignments page. Please post any questions you may have about this assignment to the assignment 1 discussion list on the COMP229 WebCT/Blackboard site.
[7/3/08] Many thanks to Dhyana Scarano, who has agreed to act as one of the liaison committee members for COMP229 this semester. She can be contacted either in person at a COMP229 lecture or via her email
dhyana_scarano@hotmail dot com.If you have, or would like to, nominate as the second COMP229 representative and would like your details to appear here please contact me by email.
[7/3/08] I've corrected the typo we noticed in last nights slides and added a bundle of my sample code for week 2 to the lectures page
The Level 200 Liaison Committee needs YOU! Find out how to apply for the highly valued COMP229 rep. role by downloading our (most excellent) flyer.
Some people had problems printing my coloured slides, so I've updated the PDF to print in grayscale. This new version of the slides can again be found on the lectures page.
The week 1 lecture slides are now available for download on the lectures page.
You might like to start by installing the Java / Eclipse development platform for this semester on your machine at home or laptop. To find out more about this process have a look at the Java installation and Eclipse installation pages.