A beginner-friendly, hands-on introduction to modern data science tools and techniques
For: First-time coders learning data science
Location: Johannesburg SA 2026 Trainings
Duration: ~3 hours
By the end of this course, you'll be able to:
- Write Python code for data analysis
- Load and manipulate data with Polars
- Create interactive visualizations with Plotly
- Use AI tools (GitHub Copilot) to help you code
- Required: None! This course is designed for complete beginners
- Equipment: Computer with internet (Mac, Windows, or Linux)
-
Install VS Code (if you haven't already)
- Download and Install VS Code from code.visualstudio.com
- Install Marimo extension from Visual Studio Marketplace
-
Install UV and add to PATH (Python package manager)
# macOS/Linux (Ubuntu or Debian) curl -LsSf https://astral.sh/uv/install.sh | sh source $HOME/.local/bin/env # Windows (PowerShell) powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # Should be added to PATH already, but in case [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Users\$env:USERNAME\.cargo\bin", "User")
# Verify Installation uv --version -
Install Python with UV
uv python install
# Verify Installation python --version -
Install Git and verify installation
# Windows (Powershell) winget install --id Git.Git -e --source winget # macOS brew install git # Linux (Ubuntu or Debian) apt-get install git
# Verify Installation git --version -
Clone this repository
git clone https://github.com/quickskilling/IntroDataScience.git cd IntroDataScience -
Sync dependencies
uv sync
-
Launch your first notebook
uv run marimo edit example_notebooks/01_python_basics.py
📖 Need more help? Check out the detailed setup guide
✓ Overview of Data Science and Tools
✓ Install VS Code and UV
✓ Clone repository and sync dependencies
✓ Launch first notebook
📓 Notebook 1: Python Basics (20 min)
- Variables, data types, and operations
- Lists and dictionaries
- Control flow (if/else, loops)
- Functions
📓 Notebook 2: Data Wrangling (20 min)
- Loading data (CSV, JSON, Parquet)
- Exploring DataFrames with Polars
- Filtering, selecting, and transforming data
- Joining datasets
📓 Notebook 3: Plotting (20 min)
- Line charts and bar charts
- Scatter plots and histograms
- Customizing visualizations
- Subplots
✏️ Exercise 1: Fundamentals (20 min)
- Practice Python basics
- 8-10 hands-on exercises
✏️ Exercise 2: Basic Data Wrangling with Polars (20 min)
- Load and manipulate real datasets
- Answer questions with data
✏️ Exercise 3: Basic Plotting with Plotly (20 min)
- Create visualizations from data
- Hands-on exercises
Total Time: ~3 hours
Our modern, industry-standard tools:
- Python - The most popular data science language
- UV ⚡ - Lightning-fast package manager
- Marimo 📓 - Reactive Python notebooks
- Polars 🐻❄️ - Blazing-fast data manipulation
- Plotly 📊 - Interactive visualizations
- GitHub Copilot 🤖 - AI coding assistant
📦 IntroDataScience/
├── 📓 example_notebooks/ → Learning notebooks (start here!)
│ ├── 01_python_basics.py
│ ├── 02_data_wrangling.py
│ └── 03_plotting.py
│
├── ✏️ exercises/ → Practice problems
│ ├── ex01_fundamentals.py
│ ├── ex02_wrangle_and_plot.py
│ └── ex03_mini_project.py
│
│
├── 📊 data/ → Sample datasets
│ └── raw/
│ ├── students.csv
│ ├── sales.json
│ └── weather.parquet
│
└── 📚 docs/ → Tool guides and documentation
Track your journey through the course:
- Install VS Code and extensions
- Install Python
- Install UV and dependencies
- Install Git and clone repository
- Run first notebook successfully
- 01: Python Basics (20 min)
- 02: Data Wrangling (20 min)
- 03: Plotting (20 min)
- Exercise 1: Fundamentals (20 min)
- Exercise 2: Basic Data Wrangling with Polars (20 min)
- Exercise 3: Basic Plotting with Plotly (20 min)
- Share your work
- Keep learning with your own data
- Read error messages carefully - They often tell you exactly what's wrong!
- Check the docs - Each tool we use has a guide in the
/docsfolder - Ask your neighbor - Pair programming can improve efficancy and help you learn
- Ask GitHub Copilot - If you have it installed, use Copilot Chat for help
- Raise your hand - A DataThink representative will be happy to help if you get stuck
Ready to start? Jump to example_notebooks/01_python_basics.py 🚀