Python Basics - FAQs
Why is this book so easy?
Everyone learns in different ways and at different speeds. If you are finding the book easy, that is great. You should find one of the books at level 2 or level 3 more up your street. Are you trying all the challenges and puzzles at the end of each chapter? We have tried to ensure that it is easy to get through the main projects for everyone, however the end of chapter puzzles, ideas and challenges vary in their difficulty level quite a lot.
Why is this book so hard?
Everyone learns in different ways and at different speeds. If you are finding this book difficult do not give up - no-one becomes an expert programmer in a week! If you are having difficulty getting through the main projects - do not forget that if you get stuck you can get the code from this website. The Code Boxes in the book use the same colour hinting as IDLE so when looking for errors in your code it is often easiest to see where the colour of the text starts to go wrong. For example, lots of green code means you have probably forgotten to close your speech marks somewhere.
Do not worry if you do not understand all the explanations. You are also learning by doing! As you type up code you are meeting examples of tried and tested code solutions that work in all computer languages. The more coding you do, the more what seemed difficult at first becomes clear. Once you have working code, do not forget to experiment with it - another way of learning.
Why does this book not teach Scratch?
Scratch provides a great introduction to programming and is very fast at developing certain kinds of applications. Scratch does have its limits and when you become a faster typist it can become frustrating looking for blocks. Many people who have been introduced to coding with Scratch start to want to take things further, perhaps wondering if they could get a job as a game programmer some day. Python is a great next step into this world as it is easier to learn than programming languages used in industry such as the C family of languages and Java but still provides the foundations that will make learning these and other languages much, much easier!
Why does this book not teach C++ or Java, etc.?
Many youngsters wonder if they could get a job as a game programmer or an App developer and soon become aware that these are often written in C or Java. These can be difficult and frustrating languages to learn if you have not got any experience in coding. Python is a great first step into this world as it is easier to learn and encourages good habits. It is the first language of choice in many Universities. Once you have learned one language, it is much, much easier to learn another. They all have while loops, variables, GUIs, etc. It is just a case of finding how to implement them. Most developers end up having to learn quite a few languages. If this is the case, why start learning one of the more difficult ones? Python is not just a learning language it is used by many organisations such as NASA and is one of only three allowable languages for developing Google Apps.
There are many, many IDEs out there and everyone has their favourite. IDLE comes with all Python installs and looks very similar on all types of computers. It does not have all the "bells and whistles" of some other IDEs but this is why it makes such a good learning environment. You can get straight down to coding and will not get confused about how your development environment is doing things such as storing and managing files.
Why don't you use the PyGame library?
PyGame makes programming games easier and is a fantastic library. However it does not set out to teach good programming principles and uses classes and object-oriented programming which are difficult concepts that are introduced in Coding Club: Python Building Big Apps a level three book. If you are a natural coder, it will not take long to get through Python Basics and you might try skipping straight to this harder book. On the other hand why rush? There is plenty that can be done without PyGame. Even Python Building Big Apps does not use this library and readers build some pretty amazing games.
There is another reason for not using this library. PyGame is not a standard install. To get it to work with Python 3 on some computers is very difficult indeed. At Coding Club, we want everyone to be able to follow along with everything in every book whether they are on a Mac, Windows or even on a Raspberry Pi running off a bunch of AA batteries!