Skip to content

Jupyter notebooks for teaching/learning Python 3

License

Notifications You must be signed in to change notification settings

BethsGrammar/learn-python3

Β 
Β 

Repository files navigation

logo

Learn Python with Codefez

Introduction

This repository contains a collection of materials for teaching/learning Python 3 (3.10+). They have been modified from the resources of Jerry-git to whom I owe many thanks πŸ™πŸΌ.

Since replit.com went the way of extreme freemium πŸ’€ and many school network technicians will not allow installing of Python directly on school systems as security measure, Jupyter notebooks offer a good alternative to an online IDE.

These are my Key stage 5 resources. My Keystage 4 resources can be found here.

Requirements

  • Have Python 3.10 or newer installed. You can check the version by typing python3 --version in your command line. You can download the latest Python version from here.

or

  • All exercise links will be linked to using Colab (Google's online jupyter notebook) although this is a work in progress. Colab

The Basics for A-Level (Should know from GCSE)

  1. printing [slides] [exercise] --> Open In Colab

  2. Assignment [slides] [exercises] --> Open In Colab

  3. Concatenation [slides] [exercises] --> Open In Colab

  4. Inputs [slides] [exercises] --> Open In Colab

  5. Numbers [exercises] --> Open In Colab

  6. Conditionals [slides] [exercises] --> Open In Colab

  7. Iteration [slides] [exercises] --> Open In Colab

  8. String Methods [slides] [exercise] --> Open In Colab

  9. Lists [slides] [exercise] --> Open In Colab

  10. Functions [slides] [exercises] --> Open In Colab

  11. Cluedo template [slides] [exercises] [answers] --> Open In Colab

  12. File IO [Slides] [notebook] [exercise] --> Open In Colab

  13. Dictionaries [Slides] [notebook] [exercise] [answers]

  14. Practice Tasks [Slides] [exercise1] [answers] [exercise2] [[answers]] [exercise3] [answers]

More advanced (stuff we learn for A-Level)

  1. Recursion [Slides] [exercises] [exercise] --> Open In Colab

  2. OOP:1 Initiation [Slides] [exercises] --> Open In Colab

  3. OOP:2 OOP Concepts [Slides] [notebook] [exercises] --> Open In Colab

  4. OOP:3 More OOP Concepts [Slides] [exercises] --> Open In Colab

  5. OOP:4 More OOP Practice [Slides] [exercises] [answers] --> Open In Colab

More tasks

These are tasks from the original notebook by Professor Jerry which I have not touched.

Idiomatic Python

Python is a powerful language which contains many features not presented in most other programming languages. Idiomatic section will cover some of these Pythonic features in detail. These materials are especially useful for people with background in other programming languages.

  1. Idiomatic loops [notebook]
  2. Idiomatic dictionaries [notebook]
  3. Idiomatic Python - miscellaneous part 1 [notebook]
  4. Idiomatic Python - miscellaneous part 2 [notebook]
  5. Idiomatic Python exercise [exercise]

Step up your pytest game

  1. Efficient use of fixtures [notebook]

Best practices

A list of best development practices for Python projects. Most of the practices listed here are also applicable for other languages, however the presented tooling focuses mainly on Python.

  1. Best practices [notebook]

General topics

  1. Goodies of the Standard Library - part 2 [notebook] [exercise]

About

Jupyter notebooks for teaching/learning Python 3

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 97.9%
  • Jupyter Notebook 2.1%