Dark theme

Recommended texts


There is no particular text you need, however, the following texts are recommended if you feel you need more information. There are also some more advanced texts listed on specific subjects that might be of interest. Some of these books are available free online (at varying degrees of legitimacy) if you search; it's also always worth checking the publisher's websites for free sample chapters before deciding to buy.


General texts:

This little book is a really nice intro to the core aspects of programming centred on Python. It covers the basics concisely and clearly. It isn't especially 'pythonic', and it covers the basic basics, but it does it well.
Learn Python in One Day and Learn It Well, Jamie Chan (2017), CreateSpace; ISBN: 978-1546488330 (~£9)
A good book on basic Python and its power...
Automate the Boring Stuff with Python: Practical Programming for Total Beginners, Al Sweigart (2015), No Starch Press; ISBN: 978-1593275990 (~£30)
Includes a lot on how to get Python working with Windows software etc.

 


 

Top recommendations for after the course:

This is a great book on the pythonic style...
Fluent Python, Luciano Ramalho(2015), O'Reilly; ISBN: 978-1491946008 (~£30)
Although not a beginners' book by any stretch of the imagination, if you're feeling like you can cope with the basics and want stretching, this will take you to the next level.
A great cookbook for achieving specific coding objectives...
Python Cookbook, David Beazley and Brian K. Jones (2013), O'Reilly Media; ISBN: 978-1449340377 (~£30)
The O'Reilly cookbooks are always great, and this is no exception: short code examples for a wide variety of tasks. According to the Python site, this is a subset of ActiveState.

 


 

Improving your coding:

For Python with an Object Oriented Programming perspective, see...
Python 3 Object-oriented Programming, Dusty Phillips (2015), Packt Publishing; ISBN: 978-1784398781 (~£30)
The best guide to programming diagrams (UML) is...
UML Distilled, Martin Fowler and Kendall Scott (2003), Addison Wesley; ISBN: 0321193687 (~£24)
Although not specifically a Python book, this also contains a lot of good advice about object orientated programming.
But, that said, a very easy read, clearly described, is...
Head First Design Patterns, Eric Freeman, Elisabeth Freeman, Bert Bates and Kathy Sierra (2004), O'Reilly; ISBN-10: 0596007124 (~£25)
The examples are in Java, but you should be able to get the idea.
A good book improving code by understanding the fundamentals of how computers work is:
Write Great Code I: Understanding the Machine, Randall Hyde (2004); ISBN-13: 978-1593270032 (~£20)
(There are two other books in the series: II: Thinking Low-Level, Writing High-Level and a third volume which seems to be in suspension; the former is very advanced).

 


 

Text and Language:

A good book on web scraping is...
Web Scraping with Python, Ryan Mitchell (2017), O'Reilly Media; ISBN: 978-1491985571 (~£30)

 


 

Python and Data Processing:

A good book core data analysis libraries...
Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, Wes McKinney (2012), O'Reilly Media; ISBN: 978-1449319793 (~£20)
The future for Big Data processing...
Python Machine Learning, Sebastian Raschka (2015), Packt Publishing; ISBN: 978-1783555130 (~£30)
For geographical data, there's...
Geoprocessing with Python, Chris Garrard (2016), Manning; ISBN: 978-1617292149 (~£20)

 


 

Parallelisation:

For distributed computing this is a good introduction...
Distributed Computing with Python, Francesco Pierfederici(2017), Packt; ISBN: 978-1785889691 (~£25)

 


 

Modelling and AI:

A good intro to lots of AI issues and ideas is...
The Computational Beauty of Nature (website), Gary William Flake (2000), MIT Press; ISBN: 0262561271 (~£20 new)
Good agent-based systems book...
An Introduction to MultiAgent Systems, Michael Wooldridge (2009), Wiley (2nd Edition); ISBN: 978-0470519462 (~£35 new)
Good AI / heuristics book...
Artificial Intelligence: A Modern Approach (website), Stuart Russell and Peter Norvig (2010), Prentice Hall (3rd Edition); ISBN: 978-0132071482 (~£105(!) new - you can find it ~30 if you look)
Book by two of the top NetLogo ABM modellers...
Agent-Based and Individual-Based Modeling: A Practical Introduction, Steven Railsback and Volker Grimm (2011), Princeton University Press; ISBN: 978-0691136745 (~£30 new)
Well regarded book on NetLogo...
An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems with NETLogo, Uri Wilensky and William Rand (2015), MIT Press; ISBN: 978-0262731898 (~£35 new)
Interesting, if retro, book on city modelling using SimCity...
SimCity Planning Commission Handbook, Johnny Wilson (1990), Osborne/McGraw-Hill; ISBN: 978-0078816604 (~£5 new)

 


 

Maths and modelling:

The classic texts for scientific computing are the Numerical Recipes books (homepage and online versions). There isn't one specifically for Java, but the C++ book should make sense: Numerical Recipes: The Art of Scientific Computing William Press and others (2007), Third Edition, Cambridge University Press; ISBN: 978-0521880688 (~£50).
The other standard text covering scientific computing and broader computing algorithms is..
The Art of Computer Programming, Donald E. Knuth (2011), Addison Wesley; ISBN: 978-0321751041 (~£170)
A good book for those concerned with the details of floating-point accuracy and computer arithmetic etc. is...
Hacker's Delight, Henry S. Warren (2012), Second Edition, Addison Wesley; ISBN: 978-0321842688 (~£30)

 


 

Operating systems and other software:

A good general starting point on Linux...
Linux: The Complete Reference, Richard Petersen (2008), McGraw-Hill Osborne; ISBN: 978-0071492478 (~£35)
Includes LAN and security setup...
Linux All-in-One For Dummies, Emmett Dulaney (2010), Wiley; ISBN: 978-0470770191 (~£30)

 


 

Humans and Computers:

The classic text on User Interface Design...
Designing the User Interface: Strategies for Effective Human-Computer Interaction, Ben Shneiderman and Catherine Plaisant (2009); ISBN: 978-0321601483 (~£30 new)
Recent computer ethics...
The Cambridge Handbook of Information and Computer Ethics, Luciano Floridi and others (2010), Cambridge University Press; ISBN: 978-0521717724 (~£15 new)

 


 

Visualisation:

The classic books on charts and graphs are...
The 'Visual' books by Edward R. Tufte (~£30)