Learning Path

You can use the steps below to get up and running with Python. Use the check marks on the left to mark tasks as completed. You need to be logged in to save your progress.


1. Cheat sheets

Before you start, download and/or print the following "cheat sheets". They will help you get started faster.

Python Beginners The basics of Python.
Jupyter Notebook Keyboard shortcuts for Jupyter Notebooks.
Pandas Data wrangling with Pandas.


2. Register at helpful websites

Also, before diving into the language itself, it is useful to register at the following websites. I guarantee you that you will use these platforms at some point in the near future.

  • StackOverflow is the place where developers all over the world help each other out. It is a forum where you can ask questions and find answers. You’ll be surprised by how many of the questions you will have, have already been asked (and answered!) before. Register to become part of this community and contribute by upvoting/downvoting.
  • GitHub is the leading platform for hosting code. Many open source projects are published here. It is extremely useful for version control and collaboration. Create an account so you can mark your favourite projects and publish your own.
PythonSherpa This website... :-)
StackOverflow The world's leading "question and answer" forum for developers.
GitHub A platform for sharing and hosting code.


3. Learn about Python packages

Below is a small sample of popular Python packages. You can use them for data analysis, building or calling APIs, web scraping and creating graphical user interfaces (GUIs). Even if you don’t need them all, it is good to learn a little bit about them. It will make you familiar with the various capabilities and use cases of the programming language. This list only contains links to documentation. It does not contain any links to tutorials, because better sources are published regularly. Just search and surf the internet to find tutorials you like. You will be amazed by the sheer volume of quality content out there!

Pandas Data structures and operations for manipulating numerical tables and time series.
Requests The package for sending HTTP requests. Useful for API calls.
BeautifulSoup A library for pulling data out of HTML and XML files.
Flask A popular microframework for building API's and web applications with Python.
PyPDF2 Useful package to work with PDF files.
Matplotlib A library for plotting graphs. Used for data visualisation.
Tkinter A package for making simple GUIs (graphical user interfaces). Alternative: PyQt.
NumPy Package to work with multi-dimensional arrays and matrices (often used with Pandas).
Pytest The best package for writing (unit) tests efficiently to make your code more robust.
Django The most used framework for building websites. Best to learn this one after "Flask".
Selenium Browser automation. Let your computer surf the web.
Scikit-learn This is where your data science journey starts. Tools for machine learning.


4. Practice with exercises

Like learning any other language, you need to practice, practice and practice. Check out the following websites which offer various exercises.

Exercism Get personal guidance from mentors on this open source platform.
HackerRank Practice your skills and participate in competitions.
Regex Crossword Crossword puzzles to practice your “regex” (regular expressions) skills


5. Integrated Development Environments (IDE)

You can use various text editors and “integrated development interpreters (IDEs)” to write Python code. Explore these popular tools below and pick your favourite.

Anaconda Installation and package manager of Python, with all the most popular packages included.
Jupyter Notebook Beginner friendly and loved by data scientists.
PyCharm More advanced integrated development environment (IDE).
Visual Studio Code Currently the most popular open source editor (developed by Microsoft).
Spyder IDE developed for scientists and engineers.


6. Intermediate/advanced concepts

After completing all the steps above, you are probably already able to develop some code. Use the list below to explore more advanced topics. This list does not contain any links, because newer and better resources are published all the time. Just search and surf the internet to find tutorials you like. You will be amazed by the sheer volume of quality content out there! You might also want to take a look at the curated list of learning materials, recommended books and videos.

Classes Object oriented programming.
Virtual Environments Keep dependencies required by different projects separated.
Regular Expressions Finding specific patterns in strings.
Logging Use logging instead of “print”.
Exceptions Make your code more robust with “try/except”.
PEP 8 Guidelines and best practices for writing Python code.
Pylint Code analysis, bug and quality checker.
Unit Tests Make your code more robust by writing tests.
Debugging There are multiple ways to debug your code.
PySpark Big data & distributed computing.
Test Driven Development (TDD) Obey the Testing Goat! https://www.obeythetestinggoat.com


7. Happy Coding!


See our reviews on Trustpilot