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 Java works [Key Ideas][Lecture Powerpoint][Lecture Handout]
  2. Data storage: primitives, objects, arrays [Key Ideas][Lecture Powerpoint][Lecture Handout]
  3. Flow control: loops, array loops, branching [Key Ideas][Lecture Powerpoint][Lecture Handout]
  4. Flow control: methods and access [Key Ideas][Lecture Powerpoint][Lecture Handout]
  5. Using other people's code: inheritance [Key Ideas][Lecture Powerpoint][Lecture Handout]
  6. Using other people's code: packages and exceptions [Key Ideas][Lecture Powerpoint][Lecture Handout]

Using Java:

  1. Core packages: file input / output [Key Ideas][Lecture Powerpoint][Highlighted Powerpoint][Lecture Handout]
  2. Core packages: making windows programs [Key Ideas][Lecture Powerpoint][Lecture Handout]
  3. Core packages: making images and drawing [Key Ideas][Lecture Powerpoint][Lecture Handout]
  4. Core packages: web and internet [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 programming more generally.

  1. Algorithms [Part 1]
  2. Comments [Part 1]
  3. Code elegance and efficiency [Extra 1]
  4. UML [Part 5]
  5. Documentation [Part 6]
  6. The User Experience [Part 8]
  7. Integrated Development Environments [Extra 2]
  8. Patterns [Part 11]
  9. Structuring code [Part 11]
  10. Unit Testing [Part 11]