EGD103 Assignment 1 B Marking Scheme
CTP2, 2025
Criteria 1: Programming Correctness (12 marks)
This criteria evaluates your ability to correctly answer questions in the assign- ment. It only considers correctness, and not the code quality. We will do our best to not penalise carry over errors. Generally speaking you will get full marks if your solution passes all the test cases provided in the assignment, but your code will also be manually inspected to see if it would generally pass any reasonable test case.
Mark allocations for each question are summarised below. Mark allocations are based on the difficulty of the problem. Part marks can be awarded at the discretion of the marker if the code is incorrect overall, but has a significant component that has been done correctly.
• B1 (1 mark)
• B2 (1 mark)
• B3 (1 mark)
• B4 (1 mark)
• B5 (2 marks)
• B6 (2 marks)
• B7 (2 marks)
• B8 (2 marks)
Criteria 2: Programming Practices (8 marks)
This criteria evaluates you ability to perform important programming practices while completing the tasks in the assignment.
• Use of JupyterLab notebooks (1 mark)
Have used the Jupyterlab template correctly for the assignment. Personal introduction is given in the Markdown section provided with simple format – ting features. Assignment is submitted correctly as a JupyterLab notebook.
• User-defined functions (1 mark)
Demonstrated the ability to create simple user–defined functions by using variables, expressions and assignment statements. Function definitions in the template should not be modified, and all functions include appropriate return statements.
• Selection with Boolean expressions and if statements (1 mark) Need to demonstrate selection using if statements.
• Python sequences (1 mark)
Need to demonstrate concepts relating to Python sequences (lists and tu – ples), including unpacking, indexing and use of list methods.
• Iteration with loops (2 marks)
Need to demonstrate the ability to perform. iteration with loops. For full marks, you need to be able to select the most appropriate type of loop for each iteration task.
• Don’t repeat yourself (2 marks)
Need to demonstrate an ability to call your own user–defined functions, rather than repeating the same blocks of code over and over again. This improves the readability and maintainability of your code while reducing its complexity.
Criteria 3: Code Quality (6 marks)
This criteria evaluates your ability to write code that is easy to understand and simple to maintain. Just like a written piece of work, code needs to be well formatted and communicated clearly and efficiently.
• Variable naming and commenting (2 marks)
You should use meaningful identifiers and comments where appropriate to make your code easy to understand. People (including non–programmers) should be able to read your code and easily understand the context of what it is doing.
• Code complexity (2 marks)
The solution processes (algorithms) in your code should be clear and sim – ple. The algorithms should not contain redundant steps, or overly compli – cated processes when a simpler alternative is available.
• Code consistency and maintainability (2 marks)
Your code should be written and formatted in a consistent, visually appeal – ing manner. Code should be maintainable, meaning changes/corrections can easily be made if needed.