Schedule

  • Readings are avaliable from the Readings page. Lecture Notes are available from this page (attached to the bottom). Readings are on a separate page to faciliate comments on the Readings. We can revisit this separation if its too awkward. See the Readings page for more details. 
 
The dates of the upcoming labs and lectures for the week are highlighted in green.
 
 Week
Dates    
 Topics and Materials
 Comments

 1

 Mon & Tue Jan 4/5, 2010

Lab 0 Consult lab for pre-lab readings or exercises.
 1
Tue Jan 5, 2010 
Topics: Course Format and Control-flow Models
Readings (available from Readings page):
  • ubc-cpsc-210-preamble.pdf (All of reading)
  • ubc-cpsc-210-control-data-models.pdf (pages 1 through 4)
Lecture Materials:
  • (Notes - at bottom of page) ubc-cpsc-210-IntroLecture-1.pdf
Readings are to be completed prior to class.    
 1  Thur Jan 7, 2010
Topic: Control and Data Models
Readings:
  • ubc-cpsc-210-control-data-models.pdf (pages 5-9)
Lecture Materials:
  • Code to load (we will talk about how to load it in class):
    svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/instructor/lectureCandDModels-TeamMaker1
 
 2 Mon & Tue Jan 11/12, 2010  Lab 1 Consult lab for pre-lab readings or exercises

 2    

 Tue Jan 12, 2010

Topic: Control and Data Models and Data Abstraction
Readings:
  • ubc-cpsc-210-control-data-models.pdf (pages 10-12)
  • ubc-cpsc-210-data-abstraction.pdf (pages 1-10)
Lecture Materials:
  • We will use the TeamMaker code you loaded in lecture on Thursday January 7.
 

 2

 Thu Jan 14, 2010

 Topic: Data Abstraction
Readings:
  • ubc-cpsc-210-data-abstraction.pdf (pages 11-19)
Lecture Materials:
  • We will use the TeamMaker code you loaded in lecture on Thursday January 7.
 
 3  Mon and Tue, Jan 18/19, 2010
Lab 2

Consult lab for pre-lab readings and exercises

 3 Tue Jan 19, 2010 Topic: Type Hierarchies, Polymorphism and Dispatching
Readings:
  • ubc-cpsc-210-type-poly-dispatch.pdf (pages 1-15)
Lecture Materials:
  • Code used:
    svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lecturePolyTypeDispatch
 
 3  Thu Jan 21, 2010
Topic: Type Hierarchies, Polymorphism and Dispatching

This lecture will mostly be a lecture/lab where you will work through some given problems on a bigger code base than we've looked at thus far with a partner. We'll then discuss what you've found as a group.


We will briefly cover overloading at the beginning of the class.

If possible, bring a laptop with one or both of the systems listed below loaded into Eclipse.

Lecture Materials
  • Questions we will work on in class are posted at bottom of the page (UBC-CPSC-210-PolyTypeDispatch-LectureLab.pdf).

  • Code to load:
    • Moderately hard code base:

      svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureJDrawing
      :

      Load the JDrawing folder

    • Harder code base:

      svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureJHotDraw


      Load the JHotDraw folder (Note this is about 15MB)
 
4
Mon/Tue Jan 25/26, 2010
 Lab 3
Consult lab for pre-readings and exercises.
 4  Tue Jan 26, 2010
Topic: Designing Robust Classes
Readings:
  • ubc-cpsc-210-robust-classes.pdf (All - pages 1-15)
Lecture Materials:
  • Please load:

    svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureDesigningRobustClasses

    Check out the Lecture-DesigningRobustClasses folder in the repository location.

    Note: This code will not yet compile. There may be more code to load before class from another project.
Please do the reading prior to class. We will start with some questions about the concepts for any clarifications needed. Most of the class time will be working through examples of the concepts.
 4  Thu Jan 28, 2010
Topic: Iteration Abstraction
Readings:
  • ubc-cpsc-210-iteration-abstraction.pdf (All - pages 1-8)
Lecture Materials:
  • ubc-cpsc-210-Iteration-Abstraction.pdf (see below)
  • Please load:

    svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureIterationAbstraction

    Check out the Lecture-IterationAbstraction folder below the repository location.

    Note: This code will not yet compile, but we will make it so in class!
This is the last day of material for the first midterm.
 5 Tue Feb 2, 2010 
Review session. Come with your questions about the posted exercises.

Study Guide!: ubc-cpsc-210-midterm1-study-guide-2010-01-28.pdf
(see below)
Please note I am off-campus on Wed before the mid-term! I am available for meetings Monday, Tuesday or Thursday.

5


Thu Feb 4, 2010

Mid-term in class in 014 (the location of your lab!). Bring your computer.

Repository Location:

svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureMidTermOne-2009W2
 
 6  Mon/Tue Feb 8/9, 2010  Lab 4
 Consult lab for pre-readings and exercises.
 6 Tue  Feb 9, 2010
Topic: Object-Oriented Design I and Mid-term Review
Readings:
  • ubc-cpsc-210-object-oriented-designI.pdf (What is Software Design and Responsibility-Driven Design sections)
Lecture Materials:
  • ubc-cpsc-210-object-oriented-designI-slides.pdf (see below).
 
 6  Thu Feb 11, 2010
Topic: Object-Oriented Design I
Readings:
  • ubc-cpsc-210-object-oriented-designI.pdf (UML Class Diagram section)
Lecture Materials:
  • None
 Olympic torch comes to UBC!
   Olympic Break
 Two-week break
 
7  Mon/Tue Mar 1/2, 2010
Lab 5
 Consult lab for pre-readings and exercises.
7  Tue Mar 2, 2010
Topic: Implementing an Object-oriented Design:
          Representing Object Relationships in Code
Readings:
  • ubc-cpsc-210-implementing-AnOODesign.pdf (pp. 1-9, but not Connections between Objects section)
Lecture Materials:
  • Source code:
    svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureImplementingAnOODesign

    (Expand "work" and check out Lecture-ImplementingAnOODesign
  • Slides:
    UBC-CPSC-210-Collections.pdf (see below)
    UBC-CPSC-210-ImplementingAnOODesign-Problems.pdf (see below)
 
7  Thu Mar 4, 2010
Topic: Implementing an Object-Oriented Design:
          Representing Object Relationships in Code   
Readings:
  • ubc-cpsc-210-implementing-AnOODesign.pdf (pp. 9-17)
Lecture Materials:
  • Source code:
    svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureImplementingAnOODesign2

    Check out Lecture-ImplementingAnOODesign2 (not the work one)
 
8 Mon/Tue Mar 9/10, 2010
Lab 6: Project (no pre-lab)
 
8
 Tue Mar 9, 2010
Topic: User Interface Fundamentals
Readings:
  • ubc-cpsc-210-GUI (pp. 1-3, upto Models section)
Lecture Materials:
  • Source code:
    svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureGUI

    Check out lectureGUI (not the work one)
 
8
 Thu Mar 11, 2010
Topic: User Interface Fundamentals
Readings:
  • ubc-cpsc-210-GUI (pp. 3-5)
Lecture Materials:
  • Source code:
    svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureGUI2

    Check out lectureGUI2_work/lectureGUI2 (keeping you on your toes moving these around :) )
  • Problem description we will work on for part of class is below named ubc-cpsc-210-GUI-problem.pdf
 
9
Mon/Tue Mar 15/16, 2010
 Lab 7: Project
Project milestone is due
9
 Tue Mar 16, 2010
Review session. Come with your questions about the posted exercises.

In class we'll go over #2 (but not the additional requirements) from QuestionSet_06, #1 and #2 from QuestionSet_07 and the GUI questions in QuestionSet_08.

Study Guide!: ubc-cpsc-210-midterm2-study-guide-2010-03-05.pdf
(see below)
Gail away. Meghan will do review.
9
 Thu Mar 18, 2010
Mid-term #2: Location 014
 New date! Gail away. Meghan will administer exam.
10 Mon/Tue Mar 22/23, 2010
Lab #8: Project
Project milestone is due
10
 Tue Mar 23, 2010
Topic: Object-Oriented Design II:
Evaluating designs and improving flexibility. This will be a lecture/lab where we will work on an object-oriented design and implementation that will then be improved upon in the following lectures.

Readings:
  • ubc-cpsc-210-object-oriented-design2.pdf (all of reading and Composite pattern page)
 
10
 Thu Mar 24, 2010
Topic: Object-Oriented Design II
Composite and Decorator design patterns.

Readings:
  • ubc-cpsc-210-object-oriented-design2.pdf (Decorator and Factory Method pattern pages)
Lecture Materials:
  • svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lecturePhotoAlbum
  • Photo Album Design: photo-library-design (see below)
  • svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureGUI2 (check out Lecture-GUI2-complete)
  • For the working version of the graphical drawing editor with Composite, check out:

    svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureCompositeDP (Lecture-CompositeDP folder)
 
11 Mon/Tue Mar 29/30, 2010
 Lab 9: Project
Project milestone is due
11  Tue Mar 30, 2010
Topic: Object-oriented Design II

Readings:
  • ubc-cpsc-210-object-oriented-design2.pdf (Decorator)
Lecture Materials:
  • You can access the Decorator example implemented in the graphical editor at:

    svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureDecoratorDP (check out Lecture-DecoratorDP *under* lectureDecoratorDP_work)
  • The steps from lecture-lab today are posted below as
    ubc-cpsc-210-DecoratorDesignPattern.pdf
 
11  Thu Apr 1, 2010
Topic: Object-oriented Design II

Readings:
  • ubc-cpsc-210-object-oriented-design2.pdf (Factory Method)
Lecture Materials:
  • svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lecturePizza (check out Lecture-FactoryDP)

  • Open-Closed Principle: classes should be open for extension but closed for modification.

  • Dependency Inversion Principle: depend upon abstractions. Do not depend upon concrete classes.
 
12 Mon/Tue Apr 5/6, 2010
 No lab as Monday is Easter Monday Holiday. Stay tuned about special TA hours for help with project.
Monday April 5 is Easter Monday Holiday. No lab on Monday or Tuesday.
12
 Tue Apr 6, 2010
Topic: Linked Data Structure Implementation

Readings:
  • p. 175-194 in handout about Singly Linked Data Structure (handouts will be given out in class on April 1 - no, not a joke!)

Lecture Materials:
  • svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureLinkedList (Check out Lecture-LinkedList)
 
12  Thu Apr 8, 2010
Class time is available to work on projects. We'll have the phones available in DMP 201 where we usually meet. If you don't need the time with the phones or time on the project, feel free not to drop by.
 
13  Mon/Tue Apr 12/13, 2010
Lab: Project Demos!
 Entire project must be completed before your lab.
13  Tue Apr 13, 2010
Topic: Trees - constructing binary trees, binary search trees and n-ary trees. find and removal from binary trees.

Readings:
  • p. 497-537 in handout about Trees
Lecture Materials:
  • svn+ssh://westham.ugrad.cs.ubc.ca/home/c/cs210/repositories/lectures/lectureBinaryTree (Check out Lecture-BinaryTree
 
13  Thu Apr 15, 2010
Topic: TA Evaluations + Traversing Trees. Please fill out on-line instructor evaluation.

Readings:
  • None
Lecture Materials:
  • Please update the Lecture-BinaryTree code from last class.
 
       
              Mon, Apr 19, 2010
Office Hour (Gail): 1-2pm and 3:30-5 (ICICS 305)
 
  Fri, Apr 23, 2010
Office Hour (Gail): 3-5pm (ICICS 305)
 
  Mon, Apr 26, 2010
Office Hour (Gail): 11am-1pm and 2:30-5pm (ICICS 305)
Please email if none of these office hours work for you and we can set up a time.
 

 Tue Apr 27, 2010


3:30pm Final Exam. Location ICICS 014.
A final study guide is available (ubc-cpsc-210-final-study-guide-2010-04-15.pdf). Also consult the mid-term study guides!

Č
Ċ
ď
Gail Murphy,
Mar 2, 2010 5:03 PM
Ċ
ď
Gail Murphy,
Mar 11, 2010 1:00 AM
Ċ
ď
Gail Murphy,
Mar 2, 2010 5:03 PM
Ċ
ď
Gail Murphy,
Jan 26, 2010 2:59 PM
Ċ
ď
Gail Murphy,
Feb 8, 2010 10:54 PM
Ċ
ď
Gail Murphy,
Jan 19, 2010 10:52 PM
Ċ
ď
Gail Murphy,
Mar 25, 2010 2:10 PM
Ċ
ď
Gail Murphy,
Mar 30, 2010 5:08 PM
Ċ
ď
Gail Murphy,
Dec 30, 2009 3:21 PM
Ċ
ď
Gail Murphy,
Apr 15, 2010 3:03 PM
Ċ
ď
Gail Murphy,
Jan 28, 2010 10:50 PM
Ċ
ď
Gail Murphy,
Mar 9, 2010 2:20 PM