Welcome! 🎉🎉🎉
This repository contains everything you need for Week 1 of the Data Engineering program: development environment setup, Bash/VS Code/Jupyter intros, Git + GitHub workflows, Python practice (Basics → Intermediate → Advanced), and a Pandas primer.
- 🛠 Tooling: Bash, VS Code, Jupyter, Google Colab
- 🌱 Version control: Git + GitHub (clone, branch, commit, PR)
- 🐍 Python: Core syntax & flow, data structures, functions, error handling, iterators/generators, Object-oriented Programming concepts and performance tips
- 📊 Pandas: Series/DataFrame basics, transforms, visualization
01_installation_setup/[Time Allocation - 2nd half of Day 1]setup_for_linux/— Linux install guides (uv, Python, Bash, Docker, Git, VS Code, PostgreSQL/pgAdmin, Jupyter). 🐧setup_for_mac/— macOS install guides (Homebrew, uv, Python, Bash, Docker, Git, VS Code, PostgreSQL/pgAdmin, Jupyter). 🍎setup_for_windows/— Windows install guides (uv, Python, Git, Bash, Docker, Git, VS Code, PostgreSQL/pgAdmin, Jupyter). 🪟
02_bash_jupyter_vscode_colab_intro/bash.md— Bash intro + practice game (Bandit). 🔹vscode.md— VS Code essentials for this course. ✨jupyter.md— Jupyter Notebook/Lab walkthrough. 📓colab.md— Using Google Colab. ☁️
03_git_github/git_github_intro.md— class workflow: fork/clone, feature branches, commits, PRs, resolving simple conflicts. 🧩
04_python_practice/python_basics/— notebooks + exercise folder: 🐍- Numeric variable types, Strings, If/Elif/Else, Loops
- Lists, Sets, Mutability, Dictionaries, Comprehensions
- Functions (intro/definitions/calling/challenge)
- Each student notebook has TODOs and
asserttests.
python_intermediate/— notebooks + exercise folder: ⚡- Error handling, Iterators & Generators, Lambda/Map/Filter/Reduce, Performance.
python_advanced/— notebooks + exercise folder: 🚀- OOP introduction, Concurrency & Parallelism.
05_pandas_intro/01_pandas.ipynb→ foundations (Series/DataFrame, indexing, I/O). 📊02_pandas_practice_1.ipynb,04_pandas_practice_2.ipynb,05_pandas_practice_3.ipynb→ progressively harder practice.03_pandas_visualization.ipynb→ quick plotting. 📈data/— sample CSVs/parquet used by the notebooks. Don't move/rename. 🗂️