Useful core language links
Main sites:
Main libraries' documentation:
Here are some other resources on Python that we've drawn together from the course materials and elsewhere.
Core language elements
Introduction to binary counting
Full list of primitive data types
Code Conventions for the Python Programming Language
Reading documentation comments
Writing documentation comments
Here's a quick link to the API Docs
Helpful for developers
Open Source Initiative website
Software development processes
Commonly used data formats: HTML, XML, and JSON
(see w3schools for tutorials)
UML
The best introductions are these articles by Stephen Palmer:
A Picture Can Save a Thousand Words: UML Class Diagrams and Java
More Symbols, More Diagrams, More UML: Beyond Class and Interaction Diagrams
Getting Dynamic: Java and UML Interaction Diagrams
Just Typical: UML Stereotypes and Class Archetypes
You might also like to check out...
Rational Software's UML resource page
The best book on 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.
Good UML software includes:
Dia: Basic looking, but good for a wide variety of diagrams.
Violet: Simple but good UML editor.
Argo: Complex but highly featured editor.
Software development process
There's lots of ways of structuring your approach to writing software. You can find out more about specific processes/process elements at the following links (full list):
Release early, release often (RERO)
The user experience
Classic paper on how users learn and use software:
Carroll, J. M., & Rosson, M. B. (1987).
The paradox of the active user (pdf). In J.M. Carroll (Ed.), Interfacing Thought: Cognitive Aspects of Human-Computer Interaction. Cambridge, Mass: MIT Press (pp. 80-111).
Example paper on designing for mouse-driven GUIs:
Berkun, S. (2000) Fitts's UI Law Applied to the Web Microsoft Research.
IBM Design : Site with details of good design policy and testing usability User design consultation processes at IBM.
Groups dealing with Human-Computer Interaction research at Microsoft can be found on their research groups page. See also these publications.
Apple's OS X Human Interface Guidelines and iOS Human Interface Guidelines.
Google's Android design advice.
Smashing Magazine: Web and App design.
Ask Tog: User interface design site.
Ignore the Code: Lukas Mathis' interaction design blog.
Human-Computer Interaction Resources.