Wow, so many Python advocates!
Whichever language you choose, the most important thing to remember is that you should start off small and learn the basics first. Starting with a language like Python that has a small learning curve will help you to cement the basics, without getting bogged down in the more advanced concepts that may put you off - however this doesn't mean that starting off with something more advanced is going to hinder you!
I personally started off with Java (with a bit of C/C++ on the side), and don't feel this has restricted my development in any way...
The course spec that you gave seems like a good start in Object Orientated Programming, and I would also recommend supplementing your learning with some additional reading on the various types of languages that are used, and why each one is useful. You may not understand a lot of the concepts at first, but keep referring back to them and soon enough you will start to get an idea of how and why things are working they way they are.
Above all: Practice, practice, practice - I can't state this enough! Every single line of code you write, every book you read will teach you something new. Every new language you attempt to learn will contribute towards your understanding of programming, and programming design!
The best example to get you going (you will learn to love/hate this) is the "Hello World" program that forms the starting point for all programming languages since the dawn of time - Python example, Java example.