This assignment would have had to been the most difficult Java assignment i've come across in my time. Previous years, the assignment has been relatively easy, but our current cohort was shocked when this assignment was released. We had to simulate a drawing board where we could add shapes to it. Technically speaking, it was a 2d array (using a coordinate-like system) and the use of inheritance/abstract classes/exceptions.... etc.
Do not underestimate this assignment - it's 20% for a reason. Seek as much help as you can if you don't understand the concepts. There is also an execution test which you have to attend to get it marked. 90% of the mark is for execution (that is, does it work correctly?) and the other 10% is judged based on code quality, correct naming conventions etc.