Information for teachers and adults
This page provides information and support for teachers and adults providing support to youngsters learnng to programme using the Coding Club series.
Installing Python and IDLE
Before children start reading the book, Python 3 should be installed and tested by an adult. Installing software and navigating through commercial websites is a hurdle I do not want young programmers to have to go through so I would greatly appreciate your help with this. If you have installed software before this process takes less than 5mins and is completely free. In a classroom environment this is something that your network administrators should find relatively painless.
The only requirement for students to follow all the examples in the Python Series of books is to have installed Python 3 and IDLE. This is all installed in one go when you download the latest version of Python 3. It is totally cross-platform available for Windows, Mac and Linux and can most easily be installed from python.org:
To test the installation, simply locate IDLE and start the program and then type print("Hello") and press the RETURN key. If all is well you should see the word Hello in blue.
A note for Parents
If you are following through with your daughter or son in isolation it may help to know that many younger programmers learn by experimenting far more than adults might. Please be patient if, after learning how to get the computer to say "Hello World', they want to get it to say all sorts of other things. They are having fun and learning. It doesn't get better than that.
Many of us prefer to try things out rather than read about it. This is a challenge for an author. Therefore on occasions I am not explicit about every detail. This avoids boring the reader and lets them learn by discovery. In Chapter One, for example, I do not mention how to achieve line returns in Python - readers will discover this themselves. I also do not mention until the end of the chapter that the print() function sends nothing to the printer but actually "prints" to the screen. If the students will discover these kind of things themselves, there is no need for me to tell them. Instead I simply set up brief activities to ensure they do.
A Note for Teachers
It is the authors belief that coding is not a trivial exercise and teaching it with lots of exercises and tests may well result in several youngsters giving up too early. This book can be covered in about half a term's teaching, about a chapter a week. Research has shown that when teaching students to program some will lap it up and learn fast and others struggle to start with, until it clicks. There are many ways of teaching using this material but it might help you to know how the author has used the materials with groups of KS3 students. I teach a chapter a week. The students are encouraged to try and do the projects in the books and to type them out as if building a lego model so that they get the satisfaction of creating something. Those that finish first are encouraged to try the ideas and challenges at the end of each chapter or simply customise their code. I also encourage them to be aware of others in the class who are struggling and help them sort out their problems. I am trying to encourage a club feel. Next week, next chapter. We always take some time to share any programs that have been written outside the lesson
I see there being three broad ways through the book: Some students will simply read and type the short bits of code and have the joy of creating something. They will also be picking up a bank of Computer Science experiences and thought processes that they will be able to draw on later. They should also be able to modify and tweak the code in the same way that "a friend of mine" built a lego technics model recently by following the instructions and then was able to tweak it a little, to make it more personal. The second group of students will be able to complete some of the challenges and ideas that suggest how to use their new knowledge in new ways. These youngsters will experience the joy of creating, puzzle solving and knowing they have new skills. The third set of students will not only be able to complete the projects and puzzles but also help others and go away and write their own unique applications from scratch. These students may well become the Computer Scientists of the future.
Python Basics - Concept Map
Python Basics introduces students to a small suite of tools and concepts:
|Sequencing||Ch.2 onwards||Students start experiencing copying out code which involves sequencing in Chapter 2. In later chapters they solve problems which ask them to sequence code.|
|Variables and Assignments||Ch.2||The main focus of Chapter 2 is variables and assignment and the difference between assignment and operations on variables.|
|Documentation||Ch.3||Chapter 3 introduces writing readable code including meaningful variable names and commenting.|
|Selection||Ch.3||The if elif else construct is introduced as a topic in Chapter 3 with examples.|
|Repetition||Ch.2||While loops are introduced in Chapter 2 and then used throughout the projects.|
|Abstraction||Ch.4||Functions an there construction are a major focus of Chapter 4 including supplying arguments.|
|Input/output||Ch.3 & 5||Chapter 3 introduces obtaining keyboard input from the user as a strings.
Chapter 5 introduces obtaining keyboard input in an event based scenario.
|Evaluation||Ch.3 & 5||Chapter 3 introduces writing readable code including meaningful variable names and commenting.
Chapter 5 looks at copy and pasting being an indication that there is probably a better way of coding and then provides a tricky puzzle opportunity where students are asked to try and refactor some code.
|Algorithms||Ch.2 onwards||Algorithms are not discussed as a topic in this book, however there is sequencing from Chapter 2 onwards which gently builds a bank of experiences that will help students move on to algorithm development later. Algorithm development is a major focus of the level 2 book Python: Next Steps.|
A quick way of obtaining a checklist of keywords covered is to look at the glossary for the book: