#CODE
Communicate with machines to make them work for us
Online coding editor (IDE) from The Raspberry Pi Foundation
Path of coding progress
Reflect upon your skills
Look ahead to greater challenges
Become a Master to become ready for the final challenge (GCSE)
Code Novice
Stage 1
To begin your journey you must practice key skills by working on existing code written by Masters.
This code will be based upon the x4 Principles of Coding (variables, I/O, IFTTT, loops).
You must develop the following skills:
Accurately copying existing code
Modifying existing code to make it work (Novice debug)
Extending existing code to change it slightly
Stage 2
Developing upon Stage 1 skills...
...you will now focus on writing new, original code...
...using INPUT and OUTPUT whilst not forgetting Pro Coder Rule #1 (variable names must describe what they store).
You must develop the following skills:
Write new code that displays messages on the screen (output)
Write new code that also asks for text to be entered and stored in appropriately named variables
Write new code that also asks for numbers to be entered and stored in appropriate named variables
Code Ninja
Congratulations. You are now a Code Ninja and well on your way to becoming a Code Master.
Your skills now include:
Copying code accurately
Creating and naming variables (Pro Coder Rule #1)
Outputting messages to the screen
Asking the user to enter text or numbers
Debug skills #1
You must now build upon these skills and write your own code and where necessary, use Pro Coder Rule #2 (convert repeated instructions into loops)...
...focusing on IFTTT (decisions) and loops (iteration) .
You must develop the following skills:
Modify existing buggy code, that includes IF's and loops, and make it work (Ninja debug)
Write code that includes the appropriate type of loop (FOR or WHILE)
Write code that can make decisions based on a TRUE or FALSE condition (IFTTT)
Code Master (GCSE level)
Skills required for the NEA:
Using variables
Asking for input and displaying output
Using FOR and WHILE loops
Enabling the code to make decisions (IFTTT)
x4 Pro Coder rules
Using appropriate variable names
Converting repeated instructions into loops
Converting repeated functionality into sub-routines
Using comments to structure and explain code
Master level skills:
Text file handling
Handling data in lists
String slicing
Data validation
Problem analysis
Breaking a problem into input / processing / output
Solution design
Using pseudocode or flowchart to describe your plan
System testing
Normal test data
Extreme test data
Erroneous test data
System evaluation
Does the system meet the requirements?
