Why don’t you provide solutions to homework/assignments/practice exams?#
I make a strong point of not providing so-called ‘model’ answers to questions. Instead, I provide hundreds of unit tests which allow you to check your answers and I encourage students to share and discuss their answers with each other, their tutors and me (in the case of assignments, this must only be after the deadline). The reason for this is strong. I absolutely do not want students to memorize ‘model’ answers. I want them to understand concepts. As Richard Feynman said: “Learn concepts rather than merely facts.” This only comes from actually doing questions yourself. Of course your initial solution may not be the best. Again, quoting Feynman: “Not knowing is not failure. It’s the first step to understanding.” That’s where discussion with peers, tutors and the lecturer can be valuable, and I strongly encourage that (so long as academic integrity is maintained). And since I’m quoting Feynman, here’s another “It’s OK to say, ‘I don’t know.’ It is of great value to realize that we do not know answers!”.
Why is the course so fast-paced?#
The course is fast-paced in the first few weeks. The reason for this is that the course is about structured programming, but to do that I need to teach you Java, which I do in the first three and a half weeks. So the first three and a half weeks are fast. However, the pace slows down after that. Although this makes for a hard start, it helps you get engaged with the course, and it allows you to focus on more interesting material for the remainder of semester. I make a point of explaining this in the first lecture, and then again on the first lecture of weeks two and three, as well as providing you with a lot of resources with which you can go back over material that you found went by too quickly.
Why isn’t there a textbook?#
There are a number of reasons for this. The principal one is that there is an abundance of high-quality material available online that costs nothing, and I prefer, as a matter of principle, to not impose upon you to purchase an expensive textbook when free material is readily available. If you look at the lectures page, you’ll find that each unit has a set of references (click on the ‘book’ icon) that provide you detailed links for each concept in the course.
Why is assignment one due so early in semester?#
Assignment one is due at the end of week three. This is done deliberately to encourage all students to engage with the crucial first few weeks of the course. It also allows students to establish early on whether the course is really what they want to do.
Why do we need to do a personal journal?#
The personal journal exists for a number of reasons. The most basic of these is that it is intended to help you manage your goals and think clearly about how you are going and what’s holding you back. The personal journal is modeled after daily scrum, which is at the heart of very widely used software development methodology, which you are likely to encounter when you graduate and work in the software industry. It will help you be both transparent and reflective about how you are going, and we hope will help you be able to flag issues early. This is crucial to your success, because a semester-long course moves fast and flagging issues late too often leads to failure. I have set up the personal journal to be lightweight. I expect you to spend less than five minutes a week doing your journal. If you are spending more than five minutes then you’re over-doing it.
Why are the assignments so time-consuming?#
Assignments in this class should not take up too much of your time. If they do, you should carefully consider why that is happening. I carefully design assignments so that the pass and credit levels can be done in a modest amount of time by all engaged students. I quite deliberately make distinction elements of the assignment harder, but straightforward enough that advanced students should be able to complete them in a modest amount of time. The high distinction elements of the assignment are intentionally open-ended, and distinctly harder. Unfortunately, this means that high distinction marks in the assignments are, by design, not available for average students (as the grade name makes clear, they are for students of high distinction). Therefore, if you are not on top of the material, you will find the high distinction aspects of the assignment very time-consuming. For this reason, I make a point of discouraging you from undertaking those extension elements unless you are particularly motivated to do so.
Why isn’t the lecture font size bigger/smaller?#
The font size I use in lectures is carefully chosen. On one hand, the font needs to be big enough for everyone to be able to read, while on the other hand, it needs to be small enough that we can visualize complex code adequately. To address this, each semester, before the start of semester I go to the lecture theatre and ensure that the default font can be clearly read from the back row of the theatre by someone with average vision. Of course, not everyone has average vision. Those who have trouble reading from the back are encouraged to sit up the front of the class, from where the screen is very large.
Why doesn’t my tutor answer my instant messages outside of lab times?#
Your tutor is not paid to (and is instructed not to) conduct student teaching outside of lab/consultation times. Your tutors are paid for teaching during lab hours (as well as marking and other offline activities outside of lab hours). Outside of lecture/lab/consultation times, you’re welcome to ask questions on the ed forum.