Unit convenor and teaching staff |
Unit convenor and teaching staff
Convenor and Lectuer
Damian Jurd
Lecturer
Ansgar Fehnker
|
---|---|
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. |
Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates
On successful completion of this unit, you will be able to:
Late assessments are not accepted in this unit unless a Special Consideration has been submitted and approved.
Name | Weighting | Hurdle | Due |
---|---|---|---|
Major Creative Work | 60% | No | Weeks 5, mid-semester break, 11, and 12 |
Module Exams | 40% | No | Weeks 6, 9, and 13 |
Assessment Type 1: Programming Task
Indicative Time on Task 2: 40 hours
Due: Weeks 5, mid-semester break, 11, and 12
Weighting: 60%
A semester-long programming task where students put all their skills to work creating a game or demo.
Assessment Type 1: Examination
Indicative Time on Task 2: 16 hours
Due: Weeks 6, 9, 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.
1 If you need help with your assignment, please contact:
2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation
CLASSES
Each week of COMP2000 has up to two hours of online lectures 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).
Students choosing online practicals are expected to have camera, microphone, and screen sharing capabilities for all classes. If you don't have access to those, please choose an on-campus class.
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):
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:
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 tutorials 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 hosted on the BitBucket website (https://bitbucket.org).
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 in lectures on how to install and use each one.
Tentative teaching schedule, subject to change: |
|
Assessment |
Workshops |
|
||
Week |
Lecture |
Lecturer |
Due |
Weight |
In-class activity |
Exam topics |
1 |
Version Control |
DJ |
|
|
Version Control |
|
|
|
|
|
|
||
2 |
Java Classes and Objects |
DJ |
|
|
Java Classes and Objects |
|
|
|
|
|
|
||
3 |
Inheritance and Overloading |
AF |
|
|
Inheritance and Overloading |
|
|
|
|
|
|
||
4 |
Generics |
DJ |
|
|
Generics |
|
|
|
|
|
|
||
5 |
Exceptions |
DJ |
|
|
Exceptions and Lambdas |
Version Control / Exercise Class / Late Binding / Reference vs Value / Overloading vs Overriding |
Lambda Expressions |
Project Milestone 1 |
10% |
|
Reference vs Value / Overloading vs Overriding / Generics / Advanced Generics |
||
6 |
Introduction to Patterns, Strategy Pattern, Observer Pattern |
AF |
|
|
Strategy Pattern, Observer Pattern |
|
|
Exam : Java Concepts |
15% |
Exam: Java Concepts |
|
||
7 |
Decorator Pattern, Iterator/Composite Patterns |
AF |
|
|
Decorator Pattern, Iterator/Composite Patterns |
|
|
|
|
|
|
||
|
Break week 1 |
|
|
|
|
|
Break week 2 |
|
Project Milestone 2 |
10% |
|
|
|
8 |
Adapter and Facade Patterns |
AF |
|
|
Adapter and Facade Patterns |
|
|
|
|
|
|
||
9 |
Singleton Pattern, Command Pattern |
AF |
|
|
Singleton Pattern, Command Pattern |
|
|
Exam: Design Patterns |
15% |
Exam: Design Patterns |
|
||
10 |
Concurrency |
DJ |
|
|
Concurrency |
Lambdas, Exceptions / Classify Patterns, Name that Pattern / Complete Intent of Design Pattern, Shadow Class Diagram |
|
|
|
|
Design Principles / Pattern Hypothetical / (Applying Patterns) / Concurrency terms |
||
11 |
Concurrency |
DJ |
|
|
Concurrency |
|
|
Project Milestone 3 |
10% |
|
|
||
12 |
Concurrency |
DJ |
Viva Exam |
30% |
Viva Exam |
|
|
|
|
|
|
||
13 |
Review |
AF |
|
|
|
|
|
Exam: Concurrency |
10% |
Exam: Concurrency |
Basics of Java Threading / Making and using threads / Thread safety / Advanced thread topics |
||
14 |
Formal Exam Period |
|
Module Exams |
|
Second attempt at module exams |
|
15 |
||||||
16 |
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.
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 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
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.
Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/
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.
Macquarie University offers a range of Student Support Services including:
Got a question? Ask us via AskMQ, or contact Service Connect.
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.
Unit information based on version 2022.02 of the Handbook