Students

COMP2000 – Object-Oriented Programming Practices

2023 – Session 2, In person-scheduled-weekday, North Ryde

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff Lecturer and Unit Convenor
Damian Jurd
Lecturer
Chris Chen
Credit points Credit points
10
Prerequisites Prerequisites
COMP1010 or COMP125
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description

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 emphasise the importance of programming practices such as appropriate documentation, systematic approaches to debugging and testing, and the use of software development tools. The unit is taught using Java.

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates

Learning Outcomes

On successful completion of this unit, you will be able to:

  • ULO1: explain the key concepts of object oriented programming, and program proficiently in an OO programming language
  • ULO2: apply the concepts underlying software design and a working knowledge of a selection of well known design patterns
  • ULO3: demonstrate good programming practices such as testing, debugging, documentation, version control, programming tools and interactive development environments
  • ULO4: apply key object oriented concepts and libraries to design and develop applications of significant complexity
  • ULO5: apply key concepts of concurrency theoretically and in working code

General Assessment Information

Requirements to pass the unit

To pass this unit you must:

  • Attempt all assessments, and
  • Achieve a final unit total mark equal to or greater than 50%

Late Assessment Submission Penalty

Unless a Special Consideration request has been submitted and approved, a 5% penalty (of the total possible mark of the task) will be applied for each day a written report or presentation assessment is not submitted, up until the 7th day (including weekends). After the 7th day, a grade of ‘0’ will be awarded even if the assessment is submitted. The submission time for all uploaded assessments is 11:55 pm. A 1-hour grace period will be provided to students who experience a technical concern. For any late submission of time-sensitive tasks, such as scheduled tests/exams, performance assessments/presentations, and/or scheduled practical assessments/labs, please apply for Special Consideration.

Assessments where Late Submissions will be accepted

  • Major Creative Work (Week 6) - YES, Standard Late Penalty applies
  • Major Creative Work (Week 10) - YES, Standard Late Penalty applies
  • Major Creative Work (Week 12) - NO, unless Special Consideration is Granted
  • Module Exams - NO, unless Special Consideration is Granted

Special Consideration

The Special Consideration Policy aims to support students who have been impacted by short-term circumstances or events that are serious, unavoidable and significantly disruptive, and which may affect their performance in assessment.

Written Assessments: If you experience circumstances or events that affect your ability to complete the written assessments in this unit on time, please inform the convenor and submit a Special Consideration request through ask.mq.edu.au.

Weekly practice-based tasks: To pass the unit you need to demonstrate ongoing development of skills and application of knowledge in 3 out of 5 in each of the two sets of weekly practical classes. If you miss a weekly practical class due to a serious, unavoidable and significant disruption, contact your convenor ASAP as you may be able to attend another class that week. If it is not possible to attend another class, you should still contact your convenor for access to class material to review in your own time.

Note that a Special Consideration should only be applied for if you miss more than three of either the two sets of weekly practical classes.

Assessment Tasks

Name Weighting Hurdle Due
Major Creative Work 60% No Weeks 6, 10, and 12
Module Exams 40% No Week 7 and 13

Major Creative Work

Assessment Type 1: Programming Task
Indicative Time on Task 2: 40 hours
Due: Weeks 6, 10, and 12
Weighting: 60%

 

A semester-long programming task where students put all their skills to work creating a game or demo.

 


On successful completion you will be able to:
  • explain the key concepts of object oriented programming, and program proficiently in an OO programming language
  • apply the concepts underlying software design and a working knowledge of a selection of well known design patterns
  • demonstrate good programming practices such as testing, debugging, documentation, version control, programming tools and interactive development environments
  • apply key object oriented concepts and libraries to design and develop applications of significant complexity
  • apply key concepts of concurrency theoretically and in working code

Module Exams

Assessment Type 1: Examination
Indicative Time on Task 2: 16 hours
Due: Week 7 and 13
Weighting: 40%

 

A number of exams spread through the semester. Students will have the opportunity to repeat any exam to improve their mark.

 


On successful completion you will be able to:
  • explain the key concepts of object oriented programming, and program proficiently in an OO programming language
  • apply the concepts underlying software design and a working knowledge of a selection of well known design patterns
  • demonstrate good programming practices such as testing, debugging, documentation, version control, programming tools and interactive development environments
  • apply key object oriented concepts and libraries to design and develop applications of significant complexity
  • apply key concepts of concurrency theoretically and in working code

1 If you need help with your assignment, please contact:

  • the academic teaching staff in your unit for guidance in understanding or completing this type of assessment
  • the Writing Centre for academic skills support.

2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation

Delivery and Resources

CLASSES

Each week of COMP2000 has a two hour lecture and a two-hour practical class. For details of days, times and rooms, consult the University timetables webpage (http://www.timetables.mq.edu.au). Practical classes commence in Week 1 and are held in the 4RPD Computer Laboratories computer laboratories for on-campus classes and in zoom rooms for online classes (links published in iLearn).

In all cases students are expected to do significant preparatory work, readings and exercises before attending classes.

REQUIRED AND RECOMMENDED TEXTS AND/OR MATERIALS

The required text for the unit is (available online via the Macquarie University Library, see below):

  • Head First Design Patterns by Eric T Freeman, Elisabeth Robson, Bert Bates and Kathy Sierra, O'Rielly Media, October 2004 (ISBN:978-0-596-00712-6) 

There will be no lecture notes provided, all examinable material is given in course readings and the textbook.  Students are required to study this material and answer preparatory questions before class.

The Macquarie library contains many books on object-oriented programming in general, and on programming specifically in Java, that you may want to use to supplement the text and lecture notes.

One particularly useful service that the library provides you with is access to many Java related titles online via the Safari Books Online (http://proquest.safaribooksonline.com/) service. Using this service, which you can only access from a machine connected to the University network, you might like to have a look at the following Java titles:

  1. Head First Design Patterns by Eric T Freeman, Elisabeth Robson, Bert Bates and Kathy Sierra, O'Rielly Media, October 2004 (ISBN:978-0-596-00712-6) 
  2. Learning Java, 3rd Edition by Jonathan Knudsen; Patrick Niemeyer, ISBN: 978-0-596-00873-4
  3. Java in a Nutshell, 5th Edition by David Flanagan, ISBN: 978-0-596-00773-7
  4. Java Examples in a Nutshell, 3rd Edition by David Flanagan, ISBN: 978-0-596-00620-4 The web itself is an ideal source of Java information, and from time to time we will be posting useful links on the COMP2000 iLearn site. Two particularly useful resources are:
  5. Thinking in Java by Bruce Eckel, a free version of the 3rd edition of this pretty comprehensive book is available for download from http://www.mindview.net/Books/TIJ/ and its 4th edition, which is updated for use with Java 5 and 6, is available for $25 from http://mindview.net/Books/TIJ4.
  6. The official Java Tutorial http://download.oracle.com/javase/tutorial/ which is a comprehensive resource providing trails covering topics ranging from the basics of Java programming to more advanced subjects like GUI development, Generics, Class Reflection, Sound, Graphics, Network Programming and Concurrency

UNIT WEBPAGE AND TECHNOLOGY USED AND REQUIRED

Online Resources

COMP2000 will make extensive use of the iLearn system for delivery of class materials, discussion boards, real time chat, submission of work and access to marks and feedback. Students should check the iLearn site (http://ilearn.mq.edu.au) regularly for unit updates.

Questions and general queries regarding the content of this unit, its lectures or practicals should be posted to the appropriate discussion board on the COMP2000 iLearn site. In particular, any questions which are of interest to all students in this unit should be posted to one of these discussion boards, so that everyone can benefit from the answers.

Echo360

Audio and screen video recordings of the lectures will be made available online via Echo360. A link to these recordings will be provided on the iLearn site for this unit

Technology Used and Required

The practical work in this unit involves programming in Java (https://www.java.com) using the Microsoft Visual Studio Code IDE (https://code.visualstudio.com). We will also be using a distributed version control system called Git to access shared code repositories.

This software is already installed for you in the computing labs located in 4 Research Park Drive and is also available to download, install and use for free on your own machine(s). It should work equally well on Mac OSX, Linux or Microsoft Windows platforms.

Tools and libraries to support debugging, automated testing, GUI development and so forth will be introduced and used as the semester progresses. When that occurs you will be provided with full instructions on how to install and use each one.

Methods of Communication

The unit's iLearn page contains three kinds of forums:

  • Announcements - posts of general interest will be made here by the teaching staff. Students must ensure that they keep up to date with any announcements made.
  • Forum - students can post queries here and they may be answered by either teaching staff or other students in the unit.
  • Contact the teaching staff - students can post queries here that are only visible to teaching staff, not other students.

Students should avoid using email and instead use the "Contact the teaching staff" forum to raise issues or ask questions of a private nature. If an email is sent it must be from the student's official Macquarie student email address. Emails from non-Macquarie addresses will not be answered.

COVID Information

For the latest information on the University’s response to COVID-19, please refer to the Coronavirus infection page on the Macquarie website: https://www.mq.edu.au/about/coronavirus-faqs. Remember to check this page regularly in case the information and requirements change during semester. If there are any changes to this unit in relation to COVID, these will be communicated via iLearn.

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://policies.mq.edu.au). Students should be aware of the following policies in particular with regard to Learning and Teaching:

Students seeking more policy resources can visit Student Policies (https://students.mq.edu.au/support/study/policies). It is your one-stop-shop for the key policies you need to know about throughout your undergraduate student journey.

To find other policies relating to Teaching and Learning, visit Policy Central (https://policies.mq.edu.au) and use the search tool.

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/admin/other-resources/student-conduct

Results

Results published on platform other than eStudent, (eg. iLearn, Coursera etc.) or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit ask.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Academic Integrity

At Macquarie, we believe academic integrity – honesty, respect, trust, responsibility, fairness and courage – is at the core of learning, teaching and research. We recognise that meeting the expectations required to complete your assessments can be challenging. So, we offer you a range of resources and services to help you reach your potential, including free online writing and maths support, academic skills development and wellbeing consultations.

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

The Writing Centre

The Writing Centre provides resources to develop your English language proficiency, academic writing, and communication skills.

The Library provides online and face to face support to help you find and use relevant information resources. 

Student Services and Support

Macquarie University offers a range of Student Support Services including:

Student Enquiries

Got a question? Ask us via AskMQ, or contact Service Connect.

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.

Changes from Previous Offering

Updated distribition of assessment checkpoints to encourage in-class participation

Computing Drop-in Centre

COMP2000 is supported by the Computing Drop-in Centre (CDC) that operates daily (weekdays) from,

  • 09:00 to 11:00 (trial, at least during the first half of S2 2023),
  • 12:00 to 14:00, 
  • 15:00 to 17:00,
  • 18:00 to 20:00 (online)

The web page at https://students.mq.edu.au/study/faculties/science-and-engineering/drop-in-centre contains further information including,

  • location,
  • the service agreement about what the centre can and cannot help you with,
  • week in which the service begins,
  • other units supported by the centre,
  • roster (as not all time slots will have staff supporting every unit),
  • zoom links for the evening sessions.

Changes since First Published

Date Description
03/10/2023 Tutorial replaced with lecture

Unit information based on version 2023.01R of the Handbook