Skip to content

Take the next step with Python. Explore professional techniques, practical libraries and get ready for more complex projects. Designed by George Freedom Tech.

License

Notifications You must be signed in to change notification settings

GeorgeFreedomTech/Python-Intermediate-Course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Python Intermediate Course - Applied Techniques & Systems

By George Freedom

A comprehensive course designed as the follow-up to the 'Python Foundations Course' series. In this course (Lessons 1-12) you are going to explore professional techniques, practical libraries for web and system interaction that prepare you for more complex projects.


🚀 The Adventure Continues!

This repository hosts "Python Intermediate: From Practical Techniques to System Interaction" - Presented in Jupyter Notebooks and Python scripts.

This course is for learners who have mastered the basics and are ready to build complex, efficient, and robust applications by interacting with the web, the file system, and external data sources.

🗺️ Course Outline / Your Advanced Itinerary:

Module 1: Writing Professional Code

  • Lesson 1: Pro Tips & Techniques - Hacks & Power-Ups for better code
  • Lesson 2: Advanced Function Building with Args & Kwargs - Handling variable number of arguments
  • Lesson 3: Python Comprehensions - Concise data & collection crafting
  • Lesson 4: Code Refactoring & Advanced Type Hinting - From Novice to Veteran code

Module 2: Interacting with the Local Environment

  • Lesson 5: File System Operations – Managing mission logs
  • Lesson 6: Working with Time & Dates - time, calendar, datetime – Mastering mission timelines
  • Lesson 7: System & Runtime Interaction - sys & os module – System & Command-line operations
  • Lesson 8: Python Environments & pip - Managing your digital workshop

Module 3: Web Reconnaissance & Data Extraction

  • Lesson 9: Introduction to HTML & CSS - Understanding your target's structure.
  • Lesson 10: The requests Library - Launching data probes to fetch remote data.
  • Lesson 11: Parsing with BeautifulSoup - Deciphering digital artifacts.
  • Lesson 12: Working with APIs - Querying remote data beacons.
  • Lesson 13: Way of an apprentice - Expand your toolkit, get ready for system architecture.

🎯 Learning Objectives / New Treasures to Uncover:

Upon completing this expedition, you will be able to:

  • Write more concise and efficient "Pythonic" code using comprehensions and advanced functions.
  • Structure a project into multiple modules and manage dependencies in a virtual environment.
  • Interact with your computer's file system to read, write, and manage files programmatically.
  • Retrieve and parse data from websites and APIs using standard Python libraries.
  • Apply principles of good code design, documentation, and refactoring.

🎒 Course Prerequisites / Advanced Gear-Up:

  • A solid understanding of Python topics covered in the **Python Foundations Course**course or equivalent experience.
  • This includes undestanding of variables, data types, lists, dictionaries, loops and basic functions.
  • Willingness to learn & enjoy!

🧭 How to Get and Run Course Materials:

Here is a guide on how to download the Jupyter Notebooks (.ipynb files) and how to open them. You can choose to work locally (on your computer) or online.

Part 1: How to Download the Materials

Option A: Download as ZIP (Easiest for Beginners)

  • Go to the main page of this repository on GitHub.
  • Click the green Code button.
  • Select Download ZIP. Important: Extract (unzip) the downloaded folder to a location on your computer (e.g., Documents/PythonCourse). Do not try to run files directly inside the ZIP archive.

Option B: Git Clone (For Advanced Users)

If you are comfortable with the terminal and want to easily update materials later:

  • Open your terminal or command prompt.
  • Run the following command:
    git clone https://github.com/GeorgeFreedomTech/python-intermediate-course.git

Part 2: How to Open and Run the Notebooks

Option 1: VS Code (Recommended - Offline)

This is the best way to work if you want to keep everything on your own computer.

Prerequisites:

  • VS Code installed.
  • Python installed.
  • Jupyter Extension for VS Code installed (search for "Jupyter" by Microsoft in the Extensions marketplace).

Steps:

  1. Open VS Code.
  2. Go to File > Open Folder... and select the folder you downloaded/cloned.
  3. Click on any file ending in .ipynb.
  4. In the top-right corner, click Select Kernel and choose your Python version (or venv).
  5. You can now run the code cells by clicking the "Play" button next to them.

Option 2: Google Colab (Alternative - Online)

If you cannot install Python locally or want to try the code quickly in your browser.

Prerequisites:

  • You have to have a Google account

Steps:

  1. Go to colab.research.google.com.
  2. Log in with your Google Account.
  3. Select the GitHub tab in the pop-up window.
  4. Paste the URL of this repository and search.
  5. Click on the notebook you want to open.
  • Alternatively: You can go to the Upload tab and upload the .ipynb file you downloaded in Part 1.

💡 Purpose of This Repository:

  • Educational Resource: A practical, hands-on guide for advancing your Python skills.
  • Professional Portfolio: Demonstrating my teaching methodology for intermediate concepts.
  • Content Foundation: A source of examples for articles, tutorials, and social media.

🔗 Next Steps & Connect:

📜 License:

Copyright (c) 2025 Jiří Svoboda (George Freedom) / George Freedom Tech

This work (educational materials, including text, explanations, exercises, and accompanying code examples within the Jupyter Notebooks) is licensed under:

  • Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

Deepen your expertise and prepare for more complex missions in the world of code!

Releases

No releases published

Packages

No packages published