Python Assignment
1 HIT137 Assignment 1, 2018
HIT137 Assignment 1, 2018
Marking Guidelines Below is a brief outline of some of the topics that we will be looking at during the marking of
Assessment 1.
1. Meets the functional requirements outlined.
Does it work as requested?
Does it complete all tasks of the question?
Does the solution only use methods taught in the unit so far?
2. Program design.
Any redundant code? Code that has no actual effect on the outcome.
Any obvious inefficiency?
Any repeated code that could be a function instead?
3. Code maintainability.
Is the code commented? Too much or too little?
Are function and variable names meaningful or confusing?
Use of whitespace (blank lines and spaces), too many or not enough?
4. Excellence.
This section represents the smallest allocation of marks.
Meets the requirements and exceeds them, demonstrating independent thought and
desire to produce a superior software experience.
Note: Do not try to build a fancy program without making sure that the core
functionality is met first.
2 HIT137 Assignment 1, 2018
Guidelines Explained 1. Meets the functional requirements outlined. Read the question carefully, and make sure
that you complete all parts. It is easy to get focused on a particular point in a question and
overlook a secondary part or task. Limit your actual solution to the problem to the materials
covered by the course so far. Using a search engine to solve the question will not teach you
a great deal, and if called upon to demonstrate the solution is yours, you must be able to do
so.
2. Program design.
Redundant code
The running variable was not needed at all, as we used the break command to exit
the while-loop. There is no need to keep assigning the value of True to the running
variable each time through the loop as it already contains a value of True. The else
statement was not required as no other code was impacted and we always want to
decrement the counter each time through the loop, except when we are exiting the
loop.
Obvious inefficiency.
Below is some simplified pseudo code that represents roughly what is happening in
these examples. It is not exact, but you get the idea of what could happen.
Any repeated code that could be a function instead?
3 HIT137 Assignment 1, 2018
3. Code maintainability. Your code must be neat and easy to read. Ambiguous or confusing
variable names should be avoided in favour of more descriptive names (within reason). This
will also mean that you will not need to add as many comments to your code, as it will be
self-documenting. You should use white space (blank lines and spaces) to help present your
code for the reader.
Terrible Better
4. Excellence. A small portion of the total overall marks. Without any points from this section,
a student can still achieve a very good grade. However, only students whom attempt to
demonstrate academic excellence can achieve the highest grades.
Scenario
Old Man: This cold weather is making my knees ache, and I can no longer walk up and down the
hills each day to get to my social club. Please build me a bicycle to help me get to the club
and back.
Old man imagines:
Very Good Student: As per your request, using current materials and design methods, a bicycle.
Fully tested and functioning as per your request. Cleaned, polished and the tires pumped
up.
Very good student delivers:
4 HIT137 Assignment 1, 2018
Excellent Student: I have built you a bicycle that will help you get to the club and back, but I
have further considered your situation and believe that cycling up the hills may still be a
challenge for your knees. So at no extra charge, I included an electric motor onto your
bicycle which will assist going uphills and charge its battery when you coast down the other
side of the hill. Fully tested and functioning as per your request. Cleaned, polished and the
tires pumped up, battery fully charged.
Excellent student delivers:
Over Engineering Student: Who cares about the social club, I built you a rocket ship that will fly
you to the moon. It has 20 gigawatts of thrust at lift-off, can reach ½ the speed of light
within 3 hours, has artificial gravity and is completely immune to space debris. It also has
cup holders, inflight entertainment and a 2Gb internet connection that will work the whole
way to the moon and back. Did I mention the fully stocked minibar with your beverage of
choice?
Over engineering student delivers: