Welcome to my python course, below is a list of everything in the course in the order I recommend you learn it. Feel free to jump ahead if you have already started learning it yourself!
As always, before we get started, here are my rules for my courses:
IF THIS TEXT IS STILL HERE, THE COURSE IS NOT FINISHED AND MAY NOT COMPLY WITH ALL OF THESE RULES YET. APOLOGIES FOR ANY INCONVENIENCE.
Rules
The following rules apply to every page and topic on this platform:
- Free, no cost at all to the user. Knowledge should only cost effort and dedication, not money.
- No advertisements or distractions whatsoever; none of the pages have ads.
- **Every topic and subtopic will have its own dedicated page/document **. This way users won't have to search for hours through one page to find what they need.
- **Always available **. Unless server outages or power surges/losses occur, this information shall be preserved. It will only be updated, never removed, and updates cannot remove a significant amount of content unless it's deemed inaccurate or flawed.
- **Printable **. Every page will have PDFs available to print out to use for any case where the online version isn't suitable. On top of this, a ZIP archive of every page on this website will be available to download in bulk.
- **Accessible **. The site will follow accessibility rules, knowledge shouldn't be inaccessible due to disabilities. This website will conform to the WCAG standards.
- **Account-less **. No account required. You won't have to have any form of account to access this information, the only time you'll need one is if I ever add progress tracking and custom lessons, which probably won't be for a while.
- **No REQUIRED links to external tutorials and classes **. There may be links to credible sources and recommended tutorials, but this course will still go over anything linked to ensure the rules above are protected and learners continue to have a free and convenient experience.
Good luck!
-
Learning to learn programming - This section isn't required but may help you speed up your Python journey.
- Meta learning - Learning how you learn to speed up your own learning.
- Learning Strategies - Strategies to help you learn more effectively.
- Documentation - How to read and understand documentation.
- Computer Science Theory - A quick note about computer science theory, and its relation to this course/python.
-
Introduction to Python - This section will go over what Python is, how to install it, and how to run Python code.
- What is Python - A brief overview of Python and its features.
- Installing Python - How to install Python on your computer.
- Running Python code - Different ways to run Python code.
- Python IDEs and text editors - Popular Python Integrated Development Environments (IDEs) and text editors.
-
Basic Python Syntax - This section will cover the basic syntax of Python, including variables, data types, operators, comments, indentation, and basic input and output.
- Variables and data types - An introduction to variables and data types in Python.
- Operators - Operators in Python, what they are, and how to use them.
- Comments - Utilizing comments in Python to make your code more readable.
- Indentation - Python's use of indentation to define code blocks.
- Basic input and output - How to get input from the user and display output in Python.
- Basic python challenges - Basic Python challenges to practice and reinforce your understanding of fundamental Python concepts.
- Basic Challenge Answers - Answer to the basic Python challenges above.
-
String in Python - This section will cover strings in Python, including string creation, indexing, slicing, methods, concatenation, formatting, immutability, and escape characters.
- Introduction to Strings - An introduction to strings in Python.
- String Creation and Indexing - Creating strings and accessing individual characters.
- String Slicing - Extracting substrings from strings.
- String Methods - Commonly used string methods for text manipulation.
- String Concatenation - Combining strings.
- String Formatting - Formatting strings for output.
- String Immutability - Understanding string immutability in Python.
- Escape Characters - Special characters used in strings.
- Multiline Strings - Creating strings that span multiple lines.
-
Control Flow - This section will cover control flow statements in Python, including conditional statements (if, elif, else), loops (for, while), and break, continue, and pass statements.
- Conditional statements (if, elif, else) - Using conditional statements to control the flow of your program.
- Loops (for, while) - Using loops to repeat code blocks.
- Break, continue, and pass statements - Special statements to control loop execution.
-
Python Built-in Collection Types - This section will cover the built-in collection types in Python, including lists, tuples, sets, and dictionaries.
- Lists - Creating and manipulating lists in Python.
- Tuples - Creating and working with tuples in Python.
- Sets - Working with sets in Python.
- Dictionaries - Using dictionaries to store key-value pairs.
-
Functions - This section will cover functions in Python, including defining functions, parameters and arguments, return values, scope and global variables, and lambda functions.
- Defining functions - How to define functions in Python.
- Parameters and arguments - Understanding function parameters and arguments.
- Return values - Using return values to send data back from functions.
- Scope and global variables - Understanding variable scope in Python.
- Lambda functions - Creating anonymous functions with lambda.
-
Modules and Packages - This section will cover modules and packages in Python, including importing modules, creating modules, the Python standard library, and installing and using external packages (pip).
- Importing modules - How to import modules in Python.
- Creating modules - Creating your own modules in Python.
- Python standard library - An overview of the Python standard library.
- Installing and using external packages (pip) - How to install and use external packages in Python.
-
File Handling - This section will cover file handling in Python, including opening and closing files, reading from files, writing to files, and working with CSV and JSON files.
- Opening and closing files - How to open and close files in Python using built-in functions.
- Reading from files - Reading data from files in Python.
- Writing to files - Writing data to files in Python using built-in functions.
- Working with CSV and JSON files - How to work with CSV and JSON files in Python using built-in modules.
-
Exception Handling - This section will cover exception handling in Python, including try, except, and finally blocks, raising exceptions, and creating custom exceptions.
- Try, except, and finally blocks - Handling exceptions in Python using try, except, and finally blocks.
- Raising exceptions - How to raise exceptions in Python.
- Creating custom exceptions - Creating and using custom exceptions in Python to improve error handling and code readability.
-
Object-Oriented Programming (OOP) - This section will cover object-oriented programming (OOP) in Python, including classes and objects, attributes and methods, inheritance and polymorphism, encapsulation and data hiding, composition and aggregation, and design patterns in OOP.
- Classes and objects
- Attributes and methods
- Inheritance and polymorphism
- Single inheritance
- Multiple inheritance
- Method overriding and super()
- Abstract base classes and interfaces
- Encapsulation and data hiding
- Private and protected attributes
- Name mangling
- Composition and aggregation
- Magic methods (dunder methods)
- init, str, repr, len, etc.
- Metaclasses
- Object lifecycle and garbage collection
- Design patterns in OOP
- Singleton, Factory, Observer, etc.
- Exception handling in OOP
- Type hinting and OOP
-
Advanced Topics
- Decorators
- Generators
- Context managers
- Meta classes
- Regular expressions
-
Data Analysis and Visualization
- NumPy
- Pandas
- Matplotlib
- Seaborn
-
Web Development
- Flask
- Django
- Web scraping with BeautifulSoup and Scrapy
- API development and consumption
-
GUI Development
- Tkinter
- PyQt
- Kivy
-
Database Programming
- SQLite
- MySQL
- PostgreSQL
- Object-Relational Mapping (ORM) with SQLAlchemy
-
Testing and Debugging
- Unit testing with unittest and pytest
- Debugging techniques
- Logging
- Profiling and optimization
-
Concurrency and Parallelism
- Multithreading
- Multiprocessing
- Asynchronous programming with asyncio
-
Machine Learning and Data Science
- Scikit-learn
- TensorFlow
- Keras
- Natural Language Processing (NLP) with NLTK and spaCy
-
Game Development
- Pygame
- Pyglet
- Panda3D
-
Network Programming
- Sockets
- HTTP and HTTPS
- Email handling
- SSH and FTP
-
Miscellaneous Topics
- Working with date and time
- Random number generation
- Cryptography
- Image processing with Pillow
- Audio and video processing with MoviePy and PyDub