This repository contains lab exercises for the Python101 course. Each lab builds foundational programming concepts in Python, covering syntax, programming paradigms, object-oriented programming, modules, web development, and version control with Git & GitHub.
π Course Reference: Course1 - Intro to Python
In this lab, I learned the basics of Python, including:
- Variables and data types
- Basic input/output operations
- Conditional statements (
if-else
) - Loops (
for
,while
) - Functions and scope
- Error handling and debugging
π Course Reference: Course2 - Programming Paradigms + Iterators
This lab introduced different programming paradigms and iteration techniques:
- Procedural vs. Functional vs. Object-Oriented Programming
- Iterators and Generators (
__iter__
and__next__
) - List comprehensions and lambda functions
- Built-in functions:
map()
,filter()
,reduce()
- Using Python iterators efficiently
π Course Reference: Course3 - OOP
This lab focused on Object-Oriented Programming (OOP) principles:
- Defining classes and objects
- Understanding encapsulation, inheritance, and polymorphism
- Overriding methods and magic methods (
__str__
,__add__
, etc.) - Working with class and instance attributes
- Implementing custom objects and behaviors
π Course Reference: Course4 - Modules
This lab covered how to structure Python projects using modules:
- Importing built-in and custom Python modules
- Creating and organizing packages
- Understanding the role of
__init__.py
in packages - Exploring the Python Standard Library
π Course Reference: Course5 - Flask Framework + Postman
This lab introduced web development with Flask:
- Understanding Client-Server Architecture
- Creating a Flask API
- Handling HTTP methods (
GET
,POST
,PUT
,DELETE
) - Using Postman to test API requests
- Parsing JSON responses with Python
π Course Reference: Course6 - Git Workshop
A separate Git workshop was conducted to introduce version control:
- Git vs. GitHub β Understanding repository management
- Setting up SSH keys for secure authentication
- Basic Git commands (
clone
,commit
,push
,pull
) - Working with branches and merging changes
- Using GitHub for collaboration
All course slides and notes are available in the docs/ directory.
π The courses are in Romanian π·π΄.