Python, SQL & Git for Modern Data Workflows

Course objectives

After this course, you will be able to:

  • think like a data architect - understand how data flows, transforms, and supports real business decisions
  • work confidently with Python to clean, transform, and prepare data using practical, real‑world patterns
  • query and model data with SQL, from simple selects to joins, aggregations, and clean schema design
  • build small but realistic data pipelines, combining Python, SQL, and Git into a reproducible workflow
  • use Git effectively to version data projects, collaborate, and maintain clean, traceable code
  • design and deliver a complete data project, from raw files to validated tables and analytical queries
  • apply best practices in data quality, logic, and workflow design to create reliable, maintainable data solutions

Course syllabus

Key Concepts

  • Types of data: structured, semi‑structured, unstructured
  • Boolean logic, truth tables, predicates
  • Control flow logic (branching, conditions, invariants)
  • Lab exercises
    • Build truth tables for simple and compound conditions
    • Translate natural‑language rules into Boolean expressions
    • Write small logic puzzles in pseudocode

Python Essentials

  • Python toolkit
    • VS Code
    • Jupyter Notebook
    • Package manager (pip)
  • Introduction to Python
    • Built-in data types
    • Expressions and variables
    • Control flow: if/else, loops
  • Lab exercises
    • Practice conditional reasoning with simple Python snippets
    • Writing simple algorithms in Python

Programming in Python

  • Functions
  • Exception handling
  • Collections
  • String processing
  • List and dictionary comprehensions
  • Lab exercises
    • Sieving text with Python - filtering text based on rules/conditions
    • Filtering and transforming data using list comprehensions

Introduction to Object-Oriented Programming in Python

  • Classes and objects
  • Properties
  • Static and class methods
  • Composition (not Inheritance)
  • Lab exercises
    • Build a small OOP‑based ETL workflow

Processing files in Python

  • What a “file” is: bytes, encodings, newline conventions
  • Text vs binary files
  • Absolute vs relative paths
  • Context managers
  • Working with paths and directories
    • Listing and filtering files
    • Managing folders
    • pathlib - modern file and path management
  • Processing structured files
    • CSV
    • JSON
  • Transforming data
    • Filtering rows
    • Mapping values
    • Normalizing fields (strip, lower, replace)
    • Type conversions (int, float, date parsing)
  • Writing output files
  • Lab exercises
    • Clean a CSV file: trim whitespace, fix casing, drop invalid rows
    • Convert JSON records into a flat list of dicts
    • Processing batch of CSV files

High‑Performance Data Structures

  • Type‑safe structures (typing, TypedDict, NamedTuple)
  • Dataclasses
  • Efficient containers (Counter, defaultdict, deque)
  • Optional: Pydantic for structured validation
  • Lab exercises
    • Use dataclasses for structured, mutable records
    • Efficient grouping with defaultdict
    • Frequency analysis with Counter

Making Charts - matplotlib

  • Basic plot types
  • Styling and formatting
  • Multiple subplots
  • Saving charts as PNG, SVG or PDF
  • Lab exercises
    • Making chart from CSV file
    • Making histograms

SQL Essentials

  • Relational model
  • Creating and altering tables
  • Primary keys and foreign keys
  • Retrieving columns using SELECT
  • Sorting data
  • Filtering data using the WHERE clause
  • Summarizing datasets: COUNT(), SUM(), AVG(), MIN(), MAX()
  • Aggregations: GROUP BY
  • Filtering aggregated data: HAVING
  • Lab exercises
    • Query a sample database (PostgreSQL or SQLite)
    • Build aggregation reports (counts, sums, averages)

Querying the database

  • Joining data from multiple tables
  • Subqueries
  • Common table expressions
  • Built-in functions
  • Lab exercises
    • Write JOIN queries for real‑world scenarios
    • Write CTE‑based transformations

Python for SQL

  • Why Use SQL and Python?
  • Connecting to a Database
    • DB‑API basics
    • Connection strings
    • Cursors
  • Running queries and fetching data
  • Writing data: INSERT, UPDATE, DELETE
    • Executing write operations
    • Transactions
    • Bulk inserts
  • Parameterized queries and safety
    • Preventing SQL injection
  • Lab exercises
    • Small end‑to‑end ETL pipeline using SQL and Python

Git and Version Control for Data Projects

  • Why version control matters in data architecture
  • Git basics: init, clone, add, commit, push, pull
  • Branching strategies (feature branches, main/dev)
  • Resolving merge conflicts
  • Using GitHub/GitLab for collaboration
  • Storing SQL/Python code in repos
  • Commit hygiene and reproducibility
  • Lab exercises
    • Create a repo and push Python/SQL exercises
    • Practice branching and merging
    • Resolve intentionally created merge conflicts
    • Review each other’s code via pull requests
    • Tag versions of a data pipeline project

Integrating Python + SQL + Git into Data Workflows

  • How Python scripts interact with databases
  • Using sqlite3 or psycopg2 to run SQL from Python
  • Designing small data pipelines
  • Folder structure and reproducible project layout
  • Logowanie zdarzeń, konfiguracja oraz separacja środowisk
  • Logging, configuration, and environment separation
  • Lab exercises
    • Build a Python script that loads data → inserts into SQL → queries results
    • Create a small ETL pipeline stored in Git
    • Review and refactor each other’s code
    • Add documentation and README instructions

Hands-on Project

  • Design a simple schema
  • Load raw data (CSV/JSON) using Python
  • Transform and validate data
  • Insert into SQL tables
  • Produce analytical queries
  • Version the entire project in Git

Prerequisites

This course is ideal for anyone who wants to understand how modern data architecture works and build strong foundations for roles such as data engineer, analyst, or data architect.

Course duration

12 days, 8 class hours each
On-site course quote

In-house training course.

Run at your company premises.

Get a quote
On-line course quote

In-house training course.

Delivered live in a virtual classroom.

Get a quote
Upcoming public courses

No scheduled dates available for this course?

Request a course