There is a myth that to be able to write code you must sit in a dark room, face illuminated by cascading green text, while you hammer away at your keyboard writing hieroglyphics. This is not true.
What is the Book?
“Python: An Introduction to Code” is a book that I have written to explain the basic concepts of programming and how to write code using the Python programming language. You don’t need to have ever written code before, or even understand what programming is, to read this book. This book goes through all the basics of programming in Python, such as installing Python, variables, control flow, functions, object orientated programming, data structures and more. There are plenty of small exercises and code snippets throughout this book which will get you reading and writing code. You’ll start at the very basics and by the end you’ll be able to create larger projects with full Graphical User Interfaces (GUIs). There are also bigger activities, such as creating a to-do list application, a simple user login system, and more. These will have full step to step processes and code examples to explain how to create them from scratch.
Theory / Computer Science
At the end of the book I explain some theoretical concepts regarding the Python programming language and computer science in general. This includes the difference between compilers and interpreters, how programming languages are created and executed, data structures, how Python stores, manages, and deletes variables in memory, and more.
I chose to write a book about Python as it is an relatively easy language to pick up and learn for new programmers. There is no big up-front cost to learning it, you don’t need to learn a bunch of stuff before you can write a simple “Hello World” program. You can start programming straight away and then build up your knowledge of programming as you go. I am not a Python programmer primarily, I learned the language so that I could write this book as I knew it was a good starter language for developers. This should show how easy the actual language is easy to pick up (I did have a head start as I have programmed in other languages for around 10 years).
Why I Wrote a Book
I have never written a book before, let alone a technical book. I wanted to write this book for a few reasons. Firstly, being able to say I have written a book that is publicly available seemed like a really cool idea. Secondly, I have been programming for around a decade but there is still a lot that I do not understand, a lot of the behind the scenes of how certain things work. Writing this book gave me a reason (a good excuse) to dive deeper into some of these things. Thirdly, Einstein once said (according to the internet) that “if you can’t explain it simply, you don’t understand it well enough”. I wanted to make sure I understood programming well enough, and to make it even harder I picked a language I had never used before.
This book is available in both paperback/physical and ebook/digital form on Amazon. The digital copy is in full colour (unless reading on a b/w kindle), all the code snippets and pictures will have syntax highlighting/colour. However, the physical (paperback) copy is in black and white. This was done to reduce the cost, as printing in colour on Amazon is prohibitively more expensive, and I wanted to keep it affordable.
This should not have any significant effect on the reading of this book, there are some sections that talk about colour, when drawing graphics using the ‘turtle’ module and creating GUIs (e.g. changing the background and text colours of widgets). However, this is not a major part of the book. Being able to see the colours is not an important factor when learning to write code, and when you write the code yourself you’ll obviously see the colours on your monitor/screen.
Get a Copy Here
I really appreciate anyone who buys a copy of this book (digital or physical) and I really hope it helps.
I would also appreciate any feedback/reviews (good or bad).
P.S. If you do pick up a physical copy then please feel free to send me a photo of your copy on Twitter (@acroynon).