Dark theme

Useful core language links


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

Operator precedences

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

How to be a programmer

 


 

Helpful for developers

Open Source Initiative website

Creative Commons licenses

Stack Overflow

Patterns and Anti-Patterns

Software development processes

Commonly used data formats: HTML, XML, and JSON (see w3schools for tutorials)

Counting in binary and hex

HTML tutorial

XML tutorial

 


 

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...

IBM's UML tutorials

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):

The Waterfall Process

Iterative development

Extreme Programming

Rational Unified Process

Release early, release often (RERO)

Continuous Integration

Scrum

Kanban

Sprints

Pair programming

 


 

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.