Resources¶
All course materials, starter code, tests, and reference guides are organized by week below.
Course Environment Setup¶
Required Software & Configuration¶
Before starting the course, you need to set up your development environment. This section covers Python installation, library configuration, and optional IDE setup.
System Requirements¶
- Operating System: Windows, macOS, or Linux
- Python Version: Python 3.8 or newer (64-bit)
- Important: Some specific Python versions may be incompatible with certain ROS2 or library versions. If you encounter compatibility issues, consult the library documentation or course support.
- Hardware: Modern laptop/desktop (for later ROS2 and simulation work, a dedicated GPU or recent integrated graphics is recommended)
1. Install Python 3¶
Download Python 3 from python.org and install the 64-bit version for your operating system.
Windows-specific: During installation, check "Add Python to PATH" to make Python accessible from the command prompt.
macOS/Linux: Python may already be installed. Check by opening Terminal and running:
2. Test Your Installation¶
Open a terminal/command prompt and test Python:
You should see output like:
To enter the Python interactive shell, type python or python3. Exit with exit().
3. Install Python Libraries¶
The course requires NumPy at minimum. Install it via pip:
Optional but recommended: - pytest (unit testing framework):
- OpenCV (computer vision, useful for later robotics modules):
4. (Later Weeks) ROS2 Setup¶
ROS2 (Robot Operating System 2) is introduced in Week 10. For Go2 robot integration, you'll need:
- Ubuntu 24.04 LTS (recommended) or compatible Linux distribution
- ROS2 Humble or newer
- Go2 SDK (Unitree-specific tools and libraries)
Detailed ROS2 setup instructions will be provided in Week 10 materials.
5. Troubleshooting¶
Problem: Python not found in terminal - Solution: Reinstall Python with "Add to PATH" option (Windows) or verify installation path (macOS/Linux)
Problem: pip not found
- Solution: Use python -m pip instead of pip, or reinstall Python with setuptools included
Problem: Import errors (ModuleNotFoundError)
- Solution: Ensure required libraries are installed: pip install numpy pytest
Week 1: Unit Testing & Binary Search¶
Exercise Files¶
Exercism: Binary Search¶
- Source: Exercism Python Track
[Files not yet added to resources - download from Exercism]
Week 2: Advanced Testing & Algorithms¶
Instructor Materials¶
String Interning Jupyter Notebook¶
- File: string-interning-notebook.ipynb
- Purpose: Interactive lecturer-led demonstration of Python object model and string interning
- Topics: Object references, id(), string interning, mutable vs immutable, comparison operators
Exercise Files¶
Exercism: Tisbury Treasure Hunt¶
- Starter Code: tuples.py
- Test File: tuples_test.py
- Source: Exercism Python Track
Exercism: Change¶
- Starter Code: change.py
- Test File: change_test.py
- Source: Exercism Python Track
Week 3: Professional Testing Environment¶
Exercise Files¶
Mecha Munch Management (Dictionary Methods)¶
- Starter Code: dict_methods.py
- Test File: dict_methods_test.py
- Test Data: dict_methods_test_data.py
- Source: Exercism Python Track
Week 4: Object-Oriented Programming & RobotBase Assessment¶
Assessment Files¶
RobotBase Implementation (Competency-Based)¶
- Specification: robot-base-specification.md - What you need to implement
- Starter Code: robot-base-starter.py - Save as
solution.py - Test File: robot-base-tests.py - Run with
pytest robot-base-tests.py -v - Sample Solution: sample-solution.py - Reference implementation
- Assessment Guide: assessment-KAD/AT2-Session-4-RobotBase-Implementation.md
- Marking Guide: assessment-KAD/AT2-Session-4-RobotBase-Marking-Guide.md
Reference Guides¶
- Unit Testing Guide - Comprehensive reference for unittest framework
Additional Learning Resources¶
- Exercism Python Track - Free practice platform
- Python unittest Documentation - Official docs
- CS50 Harvard - Comprehensive Python course