Introduction to Computer Programming
Building Apps and Games with Python
Introduction
When I was a kid, I remember thinking that the software and games I used were made by other people, and I figured it must be possible for me to make my own too. I borrowed a book from the library that taught me how to use the Python programming language, and by the end of it, I had built my own game.
From that point on, I couldn’t stop dreaming up programs and games to make. It was like having the power to create anything I wanted… well, as long as it existed inside a computer! It just took time, logic, and a lot of trial and error.
My goal with this book is to introduce you to this same wonderful world of programming.
Why This Book Exists
While there are many books and courses out there, I noticed a lack of quality material designed specifically for independent learners and homeschoolers.
This curriculum was built to address some of the common problems I have seen in other programming books and courses:
- Real Software Development: Many beginner courses use heavily locked-down “drag-and-drop” blocks. They teach a very limited idea of coding. In this book, you will type real code, build real applications, and use the exact same logic structures and software tools that software engineers use every day.
- Accessible and High-Quality: This curriculum is completely free and open to anyone who wants to learn. Use it online, download it, print it, or buy a physical copy.
- Built-In Support: Learning on your own can be tough, and software can be tricky. This course is designed with resources, updates, and online support when you get stuck.
Our Tool of Choice: Python
In this book we will be using a programming language called Python. Python is a free, open-source programming language that is widely used in the software industry.
It is a great programming language for beginners because it is easy to read and understand, but it is also a powerful language that can be used to build complex software. It is not a “toy” language that you will outgrow after a few months.
Here are a few of the many areas where Python is used in the real world:
- Artificial Intelligence: Tools like ChatGPT rely heavily on Python to process data and “learn.”
- Space Exploration: NASA uses Python to analyze data from deep space telescopes and calculate orbital trajectories.
- Web & Entertainment: Companies like Netflix, Spotify, and Instagram use Python to manage data and power their algorithms.
- Software Tools: Google has used Python since its very early days to build and automate massive parts of their search engine.
By learning Python, you are mastering a tool that is highly respected, widely used, and capable of building industry-grade software.
What to Expect
Here is how we are going to approach our journey:
- Learning Through Action: You are going to learn programming concepts by putting them straight into action. We will see how concepts work through simple games and apps that you can extend and modify as you learn.
- Mechanics Over Graphics: The games you’ll create in this book will seem simple compared to modern games built by huge studios with millions of dollars to spend. Those games are made by massive teams using complex graphical engines. We are stripping all of that away so you can focus entirely on the raw mechanics of coding. You will find that games don’t need fancy graphics to be incredibly fun to build and modify!
- Patience and Practice: Programming is basically just giving very specific instructions to a computer. Computers are extremely powerful, but they need you to tell them exactly what to do.
Once you learn the basics of coding, there is no limit to what you can build.
Let’s get started.