Data Analysis with Python and SQL
Information about training in this course.
Course objective: to provide the practical skills of a data analyst — collecting and structuring data, identifying patterns, testing hypotheses, and producing reports, forecasts and recommendations — using Python and SQL.
Training takes place in the centre of Tallinn at Tartu mnt. 18. All educational materials are included in the course price. A laptop is provided for the duration of the training if needed.
Various funding options are available for this course, including government support schemes and non-profit organisation programmes. Get in touch with our consultant for more detailed information.
Target group:
This course is for you if you:
- are a specialist working with data (collecting, processing and analysing information) and want to systematise your skills;
- are an analyst, economist or marketer and want to base decisions on data rather than intuition;
- are a developer or IT specialist and want to add data analysis to your toolset;
- are changing careers and want to enter the data analyst profession from scratch;
- plan to continue into Data Science and Machine Learning and need a solid foundation in Python, SQL and statistics.
What you'll learn on this course:
Master version control with Git
Learn SQL for querying data
Manage data in MySQL
Understand relational database concepts
Build data analysis skills in Python
Use Python packages from PyPI
Wrangle tabular data with Pandas
Compute on arrays with NumPy
Plot charts with Matplotlib
Visualise statistics with Seaborn
Create interactive charts in Plotly
Explore data visualisation with Bokeh
Work in Jupyter Notebook
Run notebooks in Google Colab
Build data apps with Streamlit
Connect to databases via ORM SQLAlchemyRequirements for students:
Learning outcome:
Those who complete this course are able to:
- prepare data for analysis using Python and SQL;
- structure information;
- formulate hypotheses and test them using methods of mathematical statistics;
- generate reports with initial recommendations using modern visualisation tools;
- continue their career in Data Science and Machine Learning.
Training methods:
The total course volume: 94 academic hours (12 weeks), delivered as classroom sessions combining lectures and practical work.
Evaluation criteria for learning outcomes:
Learning outcomes are assessed based on independently completed practical work.
Evaluation methods:
Upon successful completion, practical and homework assignments receive a "pass" grade.
Course completion conditions:
To successfully complete the course and receive a certificate, it is necessary to achieve a "pass" grade on the practical assignments.
Additional information:
Training programme group: 0612 - Database and network design and administration (0612 - Andmebaaside ja võrgu disaini ning halduse õppekavarühm)
Basic rules for training organisation (in Estonian)
Basic rules for ensuring the quality of the educational process (in Estonian)
| Module | Main topics | Volume |
| Introduction to Data Analysis | Modern problems solved by data analysis. Basic concepts in data analysis. Numeric and categorical data. A brief overview of data analysis tools. | 4 ac/h |
| Introduction to the Python and Jupyter environment | The Python interpreter. IDE. PIP package manager. Installation of iPython and the Jupyter environment. Basics of Jupyter Lab: cell types, navigation, shortcuts, installing extensions. Introducing Google Colab. | 4 ac/h |
| Collections in Python | Introduction and basic operations of data types: list, tuple, set and dictionary. | 8 ac/h |
| Flow control in Python | Construction of logical conditions. Loops. Practical work. | 4 ac/h |
| Introduction to VCS/Git | Register on GitHub. Creating your own repository. How Git works. | 12 ac/h |
| Practical part | 2 ac/h | |
| Introduction to the NumPy module | The concept of one-dimensional and multidimensional arrays, operations with arrays, changing data types in arrays, determining the memory footprint and speed of an operation, and a general overview of the capabilities of the NumPy module. | 4 ac/h |
| Probability and combinatorics | Theoretical and experimental probability. Probability distribution. Bayes' theorem. Combinations and permutations. The NumPy.random module for conducting experiments. Practical work. | 4 ac/h |
| Introducing the Pandas module | Concepts of DataFrame and Series. Indexing. Dataset manipulation. Grouping. Obtaining statistical data. Merging datasets. Creating new columns. | 4 ac/h |
| Basic concepts of statistics | Gaussian distribution. Constructing and testing hypotheses. Correlation. Determination of outliers. Basic types of charts. | 6 ac/h |
| Data visualisation | Overview of the Matplotlib, Seaborn, Plotly and Bokeh modules. Plotting charts: Bar Chart, Histogram, Boxplot, Scatter Plot, etc. Practical work. | 8 ac/h |
| Practical part | 2 ac/h | |
| SQL query language and MySQL DBMS | Installing and configuring the MySQL server. Creation of databases and tables. Data types. The concept of relational databases. Writing basic queries in SQL. | 8 ac/h |
| Practical part | Practice using SQL. | 2 ac/h |
| Working in Pandas with different data sources | Uploading data from csv, json, xlsx, xml, pdf, etc. Uploading a dataset from a MySQL database. Writing a script to create API requests. Saving the dataset in different formats. Practical work. | 8 ac/h |
| Data cleaning | Finding missing data using a heat map and replacing missing values. Working with outliers. Finding and removing duplicates. Determining the relevance of features. Bringing data to a single format. Practical work. | 8 ac/h |
| Generating reports | The analyst as a link between IT and business. Full cycle of generating reports with specific recommendations for business. Practical work. | 6 ac/h |
Course information
Time of conduct:17.08.2026 - 23.10.2026
09.09.2026 - 09.12.2026
Apply →We'll reply within 1 business day
Course length: 12 weeks
Format and place of conduct:
Address: Tartu mnt. 18, Tallinn / Online.

The course is conducted in a classroom format (and/or online via Zoom), in a modern computer class. The group size is up to 8 people.
Training language: English
Price: 2400 EUR (VAT 24% included)
Total course volume: 94 ac/h
Includes classroom sessions (lectures and practical work).
Tutors
Maksim Kolodijev
Qualification: Over 15 years in software development; over 8 years in software testing.Specialisation: Software development processes, software testing, test automation, data analysis.
Teaching experience: Over 5 years of experience in teaching and consulting.
Education: TalTech, Master's degree (2007).
Roman Kutselepa
Qualification: Over 5 years of Python development and over 3 years of JavaScript development; participated in software-integration projects.Specialisation: Python development, data analysis, web development, software solution integration.
Teaching experience: Over 5 years of teaching and staff-training experience.
Education: Anglia Ruskin University, higher education (2010).
Nikolay Zubrilov
Qualification: Python developer and Data Scientist with commercial experience in data analysis, data science and AI/LLM development.Specialisation: Python data analysis (Pandas, NumPy, Scikit-Learn), data visualisation, SQL / MySQL / PostgreSQL, machine learning and statistics.
Teaching experience: Lecturer on the "Data Analysis with Python and SQL" course.
Education: Baltic Fishing Fleet State Academy, Bachelor of Engineering (2019).
Igor Eremenko
Qualification: Over 6 years in data analytics, business intelligence and financial reporting.Specialisation: Data analysis, SQL, Python (Pandas, NumPy), data visualisation and business intelligence (Power BI), data modelling (dbt).
Teaching experience: Data Analytics Instructor at Gamma Intelligence since 2025.
Education: University of Tartu, MSc in Quantitative Economics (2021).