Start time Deadline Resources Assessment COMP2511 21T2 Final Exam Structure This shows the structure, format and approximate mark allocations of the exam. You will be provided with a Revision Package containing sample and a few past Exam Questions in Week 10. There are three parts, Part 1: Multiple Choice (20 marks). Part 2: Short Answer (25 marks). Part 3: Programming Questions (55 marks). The Final Exam will be available on the class webpage at 9am AEST Tuesday 17 August 2021. You must submit your answers by 12pm AEST Tuesday 17 August 2021 (after 3 hours). If you don't submit your answers for your Final Exam, it will be considered as absent fail for the Final Exam. During the exam, you can access the course material available on the class webpage and your course work (your tut/lab solutions, assignment and project work). You can also access Java API available online. Please note that you must not access any other pages on the internet. We will use sophisticated plagiarism software/techniques to detect any possible breaches, so importantly, please make sure that you submit your original work and don't copy! During your exam, you must not seek/get help from other students, any other person or internet resources. Any communications (physical, digital) after you or another person has started the exam time will result in disciplinary actions as per the UNSW guidelines. The use of code-synthesis tools, such as GitHub Copilot, is not permitted in this exam. Sharing, publishing, or distributing your assignment work after the completion of the exam is not permitted. We will award you marks for your final exam based on your submissions for all three parts. All work submitted must be your own. You are warned: please do not plagiarise, it's not worth it! 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 sample exam. Also, the marks distribution across topics may also vary. 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) 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
欢迎咨询51作业君