Please consider offering answers and suggestions to help other students!
And if you fix a problem by following a suggestion here,
it would be great if other interested students could see a short
"Great, fixed it!" followup message.
Marks for the project have been released on csmarks.
Mark breakdowns are available in cssubmit feedback. A reference solution to the project has been released under the Project page on LMS.
Please remember to fill out SELT feedback for your units. We c...
ANONYMOUS wrote
Depending on what "more" is comparing to, I do not necessarily agree with this assessment. Last year's exam assesses a pretty good representative sample of the skills and understanding necessary for the learning outcomes.
I do not inte...
ANONYMOUS wrote
I don't want memory to be a larger component of the exam than it has to be.
None of the learning outcomes for this unit require rote memorization, but rather are based on understanding and skills. A book can only remember things, not u...
ANONYMOUS wrote
This should not affect your mark, as you are not marked on the contents of the provided template, but on your own additions. There was no reason to move the comments. I do not understand what you mean by "cleaner", but I know some stu...
ANONYMOUS wrote
I do not understand the relevance of the mid-semester test to your question.
Last year's final exam has explicitly been provided as a sample of the format of a final exam. You may assume this year's will be similar (but not necessarily...
ANONYMOUS wrote
Please read the instructions again. I do not say anywhere not to include the test files. I say that anything that is included in the test subdirectory will be overwritten. The presence or absence of the test subdirectory is theref...
ANONYMOUS wrote
You are permitted to create additional files but not required to.
I cannot assess whether you would receive the style marks without marking your submission. It is definitely possible to write clear and readable code without using extra...
ANONYMOUS wrote
UWA's Assessment Policy (the 5 per day thing) applies to all assessments unless otherwise specified (in the rare cases where exceptions are made).
ANONYMOUS wrote
You will be marked on the changes you make to the provided template. There is no reason to make a comment that already exists.
The comments that already exist document the methods and their intended purpose, but of course none of them ...
ANONYMOUS wrote
The only information you have provided is that your StudentListIterator is failing the testIteration test. There is no really any information to work from here to help you. All I can say is that your StudentListIterator is retur...
ANONYMOUS wrote
I am not 100 sure what you mean by "putting a limit" on it, but I am guessing that this limit would not work in general for other test cases, and so yes, that would be considered to have been "written only so as to pass the specific ...
ANONYMOUS wrote
No requirement was given in the instructions. So long as it doesn't cause us issues when marking your submission I don't particularly mind. project.zip is fine.
Since it will be overwritten, it does not matter whether it is there. Th...
ANONYMOUS wrote
The marking rubric awards marks for passing the tests and for code style. Edge cases that are not tested for should not affect your correctness mark (unless we have reason to believe you are circumventing the tests), but may affect yo...
ANONYMOUS wrote
The instructions are deliberately strict to avoid confusion, but any files that do not affect our ability to compile and run your code should be safely ignored. I cannot make a flat guarantee, as there are many ways people could break...
ANONYMOUS wrote
There is nothing about using "nested classes" (see also "inner" or "local" classes) that is inherently poor style. You would not lose style marks simply for using them. Style marks are awarded on a number of categories per the markin...
ANONYMOUS wrote
You would not lose any correctness marks, assuming you pass the tests.
You will not lose style marks directly for being inefficient, but it is possible that an inefficient solution is also illogical (particularly for this problem, it l...
ANONYMOUS wrote
To quote from the instructions
"You are permitted and expected to add your own new .java source files within itertools as appropriate."
This allowance is given to permit you to implement new classes as you see fit.
There are alterna...
ANONYMOUS wrote
I encourage you to read the documentation on Iterator and NoSuchElementException to understand when they are used. If you are not comfortable with the concept of exceptions you may also need to review the slides.
The purpose of the...
ANONYMOUS wrote
I would advise not to.
Technically the instructions and marking rubric do not forbid it, but there is no good reason to do so. You may lose marks like the style mark for elegant and logical code.
What is your motivation for adding a met...
ANONYMOUS wrote
The DoubleEndedIterator as provided has no hasPrevious() method. I can only assume you have added this yourself. There is no reason to modify the DoubleEndedIterator interface, and you should not do so. You are under explicit in...
ANONYMOUS wrote
You should not need to modify unitAverage() . This is a clear indication that something about your StudentListIterator is incorrect.
Technically, the instructions do not explicitly prevent you from doing so, but given that unitAver...
To satisfy the signature of the method you are trying to implement, you must return an object that implements DoubleEndedIterator . The only class in the provided code that implements this interface is RangeIterator , which will not behave as requi...
Please read the marking rubric. I must mark in accordance with the provided rubric. The rubric explicitly states what is required to receive each mark. UWA's assessment policy means I can't just take marks away because I feel like it (and nor should ...
ANONYMOUS wrote
It turns out that by simple bad luck, the randomly generated tests rolled a 1-in-64 chance and generated a case where all six of the newest students in the list have done "CITS2005". This means that the test can be fooled by just reve...
ANONYMOUS wrote
The tests report the first observed issue with your code that caused you to fail the tests. You likely did not see the "too many calls" error originally, because your code was already doing something wrong before it was every checked ...
You may. The marking rubric explicitly defines how each mark is awarded. The only way using GetUnitMark might cost you a mark is if the way you use it is incorrect or particularly confusing or inelegant, in which case it might cost you that style m...
ANONYMOUS wrote
I will draw your attention to the documentation of the Student.getMark() method
java
Returns the mark this student got in a given unit.
p Returns null if the student has not completed the unit.
...
ANONYMOUS wrote
Firstly, for future reference please avoid sharing what amounts to pseudocode with other students. The project is not just assessing your ability to write Java, but your ability to design the system using the features Java provides. I...
Answers to last year's final exam have been released on LMS under the Final Exam Information link. We intend to discuss these answers and answer any questions in the Thursday revision lecture.
ANONYMOUS wrote
There is also a lab slot at 8am on Mondays, but that's now over for semester. Was the timetable system not able to allocate you a lab that wasn't a clash?
As you say there is the help forum. I also have CITS2005 office hours from 10 00...
ANONYMOUS wrote
As I understand your question here, all the information you require is in the project instructions and the documentation comments to which they refer. Please read them carefully again, and if you are still confused, please reply to th...
I suggest you read the marking rubric for style marks. If you are still confused, I suggest you review the lecture that introduces the Ov r i e a n t t o , a d d t r i e f r y u s l h t e t i p r p i t e e
ANONYMOUS wrote
I do not use VS Code, and so cannot diagnose its behaviour when clicking the run button. Make sure you know what it is compiling and what it is running, as if it only compiles some of your source code files, this could lead to the tes...
ANONYMOUS wrote
Please be more careful when posting code. In this case I believe there is no issue, as you have redacted large amounts of the code and what remains is not part of a possible solution. If this code had been correct, however, it would b...
The instructions and marking rubric state no such requirement. However, do recall there is a style mark for "logical and elegant" implementations. If you could implement a later task more elegantly using itertools and instead reimplement a bunch of u...
ANONYMOUS wrote
The specific test you are referring to is testUnitNewestStudents() . The javadoc comments on unitNewestStudents() says "Returns an iterator over the students who have taken a given unit, from newest to oldest ." The ids list y...
ANONYMOUS wrote
As the error says, you are attempting to run code that was compiled with a more recent version of the compiler, and so has produced class files that the older runtime can't support.
Firstly, this should not cause any issues with your s...
ANONYMOUS wrote
This is probably the first task in the project where you really need to reason about and design your solution before trying to write it.
Imagine yourself as the StudentListIterator , and imagine receiving calls to next() and revers...
I do not understand your confusion. The test appears to be functioning as expected. What do you mean by the iterator being "at the last element"? NoSuchElementException should only be thrown when there is no element to return. The test you appear t...
I think your wording is a little unclear, so I am not 100 sure I understand what you are asking. I believe you are asking whether the specified number of retries is for the whole lifetime of the StudentListIterator, or for each attempt to call getP...
Firstly, no specification as to the file name for the .zip is given, so I assume you are just using src.zip and project.zip as example names for the two options.
In my opinion, the instructions are clear and unambiguous. They say to submit a .zip cont...
You are correct. I have hidden the original post as I think the wording was potentially misleading.
The statement I will make is as follows
The testFilter() test is correct as written.
Note that the first call to stats.expect(count, countit.getCount...
By the specification, you should not preload the first element on construction, as it says you should consume elements from the iterator only as required. If I call your filter method and then do not use the returned iterator, there was no reason for...
Marks for the Assessed Lab have been released on csmarks.
I intend to present a reference solution in the revision lecture next Monday.
The vast majority of submissions that passed the sample tests also passed the hidden tests. We did have a number of ...
ANONYMOUS wrote
So long as it still passes the tests, that's fine. I think all the information you need is in the instructions and the marking rubric. The instructions do not forbid adding extra classes. The places where explicit permission is given ...
ANONYMOUS wrote
Can you please clarify what you mean by "handle"? The Iterator documentation (https docs.oracle.com en java javase 13 docs api java.base java util Iterator.html) says that a NoSuchElementException is thrown when there are no el...
ANONYMOUS wrote
Note that the test does not consume the iterator until exhaustion. It only consumes the first six elements.
To quote the project specification "The iterator should not simply load the entire list and then iterate over it, as if we nee...
ANONYMOUS wrote
I assume you meant to post this as a new question rather than a reply to someone else's post.
As a quick answer The project uses a range of concepts from across the semester, but the ones other students seem to be needing to review ar...
ANONYMOUS wrote
I am not sure I understand your question. What do you mean by "actual conditions" and "generic"?
As best as I can interpret your question, you appear to be asking what elements to filter out? Per the instructions and documentation, the...
ANONYMOUS wrote
I am not sure I understand your question, but if you are asking what I think you are, that is basically what you have been asked to implement for this task.
The instructions, documentation comments, and tests provide a clear specificat...
For those who wish to collect them, your mid-semester test papers are now available for collection from the CSSE front office.
The front office is generally staffed between 09 00 and 16 00 on weekdays. The papers will be available until Friday 17th Ma...
The CITS2005 Project has been released. You can find it under the Project (https lms.uwa.edu.au webapps blackboard content listContentEditable.jsp?content id 3592232 1 course id 90611 1 mode reset) link in the sidebar on LMS.
The project is due a...
Marks for the Mid-Semester Test have been released on csmarks (https secure.csse.uwa.edu.au run csmarks).
I hope to be able to make test papers available for students to review and collect later this week. I will make an announcement if and when I ...
ANONYMOUS wrote
The lab sheet invites you to add your own tests, as the sample tests provided are not particularly thorough (hence the existence of the hidden tests).
The lab sheet also gives clear instructions on how your submission will be run to te...
Due to a large number of students getting confused by the time of the deadline, I have decided to grant everyone an extension for the Assessed Lab.
The new submission deadline is 15 00 (3 00 pm) this Tuesday, April 30th.
The new deadline has been chose...
ANONYMOUS wrote
I am not even sure what you are asking here. What do you mean by "specify the directory ... at the very beginning of every source code"? If you mean declare them all as part of a package, no, that would cause the specified way of invo...
The specification does not explicitly require you to write a constructor for every class, and I do not see where in the rubric you would lose marks for not writing a pointless constructor.
It definitely wouldn't affect correctness, so the only place y...
ANONYMOUS wrote
We are getting them marked as quickly as we are able, but there are over 400 students in this class and most of our markers are also students with their own schedules.
With luck, I am hoping to get them done by the start of next week, ...
While your notes are mostly correct, they do contain a number of errors. I am probably not going to be able to address them all here, but I have already explained the answers in a lecture and a PDF of the answers is available on LMS under the Mid-Sem...
ANONYMOUS wrote
The lab worksheet instructs you to implement subclasses of the SetExpression abstract class. This requires you to implement the contains method. The worksheet and the comment on the contains(elem) method also explain that it "Ev...
The assessed lab worksheet provides instructions on how describe() should behave for each different class. It does not ask you to simplify or reformat expressions. To do so would in fact be considered wrong, as it is no longer a description of the ...
ANONYMOUS wrote
The describe() method is required to return a String . The worksheet specifies the format of string that a Range object should return. Changing the representation as you are suggesting would not be in compliance with the specific...
ANONYMOUS wrote
I will add Please do not print anything. No part of the specification asks for you to print anything, and while doing so would not make your code wrong, and so would likely not cost you marks (except perhaps for style, given it is un...
ANONYMOUS wrote
You do not need to use anything that we have not covered in the lectures, previous labs, or this lab sheet.
As was said in one of the lectures The purpose of Ov r i e s t x r s o r i t n h t t i e h d s o l v r i e o e f...
See the clarifications added to the lab sheet. In summary You are not expected to handle errors outside the specification.
For the particular example you give, I will point out that if our tests attempted to pass a float to a constructor expecting ...
See the clarifications added to the lab sheet. You do not need to handle errors, as this is not a task given in the specification.
If your code behaves as is required of it, that is sufficient. The specification does not impose any requirements on the...
I believe cssubmit will happily support either without issue, but per the instructions I would prefer you submit all the files not in a zip. Submitting a zip will not cost you any marks, but might make marking a little more of a headache as the marke...
ANONYMOUS wrote
I tried to choose the wording "communicate intent and reason" carefully. It is not necessary to simply narrate what your code is doing, as the code already says that clearly. Your comments should explain why you have decided to do t...
ANONYMOUS wrote
Dependency can have various meanings, and I am not sure how you are using it here. The same goes for the concept of flexibility.
As a sweeping generalization, I would say that interfaces are "more flexible" than inheritance. Interfaces...
Please be aware the Assessed Lab (https lms.uwa.edu.au webapps blackboard execute content blankPage?cmd view content id 3592271 1 course id 90611 1) has been released on LMS.
It is due at 11 59am on Sunday the 28th of April.
ANONYMOUS wrote
This is an example of method (in this case specifically constructor) overloading.
There is no universally accepted definition of polymorphism, but overloading is generally considered an example of "ad hoc polymorphism", where the behav...
ANONYMOUS wrote
This is a quirk of programming convention that was unfortunately not specified in the question
In programming, we often do geometry in "screen coordinates" such that the origin is the top left corner of the screen, with x increasing...
ANONYMOUS wrote
The official information we have given is that it may cover any material up to and including week 6. Since, as you say, unit testing was only covered briefly in lecture 12, the test would only be able to include questions on that brie...
ANONYMOUS wrote
You should try to solve the problem yourself without looking at the answers first, so no, there is no need to follow the example answers exactly.
It is not entirely clear what you mean by "it does not edit the grid in the intended wa...
The mid-semester test for CITS2005 will be held on April 18th at 17 00 in Wilsmore (Surnames A-M) and Tattersall (Surnames N-Z) lecture theatres. Full details are available on LMS in the Mid-semester Test Info (https lms.uwa.edu.au webapps blackbo...
Yes, though with at least one minor alteration. Due to venue capacity restrictions we have had to move the midsem to 17 00 on the same day. There should be an entry in your timetables. I am trying to get the unit outline updated currently.
For all ass...
For context for anyone who is confused, this student emailed the unit email inbox with the above question, and I answered their question and asked them to post their question and the result here for the benefit of other students. So the first message...
There are a couple of options for how to get input in a Java program that we have covered so far...
You can indeed use Scanner . You can construct a Scanner object wherever it makes sense (probably in main , for a little example like this) and use...
Please be aware that all Tuesday and Wednesday labs in CSSE 2.03 have been relocated to CSSE 2.05. As these are relatively recent changes, they do not appear in the timetable system.
Additionally, shortly before the start of semester we were able to a...
Update I have uploaded the old recording to Echo and it is now processing and should be available shortly. Let me know if there are any further issues.
It has come to our attention that an issue with the automated enrollment system may have allowed some students to enrol in CITS2005 without meeting the prerequisites.
Please take care to check that you meet all the prerequisites listed in the handbook...
Hi all,
We are aware of this issue. It seems there was an issue with the lavalier mic pack but not with the hand mic. We are digging up a lecture recording from last year, and will post that ASAP.
Cheers,
Gozz
This unit has a mid-semester test that will be held in week 7 (calendar week 16). Due to capacity limitations of the venues we have been assigned for lectures, we require a different venue for this test. This alternative venue is not available at our...
Since in this unit we will only ask you to submit Java code, not compiled bytecode, all that matters is that any code you submit is compliant with the Java 11 specification. So long as you don't use any features introduced in more recent versions, th...
Hi Bill,
Particularly since one of the selling points of Java is "write once run anywhere", there are no requirements to use a particular system. We will probably use OpenJDK by default when marking, but since we are using Java version 11 in this unit...
Monday 04 03 is a public holiday. As a result there will be no lecture that day. instead we have been allocated a replacement lecture
Time Friday 08 03 11 00 am
Location GGGL G21 Webb Lecture Theatre
For those unable to make this new slot, a reco...
We have just learned that due to a timetabling error, CAS does not show CITS2005 as having a lecture on Monday 26 02, the first day of semester.
This is in error. We will have a lecture from 13 00-14 00 in Wilsmore, as is timetabled for ever subseque...