https://github.com/justin-marian/python101-labs
Python101 Labs 🐍 – Exercises covering Python fundamentals, programming paradigms, OOP, modules, web dev with Flask, and version control with Git.
https://github.com/justin-marian/python101-labs
fundamentals labs python101 simple
Last synced: 10 months ago
JSON representation
Python101 Labs 🐍 – Exercises covering Python fundamentals, programming paradigms, OOP, modules, web dev with Flask, and version control with Git.
- Host: GitHub
- URL: https://github.com/justin-marian/python101-labs
- Owner: justin-marian
- License: bsd-2-clause
- Created: 2024-03-13T06:11:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-15T15:33:05.000Z (10 months ago)
- Last Synced: 2025-02-15T16:27:52.517Z (10 months ago)
- Topics: fundamentals, labs, python101, simple
- Language: Python
- Homepage:
- Size: 11.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Python101 Labs 🐍
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**.
---
## 📌 Lab 1: Introduction to Python
📄 **Course Reference:** [Course1 - Intro to Python](docs/course1.pdf)
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
---
## 🔄 Lab 2: Programming Paradigms & Iterators
📄 **Course Reference:** [Course2 - Programming Paradigms + Iterators](docs/course2.pdf)
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
---
## 🏗️ Lab 3: Object-Oriented Programming (OOP)
📄 **Course Reference:** [Course3 - OOP](docs/course3.pptx)
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**
---
## 📦 Lab 4: Modules & Imports
📄 **Course Reference:** [Course4 - Modules](docs/course4.pdf)
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**
---
## 🌐 Lab 5: Flask Framework & Postman
📄 **Course Reference:** [Course5 - Flask Framework + Postman](docs/course5.pdf)
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
---
## 🛠️ Extra: Git Workshop
📄 **Course Reference:** [Course6 - Git Workshop](docs/course6.pptx)
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**
---
## 📂 Documentation
All course slides and notes are available in the **docs/** directory.
📌 The courses are in **Romanian** 🇷🇴.