An open API service indexing awesome lists of open source software.

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.

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** 🇷🇴.