COMP2511 21T2 Final Exam Structure
This shows the structure, format and approximate mark allocations of the exam.
Practice Questions are now available.
There are three parts,
Part 1: Multiple Choice (20 marks).
Part 2: Short Answer (25 marks).
Part 3: Programming Questions (55 marks).
Exam Conditions
You can start reading the exam at 09:00 Tuesday 17 August 2021 Sydney
time (AEST).
You can start typing at 09:00 Tuesday 17 August 2021 Sydney time (AEST).
You have until 12:00noon Tuesday 17 August 2021 Sydney time (AEST) to
complete this exam.
Only submissions before 12:00noon Tuesday 17 August 2021 Sydney time (AEST)
will be marked.
Except, students with extra exam time approved by Equitable Learning Services
(ELS) can make submissions after 12:00noon Tuesday 17 August 2021 Sydney
time (AEST) within their approved extra time.
You are not permitted to communicate (email, phone, message, talk, social
networks, etc.) with anyone during this exam, except COMP2511 staff.
Again, please note that you are not permitted to get help from anyone except
COMP2511 staff during this exam.
You are not permitted to access web pages or other internet resources,
except the the following web pages (for the exam, the lecture notes and
documentation):
1. you can access and read this exam paper!
2. you can access the course material available on the course webpage and
your course work (your tut/lab solutions, assignment and project work).
3. you can also access Java API available online at
https://docs.oracle.com/en/java/javase/11/docs/api/index.html .
https://gitlab.cse.unsw.edu.au/COMP2511/21T2/21T2-practice-questions
https://webcms3.cse.unsw.edu.au/COMP2511/21T2/
https://docs.oracle.com/en/java/javase/11/docs/api/index.html
You are not permitted to access any other papers, books or computer files,
except for the following:
this exam, your tut/lab solutions, assignment and project work for this
course.
You are not permitted to use code-synthesis tools such as GitHub Copilot and
other similar tools.
Importantly, please make sure that you submit your original work and don’t
copy! We will use sophisticated plagiarism software/techniques to detect any
possible breaches.
Even after you finish the exam, on the day of the exam, on the day of the exam
do not communicate your exam answers to anyone. Some students have
extended time to complete the exam.
Do not place your exam work in any location, including file sharing services such
as Dropbox or GitHub, accessible to any other person.
Ensure during the exam no other person in your household can access your
work.
Your zpass should not be disclosed to any other person. If you have disclosed
your zpass, you should change it immediately.
Deliberate violation of exam conditions will be referred to Student
Integrity as serious misconduct.
During the exam:
if you have a question or need clarification during the exam, please post a
PRIVATE post on the Ed forum. Do not send a message to the lecturer
(or tutors), you may not get a response. When posting a message to the
forum, it’s important that you provide all the required details. Failure to do
this may result in delays in responding to your queries.
if there is a correction, we will post a notice on the class webpage. So please
check your email and also check the class webpage for possible corrections
(if any) during the exam period.
Notes:
Answer all questions. Questions may not be worth equal marks. Questions may
be answered in any order.
All answers must be submitted online using the provided instructions in the
respective questions.
Please note that the topics covered in the final exam may be different to the
topics covered in this exam structure and/or Practice Questions. Also, the
marks distribution across topics may also vary.
https://gitlab.cse.unsw.edu.au/COMP2511/21T2/21T2-practice-questions
You do not need to draw any UML diagrams for this exam.
Important Information for Online Assessments
Before your final exam, you must read the section “Important Information for Online
Assessments” available on the Special Consideration webpage. It offers information on
what you should do if you experience a technical issue that is beyond your control and
impacts on your ability to complete an assessment, and the other related topics. In
particular, how and what to document for a special consideration application.
Please also read the check list provided by UNSW Student Services & Systems, click
here .
During the Exam
If you have a question or need a clarification during the exam, you can make a
PRIVATE post on the Ed forum. Do not send a message to the lecturer (or tutors),
you may not get a response.
When posting a message to the forum, it’s important that you provide all the required
details. Failure to do this may result in delays in responding to your queries.
To ensure that you are as prepared for your online exam as you can be, make sure you
check each point listed in the “Online Exam Preparation Checklist”. In particular, read
the following sections:
Fit to Sit
Technical Issues
Communication during the exam
Sharing answers with others or posting them online
Part 1: Multiple Choice (20 marks)
https://student.unsw.edu.au/special-consideration
https://student.unsw.edu.au/special-consideration
https://student.unsw.edu.au/sites/all/files/uploads/group271/UNSW%20Online%20Exam%20Preparation%20Checklist.pdf
https://student.unsw.edu.au/sites/all/files/uploads/group271/UNSW%20Online%20Exam%20Preparation%20Checklist.pdf
There will be approximately 10 to 15 multiple choice questions. The marks for each
question may vary. Part 1 uses Moodle Quiz module. You can attempt multiple times.
Your final selections will be marked. Make sure to “Finish attempt” and also “Submit
all and Finish”.
Part 2: Short Answer (25 marks)
Part 2 uses Moodle Short Answer module. You need to submit your answers following
the required instructions on Moodle.
Please carefully read the instructions provided in the questions. For example, you may
be required to briefly explain/justify one or two or three most important points in your
answer. You do not need to write a long description in your answer.
Part 3 (of 3): Programming Questions (55 marks)
There will be 4 to 5 questions in this part.
You can use VLab or your own machine. You need to submit your answer files using the
provided instructions in the respective questions (using the provided give command or
via WebCMS). All answers must be submitted online.
Question One (16 marks)
Given a problem specification, model an Object-Oriented Design for a possible solution.
If suitable, you must use a Design Pattern(s) taught in the course in your solution.
You will need to provide the following:
Interfaces (with brief Javadoc comments)
Classes (with brief Javadoc comments) and
Method signatures (with brief Javadoc comments)
In a file Q1.txt, write a brief rationale explaining your design choices, examples
of adhering to design principles taught in the course, and a justification for any
Design Patterns you may use in your solution.
For this question:
You do NOT need to implement methods; you are simply writing class and method
declarations as stubs.
You do NOT need to draw a UML diagram.
You need to submit the required files using the provided give command or via WebCMS.
Question Two (12 marks)
Given a problem specification, implement a solution in Java. The problem will involve
Generic Programming and implementing a Class given a contract.
You will need to implement methods such that they properly use Generics and
follow the contract specified by the starter code;
If suitable, you may need to use a Design Pattern(s) discussed in the course.
We will provide a series of tests to help you in your implementation. Passing the
provided tests is NOT a guarantee of any marks.
We will run additional tests on your code. To ensure your solution passes our
additional tests, you will need to write your own tests that account for cases
which the given tests do not account for.
If you don’t properly use generics, follow programming by contract and/or
implement a suitable design pattern as discussed in the lectures, you will not be
awarded marks, even if you pass the tests.
You need to submit the required files using the provided give command or via WebCMS.
Question Three (15 marks)
Given a problem specification, implement your solution using a suitable design pattern
(one of the design patterns discussed in the course). You need to implement the
following and also provide a brief justification for your selected Design Pattern in your
solution:
In a file Q3.txt, provide a brief justification for your selected Design Pattern.
Interfaces
Classes
Methods
For this question:
We will provide a series of tests to help you in your implementation. Passing the
provided tests is NOT a guarantee of any marks.
We will run additional tests on your code. To ensure your solution passes our
additional tests, you will need to write your own tests that account for cases
which the given tests do not account for.
Importantly, if you don’t use a suitable design pattern in your solution, as
discussed in the lectures, you will not be awarded marks, even if you pass the
tests.
You need to submit the required files using the provided give command or via WebCMS.
Question Four (12 marks)
You will be provided with a problem, and an existing solution to that problem which
contains a series of Design Smells. Your task will be to refactor the code, both at low-
level (code level) and if required at high-level (use a design pattern(s) discussed in the
course).
You need to do the following:
In a file Q4.txt, briefly describe the Design Smells you identified, justify your
refactoring both at low-level (code level) and high level (use a suitable design
pattern, if required).
Refactor the code to remove the Design Smells, and if required, use a design
pattern(s) discussed in the course for refactoring.
For this question:
We will provide a complete suite of tests for you. After refactoring, the behaviour
of the system should remain unchanged (i.e. the tests should still pass
unchanged)
You need to submit the required files using the provided give command or via WebCMS.
End