Skip to content

This is a documentation about my learning progress in python.

Notifications You must be signed in to change notification settings

Olexandr-Andriyenko/Python-learning-path

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Learning Path

This is a documentation about my learning progress in python.
All topics which are listed here, I have described in detail and worked out by myself.
Feel free to learn python easily using my beginner friendly roadmap.


General information

Because the best way to learn a programming language is by practical application, I will mostly avoid theoretical descriptions.
In this chapter I will only go into the most necessary details to gain a first insight into the Python programming language.
After all, a programming language is first and foremost a tool to solve different problems.
But before we use this tool for problem solving, we have to learn more about this tool.
For now, let's answer the first question: What is python?.

Python introduction

Chapter Difficulty What you will learn
What is python
Advantages and use of python
Installation of python
Integrated development environment
Tipps learning programming

Python basics

Chapter Difficulty What you will learn
Variables and data types What are variables, how to create them and how to use them. Which data types use python.
Input and output How to save data inside variables and hot to display saved information inside the variables.
Operators Standart operators to work with variables. You will learn about arithmetic operators, comparison operators, logical operators, identity operator...
Type conversion/casting Get general knowledge in this topic and learn the difference betwwen implicit type conversion and explicit type conversion
Exercise section Use the previous knowledge to practice this section.
Functions introduction ⭐ ⭐ What are functions in Python. How to structure your code using functions and make him clearer. What are parameters and arguments. How to work with return values of a function.
Exercise section (functions) ⭐ ⭐ Using the previous knowledge to solve problems.
Conditionals How to use if statement and keyword like elif, else and pass. The knowledge about logical conditions is nesecarry.
Exercise section (conditionals) Using the previous knowledge to solve problems.
Loops How to use the for and while loop to repeat code sections. Also the use of the keyword "break" to get more "control" of the corrent loop block. Using the "range()" function to create a sequence of numbers. How to create and use nested loops.
Exercise section (loops) ⭐ ⭐ Using the previous knowledge to solve problems.
Exception Handling ⭐ ⭐ Catch errors with "try" and "except.Use "finally" to execute code, no matter if an error happened or not. Execute code with "else" if no error occurred
Data structures ⭐ ⭐ ⭐ Learn different data structures like lists, tuples, dictionaries, sequences, references and more about strings.
Exercise section (Data structures) ⭐ ⭐ ⭐ Using the previous knowledge to solve problems.
Modules What is a module and how to use them.
Debugging How to find and fix errors in your code. Watching for red underlines and fix them.
Functions advanced ⭐ ⭐ ⭐

Python intermediate

Chapter Difficulty What you will learn
Object oriented programming ⭐ ⭐ ⭐ What is object oriented programming, why to use this concept and how it effects our code. Basic knowledge about objects and methods. Learn the "turtle" and "prettytable" package. Practice the "math" modul by using the attributes and methods of the module.
Object oriented programming: advanced topics ⭐ ⭐ ⭐
Exercise section (OOP) ⭐ ⭐ ⭐ First time using API to get data inside a game. Practice the concepts of OOP. Build own classes with contructors, attributes and methods.
Practice the turtle module ⭐ ⭐
Files, Directories and Paths ⭐ ⭐
Reading CSV data and using the pandas libary
List Comprehension
Creating GUI with Tkinter ⭐ ⭐
Tkinter Exercise
APIs (Application Programming Interfaces)

Beginner projects

Project Difficulty What you will learn
Treasure island Use of control flow and logical operators. How to print ASCII art with multiple lines. Check user input independent of large and lower case by the "lower()" function.
Rock-Paper-Scissors Learn how to use the random module to create randomisation. Using the sys module to end the program if somethinh go wrong like a user input. Using exception handling to optipize the program.
Passwort Generator Apply your knowledge about loops and improve it! the knowledge about lists is necessary so you can apply it in this project. Learn to use some methods of the "random" module like "shuffle" or "choices"
Hangman ⭐ ⭐ Learn to use the "join()" method to convert a list in a string. Improving use of loops and conditionals.
Caesar cipher ⭐ ⭐ Using the method "index()" to find out the position of an element inside a list. Using functions to build cleaner code and structure the project. Practice loops and coditionals for problem solving with lists.
Auction program Practice the knowledge of dictionarys by finding the highest value and print the corresponding key. Valid the input of the user by using a while loop and a list with valid input options.
Simple calculator ⭐ ⭐ Write structured and clean code by using functions. Valid users input with while, try and except keywords.
Guess-The-Number-Game Improving the use of conditionals, error handling and f-strings.
Sieve of Eratosthenes ⭐ ⭐

Intermediate projects

Project Difficulty What you will learn
Coffe Machine Program ⭐ ⭐ Improving the use of conditionals, loops, boolean values, data structures, functions, modules and problem solving from scratch. Creating own flow chart and learning UML use case diagram.
Higher-Lower-Game ⭐ ⭐ Split python code in different .py files and use them by the "import" keyword. Improving the use of random module, loops, conditionals.
Damien Hirst's Spot Paintings (Extract RGB values from images) ⭐ ⭐ Learning new package "colorgram". Improving the use of the turtle module. Using tuple and lists.
Turtle race game ⭐ ⭐ ⭐ Master the turtle module by using different methods of the Turtle() class. Improve the use of turtle coordinate system, events, oop concepts and turtle textinput.
Snake game ⭐ ⭐ ⭐ ⭐ Improving the concepts of OOP. Trying writing clean and structured code. Using the turtle and random module. Writing own classes. Creating subclasses and using the super() function to create inheritance. Logical thinking to solve problems.
Pong Game ⭐ ⭐ ⭐ ⭐ Improving the use ofthe turtle module by using different methods and attributes. Using OOP concepts to write clear code.
Turtle Crossing Game ⭐ ⭐ ⭐ ⭐ Improving the use ofthe turtle module by using different methods and attributes. Using OOP concepts to write clear code.
US States Game Quiz ⭐ ⭐ ⭐
Nato Alphabet Project ⭐ ⭐
Pomodoro Project ⭐ ⭐ Practice different widgets. Learn the after() method to pause the mainloop for a specific time. Using grid to layout the UI. Learn the canvas widget to place images and text.
Passwort Manager ⭐ ⭐ ⭐ Use tkinter.messagebox, and tkinter widgets which I learned in the projects before. Layout the UI with grid. Creat and read entry fields.
Flash Card App ⭐ ⭐ ⭐
Send E-Mail with smtplib
Quizz app with API

About

This is a documentation about my learning progress in python.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published