# mikkokotila/jupyter4kids

A series of notebooks that help teach kids principles of programming, python and maths.
Switch branches/tags
Nothing to show
Latest commit 315b465 Sep 13, 2018
 Failed to load latest commit information. notebooks Jul 22, 2018 plots Sep 9, 2017 .gitignore Jul 22, 2018 README.md Sep 13, 2018

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

#### 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

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.

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.

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.

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]