Python Advanced - Part II
Advanced Python course for people who want to change careers or build solid foundations for working with data and web applications. Covers databases, Flask, data analysis and Git.
Who it's for
For people who have completed Part I or have basic Python knowledge and want to develop professional competencies. Particularly suitable for those planning a career change into IT or data analytics.
Prerequisites
Completed Part I (Python Fundamentals) or a passed diagnostic test covering: variables, loops, functions, lists, dictionaries, file handling, exception handling.
Course details
Duration
80 hours
Group size
min. 6 / max. 12 participants
Format
On-site / remote / hybrid
Cities
Łódź, Piotrków Trybunalski, Bełchatów, Radomsko, Tomaszów Mazowiecki
Certificate
Yes - certificate of completion
Start here
Python Fundamentals - Part ILearning outcomes
- Knows relational database models, SQL syntax and Python integration (sqlite3, psycopg2, SQLAlchemy)
- Understands pandas, matplotlib and seaborn libraries and their business applications
- Knows web application architecture (MVC/MTV), Flask framework and REST API basics
- Understands Git, team workflow and good practices (PEP8, testing, documentation)
- Designs database schemas, writes complex SQL queries and operates on data from Python
- Runs a full data analysis pipeline: load, clean, analyse, visualise, report
- Builds functional web applications with Flask, Jinja2 and a database (CRUD via ORM)
- Uses Git daily: branch, merge, pull request, code review, resolving merge conflicts
- Writes unit tests (unittest/pytest) and applies code quality standards (PEP8, linting)
- Works effectively in a programming team - delegates tasks and conducts code reviews
- Independently builds knowledge from documentation and industry resources
- Prepares and presents project results (code, report, app demo) to a group
- Ready to apply for junior IT positions after completing the full pathway
Programme outline
Module 1 - Databases and SQL
20h- SQL fundamentals: SELECT, WHERE, ORDER BY, GROUP BY, JOIN, aggregations, DDL
- SQLite with Python: sqlite3 module, CRUD, parameterised queries (SQL injection protection)
- PostgreSQL with Python: psycopg2, connection management, transactions, error handling
- Project M1: console application with a PostgreSQL database (min. 3 tables, relations, validation)
Module 2 - Data analysis and visualisation
20h- pandas: DataFrames and Series, loading CSV/Excel/JSON, filtering, grouping, cleaning, dates
- Matplotlib and Seaborn: line, bar, scatter, box plots, styles, export to PNG/PDF
- Working with real public datasets (GUS, Eurostat, Kaggle), descriptive statistics in Python
- Project M2: full dataset analysis (min. 1,000 records), HTML/PDF report export
Module 3 - Web basics with Flask
20h- Flask: routing (@app.route), GET/POST methods, Jinja2 templates, template inheritance
- HTML forms, Flask-WTF, server-side validation, security basics (CSRF, XSS)
- Flask-SQLAlchemy: ORM, data models, migrations (Flask-Migrate), CRUD via API, REST basics
- Project M3: complete web application with HTML interface, forms and a database
Module 4 - Git, teamwork and good practices
20h- Git and GitHub: commit, branch, merge, fork, push, pull - daily repository workflow
- Pull requests, code review, GitHub Flow, resolving merge conflicts
- PEP8, linting (flake8, black), docstrings, unittest and pytest, code coverage
- Team final project on GitHub: task breakdown, code review, tests, presentation