Dark theme

Overview and Key Concepts


Core course materials:

The first half of the course will take you through the core language. The second half looks at using this, along with code supplied by other people, to get specific jobs done.

The core language:

  1. Introduction: how Python works [Key Ideas][Lecture Powerpoint][Lecture Handout]
  2. Data storage, built in functions, basic I/O [Key Ideas][Lecture Powerpoint][Lecture Handout]
  3. Control flow: loops, branching [Key Ideas][Lecture Powerpoint][Lecture Handout]
  4. Control flow: methods and functions [Key Ideas][Lecture Powerpoint][Lecture Handout]
  5. Using other people's code: Objects [Key Ideas][Lecture Powerpoint][Lecture Handout]
  6. Using other people's code: libraries and exceptions [Key Ideas][Lecture Powerpoint][Lecture Handout]

Using Python:

  1. Core libraries: file input / output [Key Ideas][Lecture Powerpoint][Highlighted Powerpoint][Lecture Handout]
  2. Core libraries: web [Key Ideas][Lecture Powerpoint][Lecture Handout]
  3. Core libraries: making applications [Key Ideas][Lecture Powerpoint][Lecture Handout]
  4. Core libraries: image processing [Key Ideas][Lecture Powerpoint][Lecture Handout]
  5. Coding for real [Key Ideas][Lecture Powerpoint][Lecture Handout]

In addition, we cover a number of ideas core to real world programming more generally.

  1. Open Source Code [Part 1]
  2. GitHub [Part 1]
  3. Integrated Development Environments [Part 1]
  4. Static vs dynamically typed languages [Part 2]
  5. Flow diagrams [Part 3]
  6. Functional programming [Part 4]
  7. UML [Part 5]
  8. The software process & community development [Part 6]
  9. Documentation [Part 6]
  10. Operating systems [Part 7]
  11. Web and internet communication [Part 8]
  12. XML [Part 8]
  13. Usability testing [Part 9]
  14. Patterns [Part 11]
  15. Unit Testing [Part 11]

We also cover some key ideas in computational thinking.

  1. Algorithms [Part 1]
  2. Efficiency [Part 2]
  3. Loops [Part 3]
  4. Pass by reference [Part 4]
  5. Cohesion and coupling [Part 5]
  6. Designing documentation [Part 6]
  7. Recursion [Part 7]
  8. Information architecture / Web navigation [Part 8]
  9. The User Experience [Part 9]

Finally, there are a set of debugging practices.

  1. Missing files; files saved .txt [Part 1]
  2. Missing variables; misspelling [Part 1]
  3. Loop iterators / updating while looping [Part 3]
  4. Pass by reference [Part 4]
  5. Object equivalence [Part 5]
  6. File PATH [Part 6]