A series of notebooks that help teach kids principles of programming, python and maths.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 315b465 Sep 13, 2018

README.md

Backers on Open Collective Sponsors on Open Collective

As much as this series is created to help educate aspiring computer programmers and data scientists of all ages with no previous programming experience, after playing with computers and numbers for nearly 4 decades, I've also made this as a reminder for myself on how to have fun with computers and maths.

Using Jupyter notebooks as an interactive learning medium, this series provides an introduction to:

  • Computer Science
  • Python programming language
  • Numerical computing
  • Numbers theory
  • Prime numbers
  • Data visualization
  • Deep learning

Interactive in Mybinder:

Binder

Interative in Azure (requires logging in):

Static in Nbviewer:

Use the link provided for each part below the corresponding title.

Launch in Binder (no login required)

Click the badge in the corresponding part below.

Part 1 : Introduction

Start learning here or

Binder

What you will learn:

  • print() is the command to print something on the screen
  • Math operations are very easy to perform in Python
  • Python deals with numbers based on data types
  • In Python there are two numerical data types; int and float
  • Functions are powerful tools to easily perform various operations
  • Functions may accept arguments (parameters) as input
  • Functions are computer processes, and arguments are what is being processed
  • It's very easy to create your own functions

Part 2 : Prime Numbers

Continue learning here.

Binder

What you will learn:

  • Prime numbers relate with divisibility
  • Divisibility means that when one number is divided by other, the product is not a whole number
  • A prime number is any number that is divisible only by itself and 1
  • Binary means 0 and 1
  • Boolean logic is the binary language of computers
  • Python gives us an easy to use way to instruct computers
  • Boolean logic statements involve 'is', 'is not', 'and' and 'or' statements
  • Boolean statements can be joined together
  • Boolean statements always return either True or False as output
  • It's easy to perform computing operations with small numbers
  • The biggest prime number is a really big number
  • Very big numbers require vast networks of computers joined together

Part 3 : Algorithms Overview

Continue learning here.

Binder

What you will learn:

  • Algorithms are like insides of factories
  • Algorithms take inputs and give outputs
  • Conditional statements are a tool for putting boolean logic in to action
  • The three conditional statements in Python are 'if', 'else' and 'elif'
  • Even just 'if' alone can be used to create a conditional statement
  • With small changes to our code, we can make big improvements in capability
  • It's very convenient to store values in to memory
  • Computer memory is nothing like human memory, and also not like a safe deposit box
  • Any value can be stored in to memory
  • Numbers can be automatically generated with range() function

Part 4: Building Algorithms

Continue learning here.

Binder

What you will learn:

  • Problems tend to have two sides; easy and hard
  • It's easy to find non-primes, but hard to find primes
  • Computers can't think at all, they just process commands
  • The better the rules, the better the job the computer can do
  • Performance of the program matters (sometimes a lot)
  • Make small changes, get big gains
  • Timing how fast computer programs run
  • More boolean operators
  • Finding and dealing with bugs in your code
  • When to let bugs just be
  • Numbers theory is a great way to have fun with numbers!

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]