Chapter 1
Explore Data Analysis Fundamentals
Presentation & objectives
In this case study, you will help a high-tech retailer understand its sales and prepare better promotional campaigns. You will start from the business problem, build a complete local data science environment, create a reproducible Python project, and use data analysis to turn sales records into actionable insights.
By the end of this session, you will be able to:
- Translate a business problem into clear analytical questions
- Work in a Linux environment through WSL when using Windows
- Use Visual Studio Code as a local data science workspace
- Create and manage a Python project with uv
- Explain the roles of
pyproject.toml,.python-version,.venv, anduv.lock - Run a Jupyter notebook in VS Code with the correct project kernel
- Load, clean, transform, summarize, and visualize tabular data with Python
- Publish a reproducible data science project with Git and GitLab
- Communicate analytical findings through visualizations and project documentation
Useful documentation:
- Introductory lecture
- uv documentation
- VS Code documentation for WSL
- VS Code Jupyter notebooks
- NumPy for beginners
- Getting started with pandas
Activities
- Introductory lecture
- Understand the Sales Problem
- Set Up Your Development Environment
- Create a Data Science Project with uv
- Run a Notebook in VS Code
- Publish the Sales Project with Git
- Analyze Sales Data and Communicate Insights
Local environment required
This session uses a local notebook running in VS Code. If you use Windows, all commands, Python environments, and project files must remain inside Ubuntu on WSL. Complete each validation checkpoint before moving to the next activity.
Knowledge Check
Answer these questions once you have finished this course module.
---
primary_color: steelblue
secondary_color: lightgray
text_color: black
shuffle_questions: false
shuffle_answers: true
---
# Why should you understand the business problem before analyzing the data?
1. [x] To identify relevant objectives, variables, and questions before choosing an analysis
2. [ ] To select the most complex Python library
3. [ ] To remove all rows containing missing values
4. [ ] To decide which chart colors to use
# Where should Windows students store and run their course project?
1. [ ] In a Windows folder opened from PowerShell
2. [ ] In a cloud notebook only
3. [x] In the Linux filesystem opened through VS Code and WSL
4. [ ] In the VS Code installation directory
# What is the role of `pyproject.toml` in an uv project?
1. [ ] It contains the installed virtual environment
2. [x] It describes the project and declares its direct dependencies
3. [ ] It stores notebook outputs
4. [ ] It replaces the Git repository
# What is the role of `uv.lock`?
1. [ ] It prevents other students from opening the project
2. [ ] It stores Git credentials
3. [x] It records an exact dependency resolution for reproducible environments
4. [ ] It activates the notebook kernel
# Why should `.venv` be excluded from Git?
1. [x] It is generated locally and can be recreated from the project dependency files
2. [ ] Git cannot store directories beginning with a dot
3. [ ] It contains the sales dataset
4. [ ] It is always confidential
# How can you verify which Python executable a notebook is using?
1. [ ] Run `git status`
2. [x] Display `sys.executable` in a notebook cell
3. [ ] Open `uv.lock`
4. [ ] Rename the notebook
# Why is data cleaning important before aggregation and visualization?
1. [ ] It automatically produces business recommendations
2. [x] It prevents missing, duplicated, or incorrectly typed values from distorting results
3. [ ] It makes Git commits unnecessary
4. [ ] It guarantees causal conclusions
# Why are meaningful Git commits useful during a data analysis?
1. [ ] They improve model accuracy
2. [ ] They install missing Python packages
3. [x] They record logical stages of the analysis and make the project easier to reproduce
4. [ ] They automatically resolve merge conflicts