This site applies only to CMPT 120 D1 (Burnaby) in Summer 2011. See the other instructors' pages for other sections.
These are not “required readings,” but they will help you get a better perspective on the topics covered in each Unit. If you have any suggestions for additions, email Greg.
You might also want to see the Examples page, which contains the examples from the course guide.
Computing Science Basics
- Algorithms in the Wikipedia
- Dictionary of Algorithms and Data Structures. Most of this is too advanced for you to worry about now, but the point is that there are a lot of these things out there.
- Computer science in the wikipedia
- The Python programming language
Programming Basics
- How to Think Like a Computer Scientist: Learning with Python (SFU mirror of How to Think Like a Computer Scientist: Learning with Python)
- Learn Python The Hard Way
- Download Python: it would be tricky to run your programs without it.
- Computer Programming for Everybody, one of the design ideas of Python is that anybody should be able to write programs.
- Python Documentation
(SFU mirror of Python Documentation)
- Tutorial (SFU mirror of Tutorial), maybe "tutorial" is a bit of an overstatement (it would be a good tutorial if you already knew how to program in another language).
- Built-in Objects (SFU mirror of Built-in Objects), the functions and objects that are available in Python without loading any modules.
- Module Index (SFU mirror of Module Index), a big list of all of Python's built-in modules and what they contain.
- Python for Non-Programmers, a collection of links to materials for people wanting to learn Python as a first language.
- IDLE Toying, a tour of the IDLE environment under Windows.
- Learning to Program, another beginner's guide to Python.
- Khan Academy: Binary Numbers
- Khan Academy: Binary, Decimal and Hexadecimal Number Systems (You can safely ignore the hexadecimal for this course.)
- [Binary] Marble adding machine
- ASCII chart
- The ISO 8859-1 character set
- Unicode code charts
Control Structures
- Python Tutorial (SFU mirror of Tutorial), which contains information on functions, loops, lists and exceptions
- Python Style Guide
- Online Python Tutor, which you can use to single-step through Python code
Functions and Decomposition
- Python Module Index (SFU mirror of Module Index), a big list of all of Python's built-in modules and what they contain.
General Interest
- Teach Yourself Programming in Ten Years, or “why a semester doesn't teach you everything.”
- Open Directory list of programming languages, a list of programming languages—as you can see, there are a lot of them.
- The Python Challenge, a web-based challenge to your Python skills