Professional Societies

The Association of Computing Machinery

IEEE Computer Society

IEEE Computer Society South African Chapter

IEEE Systems, Man and Cybernetics Society

Building Websites

Software Engineering for Internet Applications

Philip and Alex's Guide to Web Publishing


List of freely available programming books

Design Patterns

Design Patterns Explained Simply


Introduction to Computing

Bruce Eckel

Sculpting Text

Unix for Poets

Some Things I've Learnt About Programming

The Rules of Optimization Club

Code Academy

Code School

Project Euler

Colobot - Robot programming game

Version Control

Pro Git

Git Manual

Git Magic

Gerrit : Git code review tool

Git with visual diff / merge


Eloquent JavaScript

You don't know JavaScript

Principles of Writing Consistent, Idiomatic JavaScript

Code Conventions for the JavaScript Programming Language

Dr. Frisbee's Most Adequate Guide To Functional Programming


The C Book

Assembly Language

Programming from the ground up

The Assembly Language Megaprimer for Linux


Online LISP books

Lisp resources

A collection of Lisp / Scheme books

Teach Yourself Scheme in Fixnum Days

On Lisp

Common Lisp, the language

Practical Common Lisp

How to Design Programs

How to Design Programs, Second Edition

The Structure and Interpretation of Computer Programs

The Structure and Interpretation of Computer Programs (Interactive Version)

The Structure and Interpretation of Computer Programs for the Kindle

The Structure and Interpretation of Computer Programs Lectures

The Structure and Interpretation of Classical Mechanics

Concrete Abstractions: An Introduction to Computer Science Using Scheme

Simply Scheme

'(schemers . org): an improper list of Scheme resources

Beating The Averages

LISP in Web-Based Applications


Computer Science, Logo Style: Volume 1, Symbolic Computing

Computer Science, Logo Style: Volume 2, Advanced Techniques

Computer Science, Logo Style: Volume 3, Beyond Programming


Learn You a Haskell for Great Good!

Introductions to Haskell


Python 3.3 Tutorial

Dive Into Python 3

Python 3 Patterns, Recipes and Idioms

Learn Python The Hard Way

How to Think Like a Computer Scientist - Learning With Python 3

Program Arcade Games and Learn Computer Science

Making Games With Python

Hacking Secret Ciphers with Python: A beginner's guide to cryptography and computer programming with Python


Design by Contract

Just Enough Structured Analysis


ReadySET: Ready-to-use Software Engineering Templates

Requirements Engineering Key Practices

Automating Requirements Management


The Architecture of Open Source Applications

Scalable Web Architecture

Scalable Web Architectures: Common Patterns and Approaches

PHP Optimization

PHP performance best practices

PHP Benchmark

PHP Best Practices


Separating Programming Sheep from Non-Programming Goats

Peopleware (Summary)