CMPT 125 Burnaby

Readings & notes




This webpage section includes recommended readings, links and brief notes. Notice that the readings and notes may contain material not discussed in class, and likewise, additional material to what is recommended and posted here will be discussed in the lectures. The information in this page will be updated as the course progresses.

Recommended readings:
Unless otherwise specified, the chapter and section numbers correspond to the course text, by Lewis, DePasquale and Chase, second edition. The readings and brief notes are roughly organized according to when the corresponding topics will be discussed in the lectures; slight changes in schedule may happen, so the coverage of some topics may happen a week earlier or later.

  • Download this for all Lecture Notes seen in class Suggested to bring a printout to lectures.

    Weeks 1 and 2
    • General Background, Introduction.
      • Course Website
      • Chapter 1
      • Chapter 2
    • Introduction to Java
    • Java Basics: Naming conventions, primitive types, expressions, conversions
    Week 3,4
    • Using Classes: String expressions, String methods, API
      • Chapter 3
    • Decision Making and Loops
    Weeks 4,5
    • More on Loops in Java.
    • Methods and Parameters in Java
      • Section 5.4 (skip the Transactions/account example, skip Constructors revisited subsection)
      • See Examples section.

    • QUIZ 1 DURING LAB TIME in week 4
    • Writing your own classes
      • Sections 5.1 to 5.3
      • Sections 5.5 to 5.8
      • See Examples

    Week 6, READING BREAK

    Week 7,8
    • Arrays Basic
      • Sections 7.1 , 7.2
    • Arrays of objects, variable length parameter list for methods, multidimensional arrays
      • Sections 7.3, 7.5, 7.6
      • See Examples section.

    • Object Oriented Design – Inheritance – Subclasses, Overriding Methods
    • Midterm Exam – during class in Week 8

    • Assignment 1: See Assignments section

    Week 9, 10
    • Object Oriented Design – Inheritance – Abstract Classes and Methods
    • Object Oriented Design - Polymorphism, Interfaces
      • Sections 9.1, 9.2, 9.3,
      • Section 9.4 (do not worry about the GUI subsection)
      • See Examples

    • Another data structure: ArrayLists, wrapper classes
      • Works with Objects ONLY, i.e. ArrayList cannot be created with primitive types (int, double etc). Must use wrapper classes (Integer, Double etc) to put such data into ArrayLists.
      • Here is a video tutorial (#1).
      • Here is another video tutorial (#2).
      • Check also the Java API.
      • You will be expected to be able to use ArrayLists and know about some of its methods such as:
        • add (both overloads)
        • clear
        • get
        • indexOf
        • isEmpty
        • remove
        • set
        • size
        • toArray
      • See Examples

    Weeks 11, 12
    • Recursion, different types of recursion
    • QUIZ 2 DURING LAB TIME in week 11
    • Time Complexity, Analysis of Algorithms
      • Chapter 12
      • Additional recommended reading: Sections 5.7 and 5.8 in (Grimaldi 2005), Discrete and Combinatorial Mathematics, 5th edition, by R.P. Grimaldi, Pearson and Addison Wesley. Available in the library.

    • Assignment 2: See Assignments section

    Weeks 13
    • Searching and Sorting
      • Chapter 13



    © Muntaseer Salahuddin. Page maintained by Muntaseer Salahuddin.