This is a set of Python Jupyter notebooks to introduce students to the wonderful universe of computational thinking, algorithms, and programming!
It is currently under active development by Sebastian Sardina (RMIT University) and Natalie M. Hammond (math teacher at Bayside P12 College). The objective is to realize the algoritmic part of the VIC Curriculum for Year 7 to 10 under Digital Technologies and Mathematics in a fun, practical, and simple & resource-low manner. See a pack of slides surveying that aspect of the the VIC Curriculum.
The current set of notebooks available are:
- The first step is to build algorithms to control a little robot who needs to turn on lights. With this you are already solving problems computationally!
- We will then write or first program, the "Hello World!" program, and do some simple math calculations.
- After knowing how to print stuff, we will learn the first abstraction mechanism in computational thinking: variables to store data.
- The next two notebooks 4 and 5 will be devoted to study the two main mechanism to control the flow of a program: conditionals and repetitions
- Notebook 6 is about the most basic, and still incredibely useful, data structure: lists.
The approach taken in this "course" is to learn computational thinking and problem solving by coding in Python, a very light, close to English, programming language. While computational/algorithmic thinking does not require coding itself (it can even be done without a computer!), coding is fun! And the more fun we have, the more time we invest, the more we learn.
Each session is a Jupyter (IPython) notebooks. To run the notebooks you can either:
- Clone the project and run the notebooks locally. For this, you need Jupyter installed in your system.
- Clicking this button to run in Binder clould service .
If you just want to view the notebooks (without interacting with them), you can:
- View each notebook
.ipynb
files directy here in github, as github renders them well. However, you will not be able to interact with teh notebook (i.e., modify and run the programs). For example, here is the HOME notebook. - View notebooks using nbviewer. For example, here is the HOME notebook.
There are some good tutorials and reference links on Python. We have sometimes taken from those tutorials and linked to them in a few places, but they can be done by themselves if wanted. Here are some good ones:
- Python Tutorial at Tutorial Points. Reference guide: short, coincise, to the point.
- Interactive Python tutorial at LearnPython.org.
- Python Tutorial from w3schools. Tutorial around examples.
There are other great resources to teach Computational Thinking and Algorithms:
- CS Unplugged is "a collection of free teaching material that teaches Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around."
This course is released under the terms of the Simplified BSD License. See LICENSE file.