References#

🏛️ Lecture 1

ENPM605 — L1: Course Introduction

Covers course structure, development environment setup, the Python execution pipeline, and introduction to Python variables.

🐍 Python Resources
📘 Python Official Tutorial

Getting Started

Sections 3, 4, and 5 cover informal introduction, control flow, and data structures.

https://docs.python.org/3/tutorial/
📏 PEP 8 Style Guide

Coding Conventions

Python’s official style guide for writing clean, readable code.

https://peps.python.org/pep-0008/
🔍 Python Language Reference

Internals

Detailed reference for Python syntax, data model, and execution model.

https://docs.python.org/3/reference/
📦 Python Standard Library

Built-in Modules

Reference for all standard library modules used in this course.

https://docs.python.org/3/library/
🛠️ Development Tools
💻 Visual Studio Code

IDE Documentation

Getting started, extensions, and debugging guides.

https://code.visualstudio.com/docs
🐳 Docker Desktop

Container Platform

Installation, setup, and container management.

https://docs.docker.com/desktop/
⚡ Ruff

Python Linter & Formatter

Fast, all-in-one tool for Python code quality.

https://docs.astral.sh/ruff/
🐍 Python Extension for VS Code

Language Support

IntelliSense, debugging, linting, and formatting.

https://marketplace.visualstudio.com/items?itemName=ms-python.python
🤖 ROS 2 & Simulation Resources
📘 ROS 2 Jazzy

Official Documentation

ROS 2 Jazzy Jalisco documentation and tutorials.

https://docs.ros.org/en/jazzy/
🌍 Gazebo Harmonic

Simulation Environment

Getting started with Gazebo Harmonic for robot simulation.

https://gazebosim.org/docs/harmonic/getstarted/
🧭 Nav2

Navigation Stack

The ROS 2 navigation framework used in the final project.

https://docs.nav2.org/
🌳 py_trees

Behavior Trees for Python

Library for building application-level behavior trees.

https://py-trees.readthedocs.io/
📚 Python Books
Mark Lutz

Learning Python (5th Edition)

Comprehensive introduction to the Python language.

Luciano Ramalho

Fluent Python (2nd Edition)

Effective use of Python features for experienced programmers.

Brett Slatkin

Effective Python (2nd Edition)

90 specific ways to write better Python.

Martin Fowler et al.

Refactoring: Improving the Design of Existing Code

The origin of the term “code smells” referenced in the linting section.