This repository contains instructions and resources for practicals for the subjects CP1401 and CP5639 at James Cook University. Complete instructions are found in each prac folder.
Programming Guides (Patterns, Style Guide, Pseudocode...) can be found here
- Practical 01 - Problem Solving and Algorithms
- Practical 02 - Input, Processing and Output
- Practical 03 - Decision Structures
- Practical 04 - Repetition Structures
- Practical 05 - Coding Checkpoint 1
- Practical 06 - Functions 1
- Practical 07 - Functions 2
- Practical 08 - Lists
- Practical 09 - Strings and Files
- Practical 10 - Coding Checkpoint 2
Assessment will be based on completing the tasks up to but not including the practice/extension section. You will be marked as follows:
- 4 = Excellent response to all requirements (Always aim for this!)
- 3 = Good response to most or all requirements, but some omissions or problems
- 2 = Reasonable response to some requirements, but some significant omissions or problems
- 1 = Reasonable response to at least one requirement
- 0 = Minimal or no attempt
- LATE practicals will receive 1 mark for decent work, or 0 marks for poor work. Do not be late.
Note: This subject is all about learning best-practices and clean coding using the patterns taught. It is important
that you learn these important foundations according to the teaching philosophy of the
subject.
For this reason (to help you learn properly!), you will not achieve full marks for working/complete practicals
that are not done in the way that we prescribe.
Here are some reasons that you might lose marks for your practicals and assignments:
- You do not submit your work correctly, according to the submission instructions
- Your work looks too similar to any provided solutions, code found online or made by services like ChatGPT
- You miss or skip part of a question (you must attempt all requirements)
- Your work includes concepts and code not taught in the subject
- Your work does not follow the core concepts and patterns (e.g., using global variables,
while True
loops or similar techniques) - even if they work!
Please submit your practicals correctly, so they can be marked.
- Do not zip up your files.
- Submit your practical with each file attached to one submission.
- If you need to resubmit additional attempts, you must include all files in the new submission.
- Ensure each file has the correct name, including the extension. If you don't use the right extensions, we cannot read your work in LearnJCU.
- Ensure your code is not commented-out. Only comments should be commented.
- Include a
# comment
as a heading for questions, or sub-parts of questions. E.g., if a question has partsa.
andb.
then add comments like# a.
and# b.
to make it clear where your answers are, and to help yourself know what you need to complete. - Rewrite any provided
# TODO
comments as appropriate.
Selected practical solutions are provided here, in the "solutions" branch.
These are to help you learn from evaluating your own work and seeing our suggested ways of solving the practical
problems. Not all solutions are provided. This is on purpose.
Important: Please use the solutions in a mature and honest way, as helpful learning tools... after you complete
your own work, not as something to simply copy into your own prac work. OK?
Seriously, never copy the solutions as this will not help you learn as much as doing your own work.
You need to save your work for every prac. Keep every file you write.
We suggest you use OneDrive and organise it using folders, like CP1401/cp1401practicals/prac_01
.
As explained in the practical instructions, use a single PyCharm project for practicals, with each prac in its own
folder.
Please make sure you have suitable backups.