Hi students,
Please recall the exam finishes at 5pm. Please ensure you've submitted by then. Don't leave this to the last minute, in case the system slows down...
The submission for part2 Q1,Q2,Q3 will run a dryrun on your code. For part2Q2 and part2Q3, this includes JUnit tests. For all questions in part2, this includes compilation checking. If the dryrun tests fail, there is something wrong with your code that you need to fix!
Best,
Matthew
Hi students,
The corrections page is accessible via https://www.cse.unsw.edu.au/~cs2511/20T3/uy13gteast98qt/FinalExam/corrections.html
and the final exam paper is accessible via https://www.cse.unsw.edu.au/~cs2511/20T3/uy13gteast98qt/FinalExam/index.html
Please send an email to cs2511@cse.unsw.edu.au if you need any help.
Please submit your responses to the questions in part2 via give commands on a CSE machine, rather than webcms3.
Best,
Matthew
Hi students,
Please note that you can check your submission history using the following command on a CSE machine (the following is for part2Q2 , check the appropriate question number):
2511 classrun -check part2Q2
You can also use the "Check Submission" tab for the submission on webcms3.
Best,
Matthew
For all the latest corrections, please click on " Final Exam Corrections " in the left panel. So far there are two corrections, one for part2Q3 and one for part2Q1. Please revisit this link for the latest updates.
In Part2Q3, The " decorator " is replaced by " visitor " in the following text.
The text is already revised, so if you reload your page you will see the corrected text.
'Note that you
must
use the
decorator
visitor pattern (as discussed in lectures) for the above tasks'.
COMP2511 Final Exam is now available.
Important notes:
Good luck for your exam!
Cheers
Ashesh and Matthew
Hi students,
Good luck on your exam tomorrow! As mentioned on the sample exam, the final exam runs from 9am-5pm. Remember that the multiple choice is on Moodle, and the remainder of the exam will be accessible via a link on the class webpage.
I'd strongly recommend submitting early, and then resubmitting when you've made further progress. It is better to get something in than to miss the deadline.
Best of luck for tomorrow,
Matthew
Hi students,
I've setup 3 HELP sessions for tomorrow, Monday 30th November:
Since the exam starts on Tuesday morning, we wont be able to add more HELP sessions for your exam prep after this, so please make good use of these final HELP sessions in getting help on your exam preparation!
I hope these are useful and well-utilized :)
Best,
Matthew
Hi students,
The answers to the quizzes are now available as feedback when you complete the quiz:
https://webcms3.cse.unsw.edu.au/COMP2511/20T3/activities/
Please note these quizzes are not assessable, they are there for your revision.
Best,
Matthew
Hi students,
A final reminder about MyExperience - it would be very helpful if those of you who haven't completed the survey, can spend 5 minutes filling out the MyExperience survey, which closes tomorrow:
https://myexperience.unsw.edu.au/
Currently 245/406 (64%) of you haven't completed the MyExperience survey. It is important that the largest number of you possible fill out the survey, so we get the most accurate view of the cohort's perspective, and so nobody's voice is left out. We will read all comments, and take all feedback into consideration :)
We greatly appreciate constructive feedback, both positive and negative; so please go into as much detail as possible with your feedback. This feedback is anonymous.
I hope your exam preparation is going well. We currently have a HELP session every day up to Sunday, please make good use of these sessions to prepare for your exam.
Best,
Matthew
Hi students,
In addition to the HELP session today, we'll have the following consults for the rest of the week:
Good luck studying for your exams!
Best,
Matthew
Hi students,
Lab 09 marks have been released.
You should be able to see your marks under the "Marks" tab in give: https://cgi.cse.unsw.edu.au/~give/Student/give.php
You should be able to see your feedback and marks in webcms3.
Best,
Matthew
Hi students,
There will be a HELP session today 3pm-5pm: https://au.bbcollab.com/guest/1568baa2d6f24240aef8...
Best,
Matthew
Pre Exam consultation: at 10am to 10:45am (will be extended if required) on Thursday 26 November, on Blackboard Collaborate.
Hi students,
You should be able to see all of your marks for the trimester so far in give ( https://cgi.cse.unsw.edu.au/~give/Student/give.php ) and webcms3. Please follow-up with your tutor if there's anything missing or wrong with your marks. It is important that this is done as soon as possible.
Note for give , you need to select the "Marks" tab to see your marks, which is different to the "Assignments" tab you might be seeing when you log in.
I released milestone 3 marks last night. Note that the fields for milestone1 , milestone2 , and milestone3 are all the values received by your team. These may be adjusted further where there were disparities in contribution (which we are currently investigating).
I'll setup as many HELP sessions this week as possible - this will depend on tutor availability, which is constrained due to their exam preparation.
Please ensure you complete the myExperience survey before the deadline: https://myexperience.unsw.edu.au/
The myExperience survey closes on the 26th November (Thursday). We examine all feedback... and constructive, accurate and detailed feedback is very important for improving the course, and deciding which elements to keep or change. So please let us know in the feedback if there's anything you disliked about the course and think we should improve upon, or anything you liked and think we should keep, and provide detail elaborating on this. We can't see your feedback/ratings until all results are released; and when we receive your feedback, it is anonymous.
Best of luck for your exam study and exam :) It has been a pleasure teaching you this trimester.
Best,
Matthew
Hi students,
I would strongly recommend that during your demos, you prepare for the possibility of your colleague's screen-sharing to fail/freeze or have connection issues.
When you start your demo, ALL team members should have downloaded the submitted code, and be prepared by ensuring it is running and ready to share on Teams, and that Teams screen-sharing and audio-sharing works for them...
Failing to do so is taking a gamble on your marks... it has been an issue for some groups this week, and wont result in special consideration or extra time as you could have prepared for it.
Best,
Matthew
Hi students,
Please note - audio sharing doesn't work in the web version of Teams. Thus, if you've implemented an audio extension, please ensure you install and test the Desktop version of Teams for your milestone 3 demo this week.
Best,
Matthew
Hi students,
I wish to stress again that it is very important that you are prepared to demonstrate your milestone 3 demo in your interactive session this week.
From marking groups today, many groups I marked didn't have their game/UML design running and ready to demonstrate. Some groups also couldn't share their screen on Teams.
Before your demo, it is critical that:
I would strongly recommend being setup and ready to go (with game running) 30 minutes in advance of your demo - in case there are last-minute technical issues to solve.
By not being setup, you are taking a gamble with your marks... please do not do this - you may lose many marks from not being prepared...
On a more positive note, I saw many incredibly engaging and well-designed applications today. Some groups have gone all-out, finishing all requirements of the game (even including buildings/mercenaries from the prior spec) and implementing a large array of extensions. Some groups had very immersive music and very intuitive GUIs.
Great job by those who demoed today, I'm looking forward to the rest of the demos!
Best,
Matthew
Hi students,
Week 10 HELP sessions will be:
We'll add more HELP sessions if tutor availability frees up... please keep in mind the tutors also have their own exams and assignments, so their availability is limited...
Best,
Matthew
Hi students,
The My Experience survey closes on the 26th November. Please remember to complete the survey before this due date.
We review all comments in these surveys, and take it into consideration for future deliveries of the course, so if you can let us know with constructive feedback how the course can be improved, or what you liked about the course and think should be retained, we'd greatly appreciate it.
Best of luck for your milestone 3 demos this week! I'm very excited to see what you've all been able to produce!
Best,
Matthew
Hi students,
If you have gone over the milestone 3 submission limit, please make a new branch called
"submission_milestone3"
. Please pull the version of code you wish to be your submission by midday tomorrow into this branch. Do not make any further modifications to this branch after midday tomorrow - your tutor will check the timestamps on this and only mark work submitted before this. If you make further modifications past this submission deadline, time spent switching to a prior version will be used from the time you have for your presentation (i.e. using
git checkout
to a previous commit).
If you use this method of submission, you will also be required to demo using this submitted version - by checking out to the
"submission_milestone3"
branch. Time spent towards this will similarly use up time from your demo (your tutor will watch you doing this).
I highly recommend ensuring your submission works in the environment you will demo in - your own computer or the VM, and checking screensharing works in Teams. If you have avoidable technical issues, no special consideration or reassessment will be given.
Best,
Matthew
Hi students,
We will extend milestone 3 to be due midday tomorrow (Monday 16th) - rather than 5pm today.
I hope this makes it a bit easier to finalize your project.
Remember to submit using (on a CSE machine):
2511 submit milestone3
Best,
Matthew
Hi students,
Interactive demo schedules for milestone 3 demos have been released through Microsoft Teams notices. This should also have triggered an email to your student email on office.com and event in your student office 365 calendar. Please note - a secondary email will not be sent, since all of the necessary information is in the Teams notice (including a link to join the meeting).
Please ensure that you attend the correct time. Some students with incorrectly configured timezones in Outlook have turned up at the wrong time in prior assessments, and missed their sessions. Such is not grounds for special consideration or reassessment as you control it, and we have additionally warned you. The time will be either during your allocated tutorial timeslot or during your lab timeslot.
All students must attend their group's milestone 3 demonstration. Students must be available to start their interactive demo Teams meeting 15 minutes in advance and for 30 minutes after their interactive demo should have ended (in case there is a delay).
Those who are late or absent without special consideration may receive a loss of marks, or have their lateness/absence recorded as negative contribution for mark re-scaling purposes. If an entire group misses their interactive session, that group's milestone 3 mark will be 0, since no reassessment will be provided.
You should present and explain your work to your tutors, elaborating on your answers to such questions, or answering any questions your tutors direct to you.
You are required to engage in verbal discussion with screen-sharing for this interactive demo - so you must ensure that your microphone is working in advance, and you are able to share your screen. You should test Microsoft Teams in advance on your computer to check this works.
It is your responsibility to be setup in advance - you should have your Gitlab repository open on your screen, your submitted code opened and working in VSCode (if it works), so that you can share your work and your progress using Microsoft Teams screen-sharing.
You are being marked based on the quality of the work rather than the quality of your speaking - but you should consider the verbal interaction your opportunity to sell your work, and persuade the marker to give you a higher mark. Critical to this is being highly professional, well prepared, and to sound convincing - which is where some preparing of answers would be useful.
You should aim to take about 10 minutes for the interactive demo. You will be cutoff at the 15 minute mark. Your tutor will use a stopwatch to ensure the demo doesn't go over 15 minutes, and any further uncovered work will not be marked. Loss of time due to failure to setup or arrive on time will not result in additional time being provided (and some of your work might not be marked).
Recordings are optional. If you wish to record the session, you may do so using the Microsoft Teams functionality - but you must take the initiative to do so, and let your tutor know. I would advise recording the session if you are comfortable doing so, so that you have evidence supporting your case if you need to appeal marking.
I would recommend producing save files in advance to demo particular features of your product. This is worthwhile so that you have time to demonstrate all features of your game - it is your responsibility to ensure that you demo everything.
Best of luck,
Matthew
Hi students,
A sample exam part 1 (multiple choice questions) has been setup and is available on Moodle.
Best,
Matthew
Hi students,
Your milestone 1 and 2 marks are in the system, and should be available under the give fields milestone1 and milestone2 . Check the Marks tab at:
https://cgi.cse.unsw.edu.au/~give/Student/give.php
Best,
Matthew
Hi students,
I've setup the following HELP sessions:
I'll add more HELP sessions if more availability comes up... but please don't assume we'll be able to add more HELP sessions - please take full advantage of these sessions.
Best,
Matthew
Hi students,
Just to keep you in the loop - we're trying to organize HELP sessions this week (especially as milestone 3 is due Sunday), but the availability of our tutors (who are students too) is very constrained due to having many exams and assignments, all at once!
As such, please be understanding that we've been unable to setup HELP sessions for this week... if we can run HELP sessions, we will.
Best,
Matthew
Hi students,
Milestone 3 submission has been setup, and should work. Please let us know if there are any issues submitting milestone 3.
To submit milestone 3, as in the spec, use the command:
2511 submit milestone3
Note that the dryrun will generate contribution statistics and check if your code compiles. We will check the contribution statistics in the milestone 3 demo - and ask you about the levels of contribution in your team. This will inform us on whether to redistribute marks for lack of contribution - for all marks on milestones 1, 2 and 3.
If you're still behind on contribution, I'd highly recommend doing as much work this week as possible, to mitigate any loss of marks due to lack of contribution.
Best,
Matthew
Hi students,
Lab 9, tut 9, and the tut 9 recordings have been released. You should all have a lab 9 repository.
Lab 9 is entirely automarked, and is due Sunday 5pm of week 10.
Please remember to watch the tut 9 recording - as mentioned before, the tutorial recordings are highly polished, concise, and detailed answers to the tutorial questions.
This week in your labs, you will be marked on labs 5 and 7. As there will be no more time for marking labs after this (since week 10 is for marking milestone 3), it is important you attend this week to get both labs marked. Unless special consideration is received, tutors will not be marking labs outside of the lab - so you must get labs 5 and 7 marked in your lab this week.
Good luck continuing milestone 3! Recall it is due upcoming Sunday 5pm. The teaching team and I are very excited to see what you've produced in the demos next week!
Best,
Matthew
Hi students,
Some students have recently sent me emails asking how to switch menus, without having to reload the ArcGIS map - since reloading the map causes a "jolt" where you can see momentarily the map isn't loaded.
Thus, to make things easier for you, I've extended the starter code to include an example of how to do this, and released the merge requests for it.
In this example, the sub-menus have their own controller and FXML files, which are loaded into the main controller. The menus can be switched using a "Switch Menu" button. You could use this to switch between menus for training troops, managing taxes, and a primary menu, for example.
It's worth keeping in mind that the example I've provided is not intended to be an example of excellent design - rather it is to show you how to switch between menus from a technical perspective. Particularly, in this design, the GloriaRomanusController is tightly coupled with the InvasionMenuController and BasicMenuController. To improve this design, you may want to look into JavaFX Properties (since they allow sharing of only the resources which needs to be shared (such as info on which menu should be loaded), and allow call-back functions using the bind method for a unidirectional binding).
Alternatively, you may wish to simply
toggle visibility whilst having all nodes in the map
(a different method of switching menus to the example I've released).
Luckily, it's much easier than this example to switch an entire scene (e.g. to go to the main menu) - you can use Stage.setScene :
https://coderslegacy.com/java/switch-between-scenes-in-javafx/
I hope this helps making milestone 3 easier for you!
Best,
Matthew
Hi students,
It may be worth noting - to make Scenebuilder recognize ArcGIS, click the gear icon in the library pane of Scenebuilder (below image), then click "JAR/FXML Manager". One of the actions on this pane will be "Add Library/FXML from file system". Click that and then navigate to the lib/arcgis-java-api.jar file using the file finder.
This should fix the "import not found" error associated with <?import com.esri.arcgisruntime.mapping.view.MapView?> you may have seen on Scenebuilder - which is occurring because Scenebuilder doesn't know anything about ArcGIS.
You may also want to try commenting out the import, then opening fxml using scenebuilder, editing, saving, then un-commenting the import (to avoid seeing a blank screen).
Best,
Matthew
Sample Final Exam is now available. We will discuss it today (05 Nov) in the lecture.
Hi students,
Week 8 HELP sessions (based on current tutor availability) are:
We are giving the maximum amount of HELP sessions for which the tutors are available for this week... please be understanding that the tutors are also students, and have their own studies/assignments/other commitments too. If we are able to provide any more HELP sessions, we will.
Best,
Matthew
Hi students,
I have received reports that some groups have gone over the submission size limit, and therefore were unable to submit their milestone2.
This can occur due to large commits - even if the file has been removed from Gitlab.
Considering this, if you are in this situation, we will accept your submission, as long as you show us a commit pushed to Gitlab before the deadline of midday today. We will check the timestamp of the commit on Gitlab.
This will mean you will have to generate your own coverage report during the demo, using the command:
gradle test -b test.gradle
You will not receive extra time to generate a coverage report.
Great work finishing milestone 2!
Best,
Matthew
Hi students,
Week 8 tutorial and tutorial recordings have been released in the "Tuts and Labs" section.
I'd strongly recommend watching the tutorial recordings - as mentioned before, they are highly condensed, polished, detailed responses to the tutorial questions.
Best,
Matthew
Hi students,
Good luck on milestone 2!
Please remember to submit by midday tomorrow (the extended due time).
We are happy for you to show us your JUnit coverage via the test gradle script provided in the project repo, on the CSE machine, as long as it is a fresh clone of the version of your repo submitted by the due time. Alternatively, we will create our own version at the due time (midday tomorrow).
Note that some demo timeslots are during the tutorial timeslot - so ensure you check the demo Teams meeting timeslots I just sent out.
Best,
Matthew
Hi students,
We are extending the due time of milestone 2 to Monday (tomorrow) midday.
I hope this helps with finishing milestone 2!
Best,
Matthew
Hi students,
Milestone 2 submission should now work.
2511 submit milestone2
Best,
Matthew
Hi students,
I've released the assignment 1 automarks and a copy of the assignment 1 tests and mark weightings for each test:
https://webcms3.cse.unsw.edu.au/COMP2511/20T3/reso...
Your assignment 1 automarks are in the system, and should be available under the give field ass1_automark . Check the Marks tab at:
https://cgi.cse.unsw.edu.au/~give/Student/give.php
We're working very hard to get your subjective marks/feedback for assignment 1 out as soon as possible, expect them very soon!
Best,
Matthew
Hi students,
We will have a HELP session Sunday 12pm-2pm: https://au.bbcollab.com/guest/b20ed052346b4e32a715...
Great opportunity for milestone 2 help!
Best,
Matthew
Hi students,
I've put links to the recordings and notes for Braedon's OOP Session on Tuesday 4pm under the "Assignments" tab.
https://webcms3.cse.unsw.edu.au/COMP2511/20T3/reso...
https://webcms3.cse.unsw.edu.au/COMP2511/20T3/reso...
https://webcms3.cse.unsw.edu.au/COMP2511/20T3/reso...
Best,
Matthew
In case you are still struggling to understand the tasks required for the project and/or need helping hands in getting started, please don't wait and get stressed, please contact your tutor for assistance. We have developed this new project to offer you an interesting and engaging learning experience. After revising the specifications, we have received positive feedback from many students, however we want to make sure that all of you can enjoy and engage in this learning activity. At this point, I suggest you try your best without getting stressed, marking will not be harsh! Important : when you seek help, please be specific on the topics/tasks for which you need clarifications/help in getting started.
- Ashesh and Matthew
Hi students,
Please note - the patterns used in the project should be unique, for the purposes of counting the number of patterns.
So when it says there should be 3 design patterns, it means 3 unique types of design pattern.
Best,
Matthew
Hi students,
HELP sessions until Saturday will be:
Also keep in mind Braedon is running a session Tuesday 4pm-5pm primarily to help you with design/understanding the spec (on Teams, as announced before).
Best,
Matthew
Hi students,
Please note - saved games are indeed required in the simplified spec , as some students have asked. I just released a merge request where the appropriate place in the marking criteria is - this was accidentally removed from the marking criteria in the simplified spec before, but left in the specification.
Best,
Matthew
Hi students,
Several students have asked me if there's anything to keep track of in the original spec, now that a simplified spec has been released.
In the original spec, you will need to still abide by everything not re-written in the simplified spec. Particularly, information on setup, and milestone deliverables has not been rewriten in the simplified spec. The simplified spec essentially just focuses on the simplified gameplay functionality requirements.
Note that since extensions are considered a deliverable, the extensions section in the original spec (under milestone 3) is still being applied.
Also note that milestone 1 marking will be according to the original spec, since the simplified spec was only released last night.
Best,
Matthew
Hi students,
If you have tried running the starter code, please answer the poll on whether you have been able to run the starter code.
https://webcms3.cse.unsw.edu.au/COMP2511/20T3/acti...
If many students are having trouble with this, we will look at adding more HELP sessions (please answer the poll honestly though).
Best,
Matthew
Hi students,
After considering the student feedback, we have now simplified the project specification. Please note that there are no new requirements in the revised specification. However, we have removed some features, in order to simplify the tasks. Importantly, whatever work you have done so far will be awarded marks accordingly. In case you have already implemented features that are not part of the Simplified Project Specification, please consult your tutor for trading them against the rest of the work required for the project.
The Simplified Basic Project Specifications are available below:
https://gitlab.cse.unsw.edu.au/COMP2511/final_proj...
Note that the original specification in the README.md file has not been changed in line with this, except to link to this.
I'd particularly recommend focusing on the heading "Summary of changes from original spec" for a concise outline of the changes.
Best,
Matthew
EDIT: also note a merge request has been sent to all group repos with the simplified spec. You may have to choose to accept the merge request if it didn't go through automatically.
Hi students,
Interactive demos for milestone 1 have been released through Microsoft Teams notices, which should also trigger an email to your student email on office.com and event in your student office 365 calendar. Please note - a secondary email has not been sent, since all of the necessary information is in the Teams notice (including a link to join the meeting).
If you have not received such an invitation, please let your tutor know via email.
The sessions for your class start during the lab time-slot (e.g. for T09A, it starts at 10am). The Teams event emailed to you shows your allocated time. Note that tutorials are on as usual this week.
Please make sure that you are aware of the timing for the session - some students in 20T2 missed demos due to their incorrectly configured timezone on office.com
All students must attend their group's milestone 1 demonstration. Students must be available to start their interactive demo Teams meeting 15 minutes in advance and for 30 minutes after their interactive demo should have ended (in case there is a delay).
Those who are late or absent without special consideration may receive a loss of marks, or have their lateness/absence recorded as negative contribution for mark re-scaling purposes.
Questions will only be related to your work on the milestone. Questions may touch on topics such as you what you have done, why you did it, to reflect and explain on what you are missing or what could be improved (and potentially other topics). You should present and explain your work to your tutors, elaborating on your answers to such questions, or answering any questions your tutors direct to you.
You are required to engage in verbal discussion for this interactive demo - so you must ensure that your microphone is setup in advance.
You must present your user stories using your issue board (as directed in the project specification).
Note that as per the earlier announcement, you can copy user stories over during the session.
You are being marked based on the quality of the work rather than the quality of your speaking - but you should consider the verbal interaction your opportunity to sell your work, and persuade the marker to give you a higher mark. Critical to this is being highly professional, well prepared, and to sound convincing - which is where some preparing of answers would be useful.
It is your responsibility to be setup in advance - you should have your Gitlab repository open on your screen, so that you can share your browser with your tutors whilst explaining your user stories.
You should aim to take about 5-10 minutes for the interactive demo. You will be cutoff at the 10 minute mark. Your tutor will use a stopwatch to ensure the demo doesn't go over 10 minutes, and any further work will not be marked. Loss of time due to failure to setup or arrive on time will not result in additional time being provided (and some of your work might not be marked).
Each group will be marked by 2 tutors in this iteration.
Recordings are optional. If you wish to record the session, you may do so using the Microsoft Teams functionality - but you must take the initiative to do so, and let your tutor know. I would advise recording the session if you are comfortable doing so, so that you have evidence supporting your case if you need to appeal marking.
Best of luck,
Matthew
Hi students,
Braedon is very generously running a session on Tuesday 4-5pm covering in more depth some examples of design patterns that will be relevant for situations you could face in the project, as well as covering some of the harder conceptual parts of the specification such as; buffs/debuffs, config files, AI, and more.
This is an excellent session to attend if you need help with the project, particularly around the design aspects.
The link will be on Teams: https://teams.microsoft.com/l/meetup-join/19:mee...
Best,
Matthew
Hi students,
If you are using the VM on a Windows machine, you should transfer your repository on the VM away from the shared folder/disk. This is because Linux symbolic links wont be supported by the folder, since it is actually a Windows folder, and the project relies on the symbolic links to link to the ArcGIS and JavaFX libraries.
Alternatively, you could install
git
on Windows, making sure to enable symbolic link support when installing.
Best,
Matthew
Hi students,
If something isn't covered in the spec, this means you have flexibility over how it is implemented.
Also note that there are no autotests (other than running your JUnit tests for coverage checking, and checking your tests work for milestone 2). The spec doesn't specify some things to allow you to make your own game/design decisions. Particularly, around the construction of the user interface, there is little detail.
Thus, if you can justify an interpretation of the spec (and haven't broken any of the requirements of the spec), you will not lose marks for it.
Note however, that your user experience marking in milestone 3 will be marked in terms of the quality of the features - so the decisions you make may lose marks if they are poor decisions for user experience (particularly around design of UI), even if justifiable under the spec. Similarly, the quality of your design is also marked for milestone 2 and 3.
Best,
Matthew
Hi students,
I've released an updated version of the final project spec, which clarifies our expectations to achieve different grades in the completeness section of the project (for milestones 2 and 3) - this clarifies our expectations to achieve a pass, credit, distinction, high distinction, up to full marks.
This has been released as an update to the main final project repo, and then as a merge request to all of your repositories. The details are under the heading "Requirements for grading levels" . You may have to select to accept the merge request if you do not see the changes reflected in your repository (this may occur if you have made changes to the README.md file or images directory.
I have added some additional images produced by Sam O'Brien (thanks Sam!) under the directory: images/CS2511Sprites_No_Background
Particularly, this directory contains many of the already-released images with a transparent background, images for buildings, and images for flags.
I'd recommend, at the very least, making the requirements for a pass your minimum viable product, then build up to the requirements for a credit, then build up to the requirements for a distinction, etc... - this process is Agile development, following this mimics real-world software development, so this project should be excellent practice for real-world projects.
Note that the amount of work required to achieve a pass on completeness is relatively minimal (since the starter code is quite substantial, even allowing invasions of enemy provinces). However, those who want to get really stuck into the project, have a lot of room to do so, and be rewarded with marks under this spec.
Also note that the more substantial sections on battle and campaign AIs are only required for a high-distinction on completeness - so you can achieve a strong mark (distinction) on completeness without considering all the details in those sections.
Keep in mind that we have designed the spec so that, those who come up with strong designs are rewarded for it. Many of the details in the mechanics were designed so that, to efficiently scale/develop the project, you will have to apply the appropriate design pattern/principle. This should thus be excellent practice for real-world software development.
Also remember that there are many marks on non-completeness components across milestones 2 and 3 - such as design, testing, and user experience design. Don't purely focus on completing all requirements at the expense of these aspects - they deserve a substantial amount of attention themselves.
I hope adding these clarifications to the project helps. I hope you enjoy working on the project, and you find the experience gained in agile development/design/UX/testing useful.
Best,
Matthew
Hi students,
During week 6, for any project related issues, please post a message on the forum, email your tutor, or attend a HELP session (these are daily). For any personal issues, please send an email to cs2511@cse.unsw.edu.au . I (Matthew) will be away during week 6.
Best,
Matthew
Hi students,
Project repositories have been created. We highly appreciate your patience with the delay due to technical issues.
As indicated before, demonstrate your user stories in week 7, you can copy/paste your user stories to your repo in week-7 during your tutorial, that's fine.
Best,
Matthew
Hi students,
Week 6 HELP session are as follows:
Note that these HELP sessions are not compulsory, they are there to help you if you need clarifications on the course material covered so far.
Best,
Matthew
Hi students,
The Week 7 tutorial repos and recordings have been released. Repos should be available for lab7.
Also note that lab7 is due at the beginning of your lab in week 9 - in just over 3 weeks time.
Best,
Matthew
NOTE there are no tutes or labs in week 6.
Hi COMP2511 Students,
As per the earlier post, due to some technical issues, we are not able to upload the repos on the Gitlab. We are extremely sorry for this delay and any difficulty and/or inconvenience it might have caused. We expected the script (successfully used earlier) to upload the repos should have worked smoothly, however we will consult the SS tomorrow and try to address the issues as soon as possible. Regarding submitting your user stories for Milestone 1, we suggest you can demonstrate them to your tutor during your Week-7 tutorial, as suggested in the course outline. You can copy/paste your user stories to your repo in week-7 during your tutorial, that's fine. Again, sorry for this inconvenience.
Later today or tomorrow morning, we will post a few consultation hours during week-6. Please make use of them in case you need any clarifications on the course material covered so far.
Hi students,
Some students have asked how to submit for milestone 1 given the repos aren't up due to technical issues.
Please have your user stories ready on a Google Doc. I'd strongly recommend moving onto milestone 2 after 5pm today (the official deadline) - since milestone 2 has significantly more work. I'd recommend downloading the main repo and working on features independently, then integrating them into the main repository later.
We will keep extending the time you can submit without late penalty, whilst the repos haven't been created.
When the repos are up, please transfer the user stories onto the Gitlab issue board.
Best,
Matthew
Hi students,
We had intended to get the project repos up much earlier, but we have been experiencing significant technical issues in creating them.
We are corresponding with IT to try to get this issue with Gitlab fixed, to get the repos to you as soon as possible.
The official deadline of the milestone 1 will be Sunday 5pm, however if you submit up to 2 days late, there will not be a late penalty.
I wish to stress that you would likely be unwise to spend more time on milestone 1 after Sunday 5pm - any further time you spend on milestone 1 (particularly if you're only polishing it up) will eat into the time you have to spend on milestone 2, which I would suggest is more important, and requires more work.
Best,
Matthew
Hi students,
Remainder of the project intro session will be here:
https://au.bbcollab.com/guest/8d9a61098876481ba5b8...
This will also be recorded.
Best,
Matthew
Hi students,
Project intro session will start in a few minutes. Jump in!
https://au.bbcollab.com/guest/1832b70a84864d73ae1d...
Best,
Matthew
Hi students,
I will run a project introduction session from 3pm today (to run as long as is necessary to introduce the project and answer your questions, perhaps 1 hour or more).
The session will be recorded. The guest link is: https://au.bbcollab.com/guest/1832b70a84864d73ae1d...
Best,
Matthew
Hi students,
Week 5 HELP sessions are:
Good luck on milestone 1!
Best,
Matthew
Hi students,
The project specification has been released.
https://gitlab.cse.unsw.edu.au/COMP2511/final_proj...
Your group project repositories will be created soon. In the meantime, please develop your user stories for milestone 1 separately to Gitlab (e.g. on a Google word document).
Since the time for milestone 1 is less than initially specified, we will be more lenient in marking milestone 1, and it is worth fewer marks (it is only 5 marks). So please do not spend too much time on it.
We have also developed videos to help you setup the project.
Compressed version:
https://webcms3.cse.unsw.edu.au/COMP2511/20T3/reso...
High quality version: https://webcms3.cse.unsw.edu.au/COMP2511/20T3/reso...
We have released a Virtual Machine (link in the spec) containing all necessary components installed to run the project. We have provided this virtual machine because the game will not run on the CSE machines remotely, due to the ArcGIS library. However, your tests are expected to run on a CSE machine for milestone 2 (they should work as they do not need to start an ArcGIS map window).
Milestone 1 is due upcoming Sunday 5pm.
It is important that both group partners contribute equally during this project. Disparity in project contribution may result in redistribution of marks.
Good luck on this project, and in finishing assignment 1!
Best,
Matthew
Hi students,
The issue with pushing to Gitlab many of us experienced last night should now be resolved.
Good luck finishing the assignment! As announced last night, the new deadline is tomorrow (Tuesday) 9am.
Best,
Matthew
Hi students,
I have received many reports of technical issues with Gitlab tonight - being unable to push to Gitlab. I was able to verify this was an issue.
As such, we will grant a further 24 hour extension. So the assignment will be due Tuesday 9am.
Best,
Matthew
Hi students,
Week 5 lab, tutorial, and tutorial recordings have been released.
Please remember to watch the tutorial recording before your Q&A session.
The lab is due at the beginning of your week 7 lab.
Best,
Matthew
Hi students,
The assignment 1 submission and dryrun have been tested and deployed. I can see that, as I am writing this, some of you have already submitted and passed the dryrun.
To submit, and have the dryrun run, please run the following command on a CSE machine:
2511 submit ass1
Please note it will obtain a copy of your submission from your ass1 Gitlab repository - not your local CSE directory.
Please remember that the dryrun is only a very limited test (it is the same as the example provided in the starter code); there are many parts of the spec which haven't been tested in the dryrun. Also keep in mind the ordering of output in JSON Arrays must match the correct output, otherwise you will not get marks for the test. Therefore, it is very important that you engage in very thorough testing for all aspects of the specification.
We commonly receive arguments from students failing tests because of different ordering or formatting issues, that they should receive the marks. We have rejected all such arguments in the past, and will reject all of these arguments when they are made for this assignment.
You must run the submit command to register a submission. If you forget this, your work will not be marked, even if you made a Git commit before the deadline - because Git commit timestamps can easily be modified. We commonly receive requests from students to accept work in a commit before the deadline as a submission - we will reject all such requests, regardless of the number of marks lost.
Also note that you must include all components of your submission in the submitted version of the repository - your JSON tests and design documents should be in the root directory of your repository. Your UML diagram must be a PDF file only. Your JSON tests must be JSON files. Failure to follow this may result in your work not being marked (particularly if your marker doesn't have immediate access to the software to open your file).
Good luck finishing the assignment!
Best,
Matthew
Hi students,
There will be a HELP session on Sunday 4pm-6pm. The guest link is:
https://au.bbcollab.com/guest/c7f4987eac174fc499ad...
This will be the last HELP session before the assignment is due - I'd recommend attending it if you need help on the assignment at that time!
Best,
Matthew
Hi students,
Please note that in this section of the spec:
Other than this, you are not allowed to use any third party libraries .
"third party libaries" means libraries which require downloading and including a JAR file to run the code. For example, JUnit and JavaFX would be considered a third-party library since you must include JAR files to make them work. Similarly, JSON-Java, is a third-party library - the JSON.jar file provided in the lib directory for ass1 is required to make it work.
Modules such as java.util , java.time are not third-party libraries. They are part of the standard library - they do not require anything but the installation of a Java SDK (which is required to use Java at all). You are encouraged to use them if they help solve the assignment.
Best,
Matthew
Hi students,
HELP sessions on Friday and Saturday will be on:
Great opportunity to get help on ass1, which is due Monday!
Best,
Matthew
Hi students,
Just to note, I would recommend using the following tools for building UML diagrams:
Best,
Matthew
Hi students,
Please note that the HELP session tomorrow (Wednesday) has been rescheduled from 2pm-4pm to 11am-1pm . I've updated as such in the prior notice. The guest link is the same as in the first announcement.
Best,
Matthew
Hi students,
Some students have asked whether constructors should be present in your UML diagram for ass1.
Constructors should be present in your assignment UML diagram
. Notation for including a constructor can be seen in this example diagram (note the "+" means it is public - you should be denoting private members with a "-" and a public member with a "+"):
+ <<Create>> Character(x: int, y: int)
Best,
Matthew
Hi students,
For today and tomorrow, the HELP sessions will be:
Best,
Matthew
Hi students,
Just to keep you all up to date - the project should be released soon - hopefully within the next couple of days.
We've found some unforeseen technical issues whilst testing the project, because of some exciting new features I've added into it. We're working with IT to get this fixed as soon as possible, so we can release the project to you. We will make sure that the tasks for the first milestone are in line with the slightly reduced time.
I hope you are all going well with your assignment 1.
Best,
Matthew
Hi students,
Some students indicated they were having trouble finding the COMP1531 19T3 slides. A direct link to download the slides is:
https://webcms3.cse.unsw.edu.au/files/455f667c4d53...
The week 7 slides on conceptual modelling in particular should be helpful in developing your UML diagram for assignment 1.
Best,
Matthew
Hi students,
A HELP session will start at 2pm today, going until 4pm. Great opportunity to get help on the assignment!
Guest access link: https://au.bbcollab.com/guest/c259dd30bbc94d5b810e...
Best,
Matthew
Hi students,
I've added a copy of the 19T3 COMP1531 slides at the bottom of the "Tuts and Labs" section of webcms3. There is also a copy of the 20T1 slides (this has always been there).
You might particularly find useful the week 7 COMP1531 19T3 slides on conceptual modelling. This includes content on developing UML diagrams - which is relevant to your assignment.
Best,
Matthew
Hi students,
Please note that there are no tutorials/labs/lectures for COMP2511 on week 4 Monday - since it is a public holiday.
Students registered to a Monday tutorial should attend another tutorial Q&A session, and attend any other lab in week 4 to get marked for lab3.
Best,
Matthew
Hi students,
Tutorial 4 and the tutorial 4 recordings have been released.
Please watch these in advance of the week 4 tutorial.
Please note there is no week 4 lab.
426 of 450 students have registered a group on webcms3. Thank you for doing this. If you haven't registered a project group so far, you will need to email your tutor.
Best,
Matthew
Hi students,
HELP sessions for this week will be:
All times are in Sydney time.
More HELP sessions will be announced for week 4 later.
This is a great opportunity to get help on the assignment!
Best,
Matthew
Hi students,
To print a JSONObject in Java, you could use
System.out.println(result.toString(2));
Where result is a JSONObject. The 2 specifies to indent by 2 spaces.
This is relevant to the assignment. The documentation is at: https://stleary.github.io/JSON-java/
Best,
Matthew
Hi students,
A very astute student brought to my attention today a quirk in the assignment 1 spec, as boldened below:
In this assignment, you will have to be able to generate "jump-runs". This provides the order in which fun-jump groups/training jumps/tandem-jumps will exit the plane in a flight (from first to exit to last), and is calculated to maximise horizontal safety between groups, to increase safety. The order to exit the plane is (from first to last):
Since training-jump groups always have 2 skydivers, ordering between training-jump groups by size is redundant. So you can safely ignore this. However, technically it also wont cause you issues if you implement it according to the boldened criteria - since it would never be used to order between training-jump groups. Essentially, this means training-jump groups will always be ordered between themselves according to the following criteria from the spec:
For this assignment, if 2 jumps have the same classification and group size, the first jump to be booked will exit the plane first (for the purposes of this, a jump resulting from a
change
command will be considered a newly-booked jump).
Do keep in mind though that this doesn't change that as per this spec, fun-jumps all leave the plane before all training-jumps, which all leave the plane before all tandem-jumps.
Best,
Matthew
Hi students,
For assignment 1 - to run your code, you should open the root directory of the repository (likely 20T3-cs2511-ass1 when you clone it) in VSCode, then click the "Run" link which pops up above the "main" function in SkydiveBookingSystem.java (assuming you have the "Java Extension Pack" extension installed in VSCode).
Particularly, it is important to open a folder above the src and lib directories because the assignment relies on the json.jar file in the lib directory.
Please note we don't support using the javac/java commands in this course - we just support running via the VSCode "Run" button which pops up above the "main" function with the Java Extension Pack installed.
Best,
Matthew
Hi students,
Assignment 1 has been released.
Since release is later than we advised (we had said it would be released on Sunday at the latest), the due time will be extended to 9am Monday week 5 (rather than week 4 Sunday).
The repository is at: https://gitlab.cse.unsw.edu.au/COMP2511/20T3-cs251...
A repository has been setup automatically for all of you. You can access it by substituting your zid for "COMP2511" in the above url.
Please read over the spec and ask questions in the forum if you need clarifications. The spec is highly detailed however - so any confusions should be answered by the spec if you read closely enough.
The submission system and dryrun hasn't been setup for this assignment yet - however, the dryrun will only include the sample input and output test, so you can run the dryrun test yourself on your own computer/on a CSE machine.
Best,
Matthew
Hi students,
I've released lab3, tut3, and the tut3 recording. Please watch the tut3 recording in advance of your tutorial session this week.
Currently, 388 students have joined a project group. Thank you to the vast majority of you for forming a project group in time. For the remaining students, please ensure you form a project group today. As I've mentioned in a prior notice, you wont get extra project time/marks if you didn't have your group setup in time.
Even if you form a project group late, you should still register a project group on webcms3 via the standard instructions. However there may be a delay in processing after I setup project repositories for the first time, which could lose you project time.
If you create a project group after today, you should email your tutor.
Best,
Matthew
Week 02: Demo files are now available, sorry for the delay.
Hi students,
It is worth keeping in mind - it is often better to check equality between 2 objects using:
Objects.equals(obj1, obj2)
Rather than:
obj1.equals(obj2)
Since the 2nd version could have a NullPointerException (if obj1 can be null).
Best,
Matthew
Hi students,
It is important that you regularly check whether you have received the marks you've been marked for. Particularly, the lab marks should appear within 24 hours of you being checked by a tutor.
The assignment and project marks will take longer to appear, as we'll release marks when everyone has been marked, and the marks checked at the admin-level. The assignment will have at least a 1-week extra delay for students with special consideration.
As such, please regularly check if you have received marks for all items for which you should have marks for on webcms3/give. If you are missing a mark, please contact your tutor via email ASAP.
It is important you check this regularly and let us know if there is an issue so it can be fixed within a short time of the mistake happening (e.g. if you said a lab1 mark was missing at the end of the trimester, your tutor might reasonably not remember...)
Please remember that since there are 6 labs of equal weighting and labs contribute towards 10% of the marks, each mark out of 2 you see in webcms3 will be scaled to a mark out of 1.6666666666666...
Best,
Matthew
Hi students,
Just in case it isn't clear - the rules for setting up project groups is in your lab2 instructions and on the webcms3 posts are, in summary:
https://gitlab.cse.unsw.edu.au/COMP2511/20T3-cs251...
Best,
Matthew
EDIT: this shorter regex should be equivalent to the above version:
^(M13A|M13B|M15A|M15B|M17A|M17B|T09A|T09B|T11A|T11B|T13A|T13B|W09A|W09B|W11A|W11B|H09A|H09B|H11A|H11B|H17A)-\w{1,15}$
Hi students,
I should add to the previous post - please do not create inappropriate project group names. I will be checking through them manually, any project group names I believe could be perceived as even slightly offensive/crude/inappropriate will be replaced with a boring group name e.g. H17A-group123
Best,
Matthew
Hi students,
It's important to stress that your project group must be a pair of 2 unless you receive authorization from your tutor to form a group of 3 (they will only do this if there are an odd number of students in the class, for a single group). Working alone in the project will not be allowed unless you have special consideration requiring this, since groupwork is a learning outcome of the course. Groups not of size 2 will be broken up unless authorization is given to the students for that group size.
To make it easier to check if a group name is valid, the check I'll automatically perform will be:
So the overall project group name should match the standard regex ^(M13A|M13B|M15A|M15B|M17A|M17B|T09A|T09B|T11A|T11B|T13A|T13B|W09A|W09B|W11A|W11B|H09A|H09B|H11A|H11B|H17A)\-[A-Za-z\d_]{1,15}$
Please check your project group name, e.g. using this online regex tool: https://regex101.com/
All project groups failing the above regex will be given a boring group name (e.g. H17A-group123)
Please remember that project groups must have the tut code of the tut you are enrolled in. You cannot work in a different tut for your project group, or work with a student enrolled in a different tutorial (even if the same time).
You must arrange your own groups. Students who fail to organize their own group will not receive consideration (i.e. no extra time or marks) for lost project time.
Best,
Matthew
Hi students,
Week 2 lab has been released. Please remember to submit this using the
submit
command on a CSE machine.
Particularly, please ensure you follow the instructions in the week 2 lab to setup a project group. It is important that you do this by upcoming Friday. If the project is released and you haven't setup a group, you will not receive extra time.
It is also important that you follow the precise instructions in the lab regarding the syntax of your project group name - it should be your tut code, followed by a "-", then a mix of uppercase/lowercase letters, underscores, and digits. Any project group names failing this (I'll check automatically) will be replaced by a very generic and boring group name (e.g. group123 ).
Please also do not make the project group name longer than 20 characters... I'll also be changing those to a generic group name too... some naughty students made very long group names last trimester and it caused technical issues since Windows paths have a finite maximum, creating extra work for me...
Best,
Matthew
Hi students,
The week 2 tutorial and tutorial recording have been released. Please watch the tutorial recording before your tutorial session this week. As I've mentioned, the tutorial recordings aim to provide explanations to all tutorial questions in full detail concisely and clearly. That way when you come to tutorial sessions, you understand the content at a strong level and can focus on clarifying confusions, and asking questions to increase depth/breadth of your knowledge, which is more valuable.
The week 2 lab will be released later.
Best,
Matthew
Hi students,
Please note - if anything about the course (particularly layout, assessments, etc) is mentioned in the tutorial recordings, any announcements/information in the course outline this trimester overrides this. Particularly, there might be information on lab assessment "interactive" sessions which were for last trimester - but this trimester we're marking your lab work directly in the lab sessions.
Best,
Matthew
Hi students,
Welcome to the course! I'm Matt, the course admin. I'm looking forward to teaching all of you this trimester.
The forums this trimester will be the webcms3 forums: https://webcms3.cse.unsw.edu.au/COMP2511/20T3/forums/
Under "Tuts and Labs" I will be uploading links to the weekly tutorial and lab repositories. This will also contain links to pre-recorded tutorial videos - which are concise recordings of me answering the tutorial questions in full detail.
Please watch these videos in advance of your tutorial - this allows you to watch the videos initially at your own pace, and then use the tutorial time to address confusions. The tutorial videos are shorter than a full tutorial and go into more detail. Some are only 15 minutes! We have found this helps students learn the material much better - you can repeat a pre-recorded video as many times as you like without fear of social judgement! Of course our lovely tutors are more than happy to repeat explanations :)
You should all have received a "fork" of the lab01 on Gitlab. If you don't have it, please email your tutor. It would be likely to occur if you have enrolled late.
Please submit the lab01 using the submit command in advance of the due time - your week 2 lab. You must either get it marked in your week 1 or week 2 lab to get marks.
Best,
Matthew
Dear COMP2511 Students,
Welcome to the course, I’m the convenor and Matthew Perry is the course admin for COMP2511 (Term 3, 2020). The course outline is now available, please carefully read it. I will post a message when the tutorial and lab for Week-01 are available, most likely over the weekend. Looking forward to the start of the term next week.
The course home page is at https://webcms3.cse.unsw.edu.au/COMP2511/20T3/ .
Lectures, Tutorials and Labs will be delivered on
Blackboard Collaborate. T
he
lecture
recordings
will also be available on Blackboard Collaborate. Please click on "
Online Lectures, Tutorials and Labs
" for more information on how to access them. See you at 11am on Monday 14 Sept 2020.
Cheers,
Ashesh Mahidadia and Matthew Perry