Introductory Programming In Java
COMP6700 Past Exams
To assist you with the preparation for the final exam, the exam papers from previous years are provided
Final Theory Exam 2009 paper
Final Theory/Practical Exam 2010 paper and the original source code hit_me.zip for Question 4 (the game HitMe)
Final Theory/Practical Exam 2011 paper and the original source code stop_watch.zip for Question 4 (the application StopWatch)
Final Theory/Practical Exam 2012 paper and the original source code tictactoe.zip for Question 4 (the application TicTacToe)
Note: The Question 4 in 2010, 2011 and 2012 were based on Java's Swing GUI framework. This will not be the case on the 2013 final exam since we've used the JavaFX Rich Client framework. To make the corresponding preparations for using JavaFX, I advise you to do exercises which are mentioned in Block 5 of lectures, OR re-implement one of the previous Q4 programs in JavaFX and do the question.
I will not provide you with the programming answers to the yesteryear exam questions. One hint, though: the additional code which the Question 4 problems in 2010, 2011 and 2012 required for their solution was quite small, something within 10–15 additional lines of code. The problem was to read and understand those programs (which in both cases were very similar to the Clock application discussed in details in the lectures), and know well the Swing fundamentals, especially event listeners technique. I strongly advise you to practice solving all practical questions from the above exams.
The list of topics which, though featured in the lecture slides, were not discussed or discussed very briefly on the lectures, and therefore will NOT be among the examinable material on the final exam
Reflections — yet you do have to understand the usage of
getClass()method (which can be called on an object of any class), what this method returns, and also the meaning ofname.classwherenameis a reference of an object. You have to understand the difference about the type information of an object which can be obtained via theinstanceofoperator and the via calling thegetCalss()method.Generic bounded type parameters, subtyping and wildcards, generic polymorphic methods
Annotations — yet you do have to understand the meaning of
@Overrideannotation when it is used with a method in a derived classJava Threads
Unit testing with JUnit
Design and UML Notations
Nothing form Block 7
