INFO1110/COMP9001 Assignment 2

Assignment 2



Assignment Overview

The assignment is an individual assessment. It contributes 40% of your final marks. The assignment consists of a programming exercise and a skill-based test (viva).


The due date for the programming exercises is on 9 May 2023, 11.59 pm (Sydney time).

The skill-based test will be held on weeks 12-13, refer to your own timetable for assessment time.

This is an assignment, and staff are not permitted to give guidance on your code or how to solve the specific problem. That is the purpose of the assessment that you are required to perform to achieve the grade.

You may ask clarification questions about the assignment description. This is often necessary to implement functionality that is otherwise ambiguous.

If you have a question to ask on Ed please search before asking. However, remember that you should not be posting any assignment code publicly, as this would constitute academic dishonesty. Also, do not wait too long before starting. This assignment needs time and sustained effort.

Late submissions are not accepted unless an approved special consideration is granted.



The following are not permitted to be used when completing this assignment:









Built-in Functions













Only the following is allowed:

import math

import datetime

import sys

import time

import os

import shutil

import random

import unittest


any module you have written, e.g.

import shop

Everything else is restricted. Size

ls -s --block-size=KB

A submission containing a fi le longer than 3000 lines or larger than 500kB will not be accepted. To check the fi le sizes of your fi les, use the bash command

Programming Exercises

All submissions must be made via Ed, including any supporting documentation that is produced during the planning of the program design such as flowcharts, pseudocodes, and UML class diagrams.

To make a submission, you will need to press the "Mark" button. You may submit as many times as you wish before the due date.

After each submission, you will be able to view all the previous submissions and their files in the code submission section.

The following rules apply to your submission:

Your submission must be able to compile and run within the Ed environment provided. Only the files given in the scaffold codes will be started by the auto-marker.

The marking system will automatically check your code against the public test cases.

Ensure that you have submitted your codes with the correct file name as given in the questions' scaffold. The auto-marker will only start the files that are specified in the given scaffold.

The Python version that is presently being used on the Ed system:

$ python3 --version Python 3.10.9


Help and feedback

You are encouraged to ask questions about the assignment during the Helpdesk and on the Ed discussion board; however, remember that you should not be posting any assignment code publicly, as this would constitute academic dishonesty.

Skill-based test

The maximum duration of the test is exactly 20 minutes. You will be asked questions to demonstrate, debug, trace and explain your work during the session. There will be sample questions provided for you to prepare and practice for the session. The examiner may ask questions that will not be included in this list of sample questions.

You must have your webcam turned on during the session and will be asked to show your Ed submission during the session. All sessions will be recorded and kept for documentation purposes in accordance with the university requirements regarding oral examinations.

Marking Criteria

Your marks for the assignment will be determined based on the number of test cases passed for each question as well as your performance during the skills-based test according to the following weights:

Automatic Tests (10/40)

Your marks for this component will be the ratio of the number of test cases passed to the sum of all the public test cases administered. It is important that you thoroughly test your own code.

Any attempts to deceive the automatic marking will result in an immediate zero for the entire assignment. Negative marks can be assigned if you do not properly follow the assignment description, or your code is unnecessarily or deliberately obfuscated.

The public test cases for the PIAT questions will be released in stages over the upcoming weeks. It is recommended that you write your own test cases without relying on the public test cases to check that your program satisfies the given requirements.


Skills-based Test (30/40)

This is broken down into two parts:

Viva test cases (10/40)

There will be public, hidden, and private test cases administered on your submission. The private test cases will only be applied after the deadline and will be different from the examples given. There will be public test cases available for feedback purposes - to allow you to test the conformance of your program with respect to the description but these do not test all the functionalities described in the assignment.

Viva interview (20/40)

The examiner may ask you questions that require you to explain, trace and debug your codes. Marks will be awarded for each question based on the following descriptors:

No marks:

The candidate is unable to answer the question or the response is mostly incoherent.

Partial marks:

The candidate can respond to the question but after multiple attempt probes or some programming terminologies used in their explanation are incorrect.

Full marks:

The candidate is able to correctly respond to the question using the correct programming terminologies in their explanation.

Student Declaration

By submitting this assignment, you declare the following:

I declare that I have read and understood the University of Sydney Student Plagiarism: Coursework Policy and Procedure, and except where specifically acknowledged, the work contained in this assignment/project is my own work and has not been copied from other sources or been previously submitted for award or assessment.

I understand that failure to comply with the Student Plagiarism: Coursework Policy and Procedure can lead to severe penalties as outlined under Chapter 8 of the University of Sydney By-Law 1999 (as amended). These penalties may be imposed in cases where any significant portion of my submitted work has been copied without proper acknowledgement from other sources, including published works, the Internet, existing programs, the work of other students, or work previously submitted for other awards or assessments.

I realise that I may be asked to identify those portions of the work contributed by me and required to demonstrate my knowledge of the relevant material by answering oral questions or by undertaking supplementary work, either written or in the laboratory, in order to arrive at the final assessment mark.

I acknowledge that the School of Computer Science, in assessing this assignment, may reproduce it entirely, may provide a copy to another member of faculty, and/or communicate a copy of this assignment to a plagiarism checking service or in-house computer program, and that a copy of the assignment may be maintained by the service or the School of Computer Science for the purpose of future plagiarism checking.

Log of Fixes

A log of fixes made to Assignment 2. These consist of: Buggy test cases.

Typos in the question description.

The question description lacking sufficient detail.

If the example output in the question description and the output checked by test cases don't match, only the test cases will be changed to make it match.


Pinned Fixes

4th April

This was originally in the assignment description.

Before we begin, let's train you up!

Press "Enter" to start training or "skip" to Start Game: #^[


This has now been removed.

Entering ^[ when prompted to skip will not be tested.


5th April

New information callouts have been added to the top of description.


8. PIAT: Something Blue


import unittest

Additionally,                                      has been allowed, however, this is purely an auxiliary for students

who want to use this module. No part of the assignment is required to use this.

7. PIAT: "Improved" Full Game

New information callouts have been added to the top of description.

7th April

The following requirement has been removed from Q2:



If the user enters ESC+Enter , they are automatically given the Cardboard and Hook Trap , and the game immediately loads and players are taken to the game menu.

9th April

Questions no longer have a requirement to be run in the


function apart from


in Q2



and the overall question in Q6. However, the code for most questions (speci fi ed at the top) must only


be run if

10th April:


is equal to


, so ideally you should have one anyway.

Added the following to 2. New Game Features .

Made quality of life changes in 2. New Game Features . The functions consume_cheese and hunt no longer return tuples of the updated cheese and its quantities. The functions should be modifying the cheese list in place. The change_cheese function has the e_flag parameter default to False . Although it already says this in the docstring, we have provided this.

You must only run your code in if the expression if    name     == ' main ' is True . All your code that executes must be inside a main function, as this is what will be used to test the additional feature in Section 2.1.


14th April:

Changed 5.6 to make the requirements clearer.

If name is invalid, display Your new name is: {new_name} where {new_name} is the placeholder for the return value of the function call to generate_name with the appropriate argument. Else, if the name is valid, the program displays the following confirmation {name} is a valid name!


19th April:

Added the example outputs to 7.1 Verify Installation.


Example output of the function game:

Tampered and repair game files


for different scenarios leading towards the launch of the

<Output of verification indicating it is tampered>

Do you want to repair the game? #Yes

<Output indicating installation is done.> Launching game

Tampered and proceed without repairing game files

<Output of verification indicating it is tampered>


Do you want to repair the game? no

Game may malfunction and personalization will be locked. Are you sure you want to proceed? yes

You have been warned!!! Launching game

Clarify parameters for function


Implement the function

  • 0
  • 0
    觉得还不错? 一键收藏
  • 0


  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助




当前余额3.43前往充值 >
领取后你会自动成为博主和红包主的粉丝 规则
钱包余额 0