Skip to content

Previous: 31 - Automated Testing | Table of Contents | Next: 33 - Branching Out


32 - Do Another Project

If you have reached this point, you are almost finished with the course of this book! You should have had many opportunities to code simple projects and see how they work. Your "final exam" for this course is to do another project.

Project Specifications

Like everything else in this book you will get the most out of your experience if you build something that interests you. Whether this project is a game, a small database manager, a website does not matter compared to your interest in this project. There will be appendix chapters following this section covering topics that may help you get started on your project. For this project use the following to create your project:

  • Use classes and object-oriented programming to structure your data.
  • Build automatic tests as you go. Use the principles of test-driven development to make your project as robust and usable as you can.
  • Focus on the user experience. We haven't talked much about this but you should put some thought into how easy it is to use your software. Try to make it as easy to use as possible.
  • Make the project as fully featured as you can. Flesh out every feature you can.
  • Get feedback. This means working with others to try your software and give you criticism. Try to improve your software based on this criticism.

Once you have finished and completely debugged your project according to the above specifications, congratulations! You have finished the main content of this book! The rest of the content of this book is to help you get started in a direction that interests you.

A Final Note

As you have finished learning the "basics" of Python, I want to let you know that you have only scratched the surface of what is possible. I do not say this to discourage you but to let you know that "you've taken your first step into a larger world". The ability to program will allow you to do more with your computer that you thought possible. Such was the case for me.

My hope is that, if you have gotten to this point, at least some of the following things have happened for you:

  • You have ideas about projects you could do later with your newfound skills
  • Computers seem less scary or intimidating for you
  • You have a solid foundation of a skill set you need for professional work
  • You have learned some new problem-solving skills

Looking back, I found these things to be true for me. I was so excited about everything I had learned I wanted to give that to anyone else who was interested. This book is the result of that excitement. I hope you benefited from it.

Now go out there and make something amazing!


Previous: 31 - Automated Testing | Table of Contents | Next: 33 - Branching Out