Subject: 48024 - Programming 2
Session: AUT 2025
Lecturer(s): Angela Huo, David Dyer (Tutor)
Final Mark: 89
Difficulty: 7/10
Enjoyment: 7/10
Teaching/Organisation: 8/10
Overall: 7.5/10
Summary:
Programming 2 builds on the fundamentals that you learn in Programming 1 for both programming languages of focus, Python and Java. This subject is split into two components, the first half of the course heavily focuses on shortcuts and frequent "patterns" that help to solve particular common problems which arise in programming. For example, patterns can include finding sums or maximum/minimums with or without the use of lists/arrays, but also different structures or ways of writing functions and classes. The second half of the course focuses on building basic GUI (graphical user interface) programs with the use of either JavaFX or Tkinter. Notice the "or" - you can choose which path you follow for this section, whether that'd be using Java or Python. I personally chose Python/Tkinter so my review and experience of the GUI section will come from a Python perspective.
Assignment Structure:
The main assessments (Assignment 1, 2, and the final exam) make up the bulk of the marks for this course, and the rest is earned from lab assignments, a short online quiz in the middle of the course, and 6 Advanced Challenges worth 1% each which consisted of interview-style programming questions, with the length of time given to solve these being based on the difficulty. Yes, there were some challenges which were 3 hours in length, and if all of the code tests pass, you get a measly 1%, otherwise even if just one of the code tests doesn't pass, you still receive 0 for it. Assignment 1 and 2 were closely related - the first assignment is a terminal-based project for a particular scenario which uses the patterns that have been taught over the first section of the course (which can be done in either Java or Python), and the second assignment, using the same scenario, built on some of the code that was written in the first assignment to produce a GUI program (which has to be presented in the lab). With the final quiz, you can also choose to sit a test which is focused on JavaFX, or Tkinter.
Pros:
Session: AUT 2025
Lecturer(s): Angela Huo, David Dyer (Tutor)
Final Mark: 89
Difficulty: 7/10
Enjoyment: 7/10
Teaching/Organisation: 8/10
Overall: 7.5/10
Summary:
Programming 2 builds on the fundamentals that you learn in Programming 1 for both programming languages of focus, Python and Java. This subject is split into two components, the first half of the course heavily focuses on shortcuts and frequent "patterns" that help to solve particular common problems which arise in programming. For example, patterns can include finding sums or maximum/minimums with or without the use of lists/arrays, but also different structures or ways of writing functions and classes. The second half of the course focuses on building basic GUI (graphical user interface) programs with the use of either JavaFX or Tkinter. Notice the "or" - you can choose which path you follow for this section, whether that'd be using Java or Python. I personally chose Python/Tkinter so my review and experience of the GUI section will come from a Python perspective.
Assignment Structure:
The main assessments (Assignment 1, 2, and the final exam) make up the bulk of the marks for this course, and the rest is earned from lab assignments, a short online quiz in the middle of the course, and 6 Advanced Challenges worth 1% each which consisted of interview-style programming questions, with the length of time given to solve these being based on the difficulty. Yes, there were some challenges which were 3 hours in length, and if all of the code tests pass, you get a measly 1%, otherwise even if just one of the code tests doesn't pass, you still receive 0 for it. Assignment 1 and 2 were closely related - the first assignment is a terminal-based project for a particular scenario which uses the patterns that have been taught over the first section of the course (which can be done in either Java or Python), and the second assignment, using the same scenario, built on some of the code that was written in the first assignment to produce a GUI program (which has to be presented in the lab). With the final quiz, you can also choose to sit a test which is focused on JavaFX, or Tkinter.
Pros:
- The Canvas page is well-structured and easy to navigate. Each weeks content is split up into videos which is divided by section (Java or Python).
- If you're lucky enough to get David Dyer as a tutor for this subject, he teaches the content both as a tutor and on the videos so well and was extremely helpful and accomodating. I couldn't make my original lab time to present my second assignment which would have resulted in a huge loss of marks, but he sorted it out for me instantly and accommodated me into a different time. Also just an overall chill guy.
- I suppose having the freedom of branching off and having the choice of either using Java OR Python for the GUI project was also nice.
- The "lectures" presented by Angela were fairly useless for the most part - it was mainly yaps about admin-related things or plagiarism/academic honesty etc. so I stopped attending them after the second week.
- As someone who uses Mac for most of my uni tasks, Tkinter was not supported properly with Mac for the second assessment task and as such, I had to travel back home to use my Windows PC instead to complete the assessment. For those with only MacBook's, they would have no choice but to use JavaFX since for some reason, the UTS computers don't support downloading packages.
- My point about the Advanced Challenges and their respective weighting as mentioned before.