Sarah Mount

After leaving school, I started on a Maths degree in Cambridge. Throughout the first year I became more and more interested in Computer Science. I spent a lot of time with friends studying CompSci and hearing about their lectures convinced me that studying Maths wasn't for me. At the end of the first year I changed courses to Computer Science and haven't looked back since.

After leaving University I wanted to work as an academic. In the UK there are very few jobs in Universities for recent graduates which include both teaching and research, and I really wanted to do both. So, I ended up taking a job as a Tutorial Assistant in Computer Science at Coventry University and started a part-time PhD on coding standards and conventions.

At Coventry I met James who was also a Tutorial Assistant there, and together we worked in Coventry's Programming Support Centre, which was intended to provide extra support to students studying introductory programming. The experience of working in the Support Centre formed a lot of our later ideas on what makes a good programming curriculum and how best to deliver it. Many of the ideas for Python For Rookies came from our experiences of teaching during these three years and the students and staff that we worked with.

From 2003-2005 I worked as a Research Assistant to Professor Bob Newman at Coventry, and continued teaching introductory programming. A few of us at Coventry were just starting to work on Wireless Sensor Networks, which was becoming a hot topic of research. Around this time I started using Python for the majority of my research work, mainly on the SenSor simulator for sensor networks which later forked and become the Dingo project. What was striking about moving to Python from languages such as Java and Standard ML, was the simplicity of the syntax and the power of the available libraries. During these two years James and I both had the same thought that Python would make a much better introductory language than Java. In the Summer of 2005 we began work on a brand new set of lecture notes for Level 1 students, which used Python as the main language for teaching.

In October 2005 James and I both started working as Lecturers in Computer Science in the new Department of Creative Computing at Coventry, and later as Senior Lecturers. Our Department was unusual because it had a remit to teach students who were interested in creative applications of Computer Science, such as games programming and digital media. That meant that many of the text books on introductory programming were unsuitable for our students as were many of the traditional strategies for teaching programming. We began using our own set of notes to teach our first intake of Level 1 students and, happily, those students obtained exceptional results at the end of the year. At the same time, we started working with Russel on Python For Rookies which evolved from our initial set of lecture notes into a more general text on introductory programming.

In October 2007 I moved on from Coventry to the University of Wolverhampton where I work as a Senior Lecturer. I still passionately believe that Python is currently the best choice of introductory language for students studying Computer Science and related disciplines.

My personal website is at

Please email us with your comments about this book.