He iti hau marangai e tū te pāhokahoka
There may be a little storm, but in the end there is a rainbow - Persevere and at the end there will be a great reward.
Learning to code teaches you more than you think!
Even in the era of AI, it's still a valuable skill and it's worth the effort.
In this unit of work we'll go over the basics of the Python Programming language.
By the end of the unit, you'll be able to comfortable read and understand code, fix bugs in Python and write simple Python programs.
In this topic, you will learn how to understand, test and write programmes using Python. You'll work through four steps, starting with reading and understanding existing code, then tracing how it works, finding and fixing errors, and finally writing your own code.
By the end of this topic, you should be able to read and explain simple Python programmes, predict what code will do, identify and fix errors, and independently write and test a working Python programme.
What do you need to do?
Click on the buttons below to work through each step, starting with Step 1: Reading Code. Complete the activities in each section before moving on to the next step.
Understand what the code does.
Follow the code and predict what happens.
Find and fix errors in the code.
Create and test your own Python programme.
Design, test, debug and refine a programme
Coding puzzles to test your skills.
Goes from beginner to intermediate and is a good intro to programming competitions
This website is used as a recruitment tool for Google and Microsoft! Tackle some real brain-bending problems in Python and maybe even get on the global leaderboards.
The ultimate challenge for programmers.
The Home of competitive programming. Use the "Train" section to try out some of the questions from past NZ and international competitions.
Are you going to our BHS Programming Club? Every Friday lunchtime in P14. Anyone is welcome, as long as you are keen to learn you can be newbies through to experts.
Get a team together and get involved! It's normally in June, held on a Saturday at UC. You just need to be keen, even if you are a beginner. Great way to get some experience and see how it all works. It's an awesome day.
If you love this competition then the NZ Programming Competition follows. The website has the details and again you go to UC to take part.
The Home of competitive programming. Use the "Train" section to try out some of the questions from past NZ and international competitions. And you can sign up to compete.
This is a cool way to learn programming that teaches you Python programming through setting challenges inside a game.
Code Combat is free (up to a point) so you can work through at home too!
Use your school email to create an account, and if you are lucky, your teacher will set up a classroom and you can compete against the others in the class to get the highest score!
W3Schools is one of the best places to go for an in-depth tutorial and reference for programming in Python.
Learning to program in Python is hard and you are going to have to persevere.
Read the tutorials, try it in in the "Try it yourself" boxes and experiment with each one to help you get a better understanding of each topic.
Maybe you already know how to program in cratch and want to know what it looks like in Python?
This document goes through some standard small Scratch programs and shows what the same program looks like in Python.
It also contains some explanations about the Python language and the weird things it needs like "tabs" that define code blocks.
This is an easy to watch and follow along tutorial to learn Python.
Mosh takes you from complete beginner to expert in an hour.
Well worth watching if you have never programmed before. But it is an hour long!!
If you are struggling with understanding programming watch this for homework!!
The progress outcomes describe the significant learning steps that students take as they develop their expertise in computational thinking for digital technologies.
At the end of this topic students will have had the opportunity to cover;
understand that there can be more than one algorithm for the same problem PO3
decompose problems into step-by-step instructions to create algorithms for computer programs PO3
use logical thinking to predict the behaviour of the programs PO3
develop and debug simple programs that use inputs, outputs, sequence, and iteration PO3
students decompose problems to create simple algorithms using the three building blocks of programming: sequence, selection, and iteration PO4
implement these algorithms by creating programs that use inputs, outputs, sequence, basic selection using comparative operators, and iteration PO4
debug simple algorithms and programs by identifying when things go wrong with their instructions and correcting them PO4
be able to explain why things went wrong and how they fixed them PO4
evaluate the efficiency of algorithms PO4
recognise that computers need to search and sort large amounts of data PO4
They also evaluate user interfaces in relation to their efficiency and usability P04
students independently decompose problems into algorithms. They use these algorithms to create programs with: inputs, outputs, sequence, selection (using: comparative and logical operators, variables of different data types), iteration. P05
determine when to use different types of control structures. They document their programs, using an organised approach for testing and debugging P05
develop programs considering human-computer interaction (HCI) heuristics P05