Numerical-computing-is-fun - Learning numerical computing with notebooks for all ages.

Overview

As much as this series is to educate aspiring computer programmers and data scientists of all ages and all backgrounds, it is also a reminder to myself. After playing with computers and numbers for nearly 4 decades, I've also made this to keep in mind 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:

  • Algoritms are like insides of factories
  • Algoritms process inputs to produce outputs
  • Conditional statements are a tool for putting boolean logic in to action
  • Conditional statements are part of "flow control"
  • Flow controls give us the ability to create rules for computer programs
  • The three conditional statements in Python are if, else and elif
  • Even just if alone can be used to create a conditional statement

Part 4: Automation Overview

Continue learning here.

Binder

What you will learn:

  • Generally speaking computer programs are focused on process automation
  • Loops are a highly effective method for automation
  • With small changes to our code, we can make big improvements in capability
  • Sometimes we can get more done with less code!
  • It's very convinient 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
  • It's meaningful to learn new concepts by gradually improving things

CREDITS

Numerical Computing is Fun is an Eka Foundation project.

Comments
  • Jupyter for Kids on Open Collective

    Jupyter for Kids on Open Collective

    I'm one of the founders of open collective. We love your mission and we'd like to share your collective on our newsletter coming out today (sorry for the short notice). I'd be great if you can add some more information, a logo (maybe @mikkokotila you can add an avatar to your profile?) You can also edit your goals in opencollective.com/jupyter4kids/edit Let me know if I can help in any way, I'd love for your mission to succeed!

    opened by piamancini 6
  • Add launch in Azure Notebooks button

    Add launch in Azure Notebooks button

    Adding a link to README.md that makes it easy for users to launch this repository in Azure Notebooks.

    I work on Azure Notebooks and wanted to help users launch your content on our platform. It is a free service for executing Jupyter Notebook.

    opened by crwilcox 1
  • Activating Open Collective

    Activating Open Collective

    Hi, I'm making updates for Open Collective. Either you or a supporter signed this repo up for Open Collective. This pull request adds backers and sponsors from your Open Collective https://opencollective.com/jupyter4kids ❤️

    It adds two badges at the top to show the latest number of backers and sponsors. It also adds placeholders so that the avatar/logo of new backers/sponsors can automatically be shown without having to update your README.md. [more info]. See how it looks on this repo. You can also add a "Donate" button to your website and automatically show your backers and sponsors there with our widgets. Have a look here: https://opencollective.com/widgets

    P.S: As with any pull request, feel free to comment or suggest changes. The only thing "required" are the placeholders on the README because we believe it's important to acknowledge the people in your community that are contributing (financially or with code!).

    Thank you for your great contribution to the open source community. You are awesome! 🙌 And welcome to the open collective community! 😊

    Come chat with us in the #opensource channel on https://slack.opencollective.com - great place to ask questions and share best practices with other open source sustainers!

    opened by monkeywithacupcake 0
  • Dev

    Dev

    Notebook 3 had mixed print statements for Py2 & 3, changed all to Py3.

    My first pull so hope I'm doing this right, there are lots of edits in the comparison that I don't understand, its confusing considering I just added brackets in a few places... Wondering if its due to copies or something about underlying code, any help with my understanding greatly appreciated

    opened by Doc-Scott 0
  • Use == instead of 'is' for comparing number

    Use == instead of 'is' for comparing number

    Hi,

    In this notebook: https://github.com/mikkokotila/jupyter4kids/blob/master/notebooks/numerical-computing-is-fun-2.ipynb you use the 'is' keyword to compare numbers.

    This should be avoided, because Python's semantic does not guarantee that '1 is 1'. In fact, in the CPython implementation, this is only True for integers lower or equal to 256:

    >>> a = 257
    >>> b = 257
    >>> a is b
    False
    >>> a = 256
    >>> b = 256
    >>> a is b
    True
    
    opened by progval 2
  • README Brazilian portuguese translation

    README Brazilian portuguese translation

    This project is very interesting and I believe that it can be a motivation for brazilian students. I think that more contributions can be added if more people could understand the texts. So I propose to translate content to brazilian portuguese as it be published and suggest changes according brazilian speakers use it.

    opened by fgsl 0
Owner
EKA foundation
EKA foundation
Learning based AI for playing multi-round Koi-Koi hanafuda card games. Have fun.

Koi-Koi AI Learning based AI for playing multi-round Koi-Koi hanafuda card games. Platform Python PyTorch PySimpleGUI (for the interface playing vs AI

Sanghai Guan 10 Nov 20, 2022
Numerical Methods with Python, Numpy and Matplotlib

Numerical Bric-a-Brac Collections of numerical techniques with Python and standard computational packages (Numpy, SciPy, Numba, Matplotlib ...). Diffe

Vincent Bonnet 10 Dec 20, 2021
This repository contains numerical implementation for the paper Intertemporal Pricing under Reference Effects: Integrating Reference Effects and Consumer Heterogeneity.

This repository contains numerical implementation for the paper Intertemporal Pricing under Reference Effects: Integrating Reference Effects and Consumer Heterogeneity.

Hansheng Jiang 6 Nov 18, 2022
Linear algebra python - Number of operations and problems in Linear Algebra and Numerical Linear Algebra

Linear algebra in python Number of operations and problems in Linear Algebra and

Alireza 5 Oct 9, 2022
📚 A collection of Jupyter notebooks for learning and experimenting with OpenVINO 👓

A collection of ready-to-run Python* notebooks for learning and experimenting with OpenVINO developer tools. The notebooks are meant to provide an introduction to OpenVINO basics and teach developers how to leverage our APIs for optimized deep learning inference in their applications.

OpenVINO Toolkit 840 Jan 3, 2023
Repository for scripts and notebooks from the book: Programming PyTorch for Deep Learning

Repository for scripts and notebooks from the book: Programming PyTorch for Deep Learning

Ian Pointer 368 Dec 17, 2022
Jupyter notebooks for the code samples of the book "Deep Learning with Python"

Jupyter notebooks for the code samples of the book "Deep Learning with Python"

François Chollet 16.2k Dec 30, 2022
Fast, flexible and fun neural networks.

Brainstorm Discontinuation Notice Brainstorm is no longer being maintained, so we recommend using one of the many other,available frameworks, such as

IDSIA 1.3k Nov 21, 2022
TensorFlow Metal Backend on Apple Silicon Experiments (just for fun)

tf-metal-experiments TensorFlow Metal Backend on Apple Silicon Experiments (just for fun) Setup This is tested on M1 series Apple Silicon SOC only. Te

Timothy Liu 161 Jan 3, 2023
piSTAR Lab is a modular platform built to make AI experimentation accessible and fun. (pistar.ai)

piSTAR Lab WARNING: This is an early release. Overview piSTAR Lab is a modular deep reinforcement learning platform built to make AI experimentation a

piSTAR Lab 0 Aug 1, 2022
Computer vision - fun segmentation experience using classic and deep tools :)

Computer_Vision_Segmentation_Fun Segmentation of Images and Video. Tools: pytorch Models: Classic model - GrabCut Deep model - Deeplabv3_resnet101 Flo

Mor Ventura 1 Dec 18, 2021
Convex optimization for fun and profit.

CFMM Optimal Routing This repository contains the code needed to generate the figures used in the paper Optimal Routing for Constant Function Market M

Guillermo Angeris 183 Dec 29, 2022
A small fun project using python OpenCV, mediapipe, and pydirectinput

Here I tried a small fun project using python OpenCV, mediapipe, and pydirectinput. Here we can control moves car game when yellow color come to right box (press key 'd') left box (press key 'a') left hand when thumb finger open (press key 'w') right hand when thumb finger open (press key 's') This can be improved later by: Improving press left and right to make them More realistic. Fixing some bugs in hand tracking.

Sameh Elisha 3 Nov 17, 2022
One-line your code easily but still with the fun of doing so!

One-liner-iser One-line your code easily but still with the fun of doing so! Have YOU ever wanted to write one-line Python code, but don't have the sa

null 5 May 4, 2022
MACE is a deep learning inference framework optimized for mobile heterogeneous computing platforms.

Documentation | FAQ | Release Notes | Roadmap | MACE Model Zoo | Demo | Join Us | 中文 Mobile AI Compute Engine (or MACE for short) is a deep learning i

Xiaomi 4.7k Dec 29, 2022
Lyapunov-guided Deep Reinforcement Learning for Stable Online Computation Offloading in Mobile-Edge Computing Networks

PyTorch code to reproduce LyDROO algorithm [1], which is an online computation offloading algorithm to maximize the network data processing capability subject to the long-term data queue stability and average power constraints. It applies Lyapunov optimization to decouple the multi-stage stochastic MINLP into deterministic per-frame MINLP subproblems and solves each subproblem via DROO algorithm. It includes:

Liang HUANG 87 Dec 28, 2022
Understanding Hyperdimensional Computing for Parallel Single-Pass Learning

Understanding Hyperdimensional Computing for Parallel Single-Pass Learning Authors: Tao Yu* Yichi Zhang* Zhiru Zhang Christopher De Sa *: Equal Contri

Cornell RelaxML 4 Sep 8, 2022
Ready-to-use code and tutorial notebooks to boost your way into few-shot image classification.

Easy Few-Shot Learning Ready-to-use code and tutorial notebooks to boost your way into few-shot image classification. This repository is made for you

Sicara 399 Jan 8, 2023
Notebooks em Python para Métodos Eletromagnéticos

GeoSci Labs This is a repository of code used to power the notebooks and interactive examples for https://em.geosci.xyz and https://gpg.geosci.xyz. Th

Victor Cezar Tocantins 1 Nov 16, 2021