This is a week-by-week breakdown of the course activities. There is another website with the course timetable. That website shows all the tutorials and labs: you only attend one tutorial per week; labs are drop-in and you may go to as many as you wish.
Week | 1 (15-19 January 2024) | |
Lectures |
| 2. Conditionals and Loops |
Tutorials | No Tutorials | |
Labs | Introduction to tools, main function, print output and command line arguments | |
Assessment | The Getting Started and Week 1 quiz become available. There are no assignments yet but you need to start your preparation:
|
Week | 2 (22-26 January 2024) | |
Subject | 3. Arrays | 4. Static Functions |
Tutorials | Pair programming | |
Labs | Boolean expressions, conditionals and loops | |
Assessment | Getting StartedQuiz and Week 1 Quiz due Friday at noon. No actual assignments are running yet. Keep re-reading the Code Quality document and start matching its advice to information from lectures and lab classes. Assignment 1 Practice Test becomes available via STACK which you may retake as many times as you wish: you are not expected to know all the answers at this stage but it is important you check the Practice Test works on your browser. The Practice Test is representative of the range of knowledge and types of questions in the actual assignment. Discuss the Practice Test with lab demonstrators not your tutor. A Piazza thread for reporting technical problems with the Assignment 1 Practice Test becomes available. |
Week | 3 (29 January - 2 February 2024) | |
Lecture | 5. Instances and Classes | 6. Testing and Debugging |
Tutorials | Debugging | |
Labs | Arrays | |
Assignment | Week 2 Quiz due Friday at noon. Assignment 1 (a series of online Tests on STACK) released on Monday 29 January at 12:00 (noon). You have until 12:00 (noon) on Thursday 29 February (leap year!) to complete the assignment. There are no extensions or ETAs for Assignment 1. Instead we have made the overall Assignment window generous and made the time limit for each Test generous. Beginners are not expected to be able to complete the Assignment for a few more weeks but we have made the Tests available early in case that helps some students manage their late February workload. Further details about Assignment 1 are in the Assessment folder on the Learn course page and on STACK. |
Week | 4 (5 - 9 February 2024) | |
Lecture | 7. Java API & Documentation | 8. Collections |
Tutorials | Assignment 2 practice: you will be learning to handle the content of Assignment 2 | |
Labs | Functions, Std I/O and Error Handling, Character manipulation and recursion | |
Assignment | Week 3 Quiz due Friday at noon. Assignment 2 Part 1 (A2.1) released: Monday 5 February at noon. You have until Thursday 15 February (10 calendar days) to create your first draft. There are no extensions for A2.1 due to the tight-turnaround for marking. This version of the Assignment is not graded, it is formative, submitted for feedback. You will update your work and resubmit it for Part 2 which is summative (graded). Your first deadline for Assignment 2 Part 1 is Monday 12 February 15:00 to submit your choice of task. Once you have chosen you are not allowed to change your mind. Submission of Part 1 is via Gradescope and opens on Tuesday 13 February. This is because we need time to process the choice of tasks to assign markers and moderators. |
Week | 5 (12 - 16 February 2024) | |
Lecture | 9. Stack vs. Heap | 10. Abstraction and Modularisation |
Tutorials | Testing | |
Labs | Multidimensional Arrays, static vs instance methods and file paths | |
Assignment | Week 4 Quiz due Friday at noon. Assignment 2 Part 1 due Thursday 15 at noon via Gradescope. Remember this submission is formative (for feedback) not summative (graded). Nevertheless submission is compulsory and non-submission will be penalised when you submit the graded version for Part 2. |
ILW: 19 - 23 February 2024
Week | 6 (26 February - 1 March 2024) | |
Lecture | 11. Class Definition | 12. Refactoring |
Tutorials | Actioning feedback on Assignment 2 and peer-testing of Assignment 2. You will consider your tutor's feedback and road-test your work on others in your tutorial. All this feedback is extremely valuable in helping you improve your assignment ready for submission for marking. | |
Labs | Write your own classes | |
Assignment | Week 5 Quiz due Friday at noon. Continue working on Assignment 2 Part 2: improving your first version. Assignment 1 Piazza thread closes Tuesday noon. Assignment 1 technical problems become your problem from Wednesday noon. Assignment 1 final cut-off date Thursday noon. |
Week | 7 (4 - 8 March 2024) | |
Lecture | 13. Inheritance A | No Lecture |
Tutorials | Refactoring | |
Labs | Collection Classes, Packages and File I/O | |
Assignment | Week 6 Quiz due Friday at noon. Continue working on Assignment 2. |
Week | 8 (11 - 15 March 2024) | |
Lecture | 14. Inheritance B | No Lecture |
Tutorials | No tutorials | |
Labs | Labs will be on to help with assignment questions | |
Assignment | No weekly quiz to submit. Assignment 2 Part 2 due Thursday noon via Gradescope. |
Week | 9 (18 - 22 March 2024) | |
Lecture | 15. Abstract Classes and Interfaces | 16. Object Design |
Tutorials | No tutorial | |
Labs | Inheritance and Enums | |
Assignment | Week 8 Quiz due Friday at noon. Assignment 3 Part 1 (A3.1) released Monday noon. This version of the Assignment is not graded, it is formative, submitted for feedback. You have 10 calendar days until submission. Submission is via Gradescope and open Friday March 22. This is partly to force you to find and solve problems and limitations with your work before the auto-marker becomes available. The Assignment contains some unit tests for self-checking. There are no extensions for A3.1 due to the tight-turnaround for marking. Instead there is a generous window from the feedback being returned to the time you re-submit for grading. You will update your work and resubmit it for Asignment 3 Part 2 (A3.2) which is summative (graded). Part 2 is taken during the exam period after Easter (early May), so you have all of April to continue making improvements and pracitising Java design and programming. A3.2 extends A3.1 to test knowledge taught near the end of the course, so that you are not under pressure to learn the later material quickly for A3.1. |
Week | 10 (25 - 29 March 2024) |
Lecture | 18. Version Control |
Tutorials | Object Design |
Labs | Interfaces, Equality and Hashcodes |
Assignment | Week 9 Quiz due Friday at noon. Assignment 3 Part 1 (A3.1) due Thursday 28 1200 noon via Gradescope. This is formative (for feedback, not graded) but submission is compulsory. |
Week | 11 (1 - 5 April 2024) |
Lecture | No lectures |
Tutorials | Actioning feedback on Assignment 3. Your tutor provides you with feedback on A3.1 |
Labs | Extra week to catch-up |
Assignment | No quiz to submit. Keep improving your Assignment 3 Part 1. |
Easter Holidays and Revision week: 8-26 April 2024
Assigment 3 Part 2 (A3.2) is Monday 29 April 09:00 until Friday 10 May at noon (12 calendar days). This is after Easter and during the exam period. Submission is via Gradescope. A3.2 is entirely automarked, so feedback comes from the auto-marker as a list of passes and fails for a series of tests.
August Assessment: exact dates still be confirmed but you will have approximately 12 calendar days to complete the assessment either as a resit (if you didn't score enough marks during the main course) or as a null sit (if you missed one or more assignments). You do not need to be on campus to take the August Assessment.