We're going to build a simple video game, based on the classic Asteroids. If you've never played before, you can take a look at this (slightly different from our) version of the game.
Prerequisites
- Python 3.10+ installed (see the bookbot project for help if you don't already have it)
- Access to a unix-like shell (e.g. zsh or bash)
Learning Goals:
- Introduce you to multi-file Python projects
- Show you a real-world use case for object-oriented programming
- To have a ton of fun building a rewarding project!
- The goal is not to teach game development or the math required for physics simulations. As a result, there are some places where you will simply copy-paste code that we wrote for you.
Don't worry about trying to understand every detail if it's not interesting to you, you will be asked to write the parts that matter most.
Welcome to your first project! We are going to build “Book Bot” - a Python program that can analyze an entire book and print out an interesting statistical report. A few of the learning goals are:
- Configure a professional Python development environment on your local computer
- Deploy a Python project on your personal GitHub account
- Learn how to use a professional code editor (VS Code)
- Put your Python and Git skills to the test in a real project
Prerequisites:
- Understand basic Python (Learn Python course)
- Understand how to navigate a CLI (Learn Linux course)
- Understand Git basics and have a GitHub account (Learn Git course)
- Have VS Code or another preferred code editor installed on your computer
- Have the Boot.dev CLI installed and configured on your computer
Ever wondered how static site generators work?
A static site generator takes raw content files (like Markdown and images) and turns them into a static website of HTML and CSS files. Static sites are quite popular for blogs and other content-heavy websites because they're lightning-fast, secure, and easy to host.
A static site is what it sounds like... static. No matter who is interacting with the site, the content is always the same.
Some popular production-ready static site generators include:
- Hugo
- Astro
- Eleventy
- Gatsby
- Jekyll
Learning Goals:
- Static Sites: Learn about what a static site is, and start building the functionality necessary to process and move static HTML and Markdown files.
- Nodes: Build the core HTML generation logic that will power your static site generator. Use recursion and OOP to build an easily understandable and maintainable system.
- Inline: Build the inline markdown parsing logic, and the logic to generate inline HTML elements.
- Blocks: Handle entire blocks of markdown, and generate the HTML nodes that represent them.
- Website: Put the entire static site generator together, and publish your first website.