Read the wesite linked to the left for a background to the concept of PRIMM and how it can help students to learn to program.
We start with Predict in the Reading Code section. Student see code examples and, together, try to predict what they might do. The Video (maybe a bit long) explains the key concepts of Python Syntax (variables, loops, conditions, indents etc). Students do NOT have to get them all right!
The Tracing section allows students to read, predict and Investigate code samples. All answers are supplied and the video walks through three example (do these WITH the students and encourage dialogue and helping each other) Then they get to try a few on their own or with a partner.
The Debugging exposes kids to even more code and this time they get to Run the code, Investigate it and Modify it. The video explains the two types of error (Syntax vs Logic) and again works through some of the problems presented to them in the interactive embedded Python editor.
Writing Code is where they get to put into practice some of the syntax that they have learned. A cheatsheet is included and in each "problem" they are given the Pseudocode. This avoid the congnitive overload of problem decomposition and allows them to focus on syntax. Again the video works through three examples that students do along with the video or their teacher. Then they get to try a few of the others.
Python is hard and students need to be OK with making errors. The key curriculum capabilities of self-management and problem solving are highly relevant and this unit contains plenty opportunity for collaboration, communication and creativity too.
Slideshows:
Reading Code: https://docs.google.com/presentation/d/1bTROgahOFe9JJ6otqFmv0wFOgJtuFxxWyVxHCq7lJKY/edit?usp=sharing
Debugging Python: https://docs.google.com/presentation/d/1ToF8kYZ4RO7UrnE9NyQ_nJEq5mS5b3ZpKMr5v1CYTZc/edit?usp=sharing
Code for Humans: https://docs.google.com/presentation/d/1jDEecjhG_4hbXmy-VZKpIhw2vRWc7hYBTfTkJuUSRCs/edit?usp=sharing
Tools:
Python Debug Tool:
Github repo: https://github.com/SteveRodkiss/Python-Embed
Live Link: https://steverodkiss.github.io/Python-Embed/
Python Challenges Tool:
Embedable Python Editor with Step by Step Debugger:
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.
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.
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!
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!!