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.
Computer programming is a way of giving computers instructions about what they should do next. These instructions are known as code, and computer programmers write code to solve problems or perform a task.
The end goal is to create something: that could mean anything from a web page, or a piece of software, or even just a pretty picture. That’s why computer programming is often described as a mix between art and science; it’s technical and analytical, yet creative at the same time.
This first stage is to learn the basics of programming using Scratch so that we can start to write more complicated programs.
The key areas you need to know and understand are:
Variables
Loops
Conditionals & Comparisons
Input
To begin create an account in Scratch or sign in using an existing account you have
You are going to watch 5 videos below that walk you through the fundamentals of programming. Make sure you listen to our expert Mr Rodkiss as he explains how to program each area and why.
You are going to use this document to show your progress. Click the button to access ➡️
Variables are the building blocks of any computer code. Variable can hold all sorts of data including numbers, letters, strings (word or sentences), and even large data files like pictures and sound files.
These bits of data can change when a program runs which is what they are called variable. For instance a score can go up and down as you play a game.
You are required to write a quiz game using Scratch. The game is aimed at young kids to help them practice their “Multiplication Tables” and should be interesting yet repetitive. The goal is to see how many correct answers you can get out of 20 questions with no time limit. The game should track the answers and tell them the score at the end. The game should also remind the kids of the correct answer if they get it wrong.
You need to make a Guessing Game Programme
You can find the instructions in the document.
Make sure your programme works first and then make it look good if you have time!
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.
Finding errors is a vital skill for any programmer. There are six short pieces of code that are not working properly. You need to make them yourself and figure out what is going wrong.
This video introduces the Computer Science concepts of algorithms and algorithm efficiency (Sometimes called Big-O Notation)
If you've got a good grasp of Scratch, have a go at this and you'll learn how to make functions in Scratch to generate and sort massive lists! All from an algorithm that is practically demonstrated by me with a bunch of playing cards.
To get the pen tool option. At the bottom left of your scratch application click this button -->
<-- Lots of options come up and you choose pen at this point.
Can you get scratch to.........
Whenever you press the B key, the sprite gets a little bigger. Whenever you press the S key, the sprite gets a little smaller.
Whenever the sprite hears a loud sound, it changes color.
Whenever the sprite is in the top 25% of the screen, it says “I like it up here.”
When the sprite touches something blue, it plays a high note. When the sprite touches something red, it plays a low note.
Whenever two sprites collide, one of them says: “Excuse me.”
Whenever the cat sprite gets near the dog sprite, the cat turns and runs away from the dog.
Whenever you click on the background, a flower appears at that spot.
Whenever you click on a sprite, all other sprites do a dance.
When the score reaches 10, the scene (background) changes.
The sprite falls as if controlled by gravity, but stops when hits the green ground.
The sprite follows the mouse-pointer, but it never gets too close to the mouse-pointer.
The sprite follows a red line.
Sprite is a computer science way of saying picture. You may want to use the Scratch Cat for any that require a sprite.
A series of 30 challenges with little videos that explain what you need to do but dont give the awnser!
https://panchatantraprogramming.com/1-scratch-challenge-a-day/
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 Scratch 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!!
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.
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