Course

Engineering setup for AI & Data Products

Build the foundational skills required to set up AI and data products properly, including terminal usage, Python project anatomy, Python package boundaries, virtual environments, dependency management with uv, configuration hygiene, Git and GitHub workflows, secrets management, repository visibility, licensing, testing, a minimal FastAPI starter app, Docker-based local services, and a guided starter-repo project.

Foundations for Setting Up AI and Data Products

Learn the core engineering foundations required to set up AI and data products properly:

1. Terminal Basics * Navigating folders and files * Running commands and scripts * Understanding terminal state, paths, and tree output 2. Python Project Anatomy * Organizing folders and files * Separating source code, notebooks, configs, tests, and documentation * Understanding what belongs where in a real project 3. Python Package Boundaries * Structuring Python modules and packages * Separating reusable code from one-off scripts * Managing imports cleanly 4. Virtual Environments and Dependency Management * Creating isolated environments * Managing dependencies with uv * Keeping project setups reproducible 5. Configuration Hygiene * Separating code from environment-specific settings * Using config files and environment variables properly * Avoiding hardcoded paths, keys, and credentials 6. Git and GitHub * Tracking code changes * Creating commits and branches * Working with remote repositories * Understanding basic collaboration workflows 7. Secrets Management * Storing API keys and credentials safely * Using .env files correctly * Preventing secrets from being committed to Git 8. Repository Visibility * Understanding public, private, and internal repositories * Knowing when a project should or should not be public * Managing access safely 9. Licenses * Understanding why licenses matter * Knowing the difference between common open-source licenses * Choosing the right license for personal, client, or commercial projects 10. Testing and Project Checks * Running basic project checks * Using pytest for starter backend validation * Checking work before commits and pull requests 11. FastAPI Starter App and Local Services * Creating a minimal FastAPI app * Adding a health endpoint * Understanding ports, processes, logs, Docker, Compose, and Postgres as a local service 12. README, Makefile, and Guided Project * Documenting setup clearly * Creating stable project commands * Completing a guided starter-repo project

Curriculum