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.
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 of the subject.
So, to help your learning, prac work must be done in the way that we prescribe to achieve full marks.
Caution
Here are some reasons that you might lose marks for your practicals and assignments:
- Your work looks too similar to any provided solutions, code found online or answers 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 taught (e.g., using global variables, while True loops or similar techniques), even if they work!
As of 2026, your weekly practical work will be submitted as a single 'portfolio' assessment item, as outlined in the subject documentation.
Please submit your practical portfolio correctly, so that you can receive marks for your work.
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.
Not all provided solutions are complete.
E.g., a question may require pseudocode and code, but its solution may only have code.
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.