Link Search Menu Expand Document

Computer Science 142: Object-Oriented Programming

Fall 2024

Administrivia

  • Instructor: Phillip Kirlin
  • Office hours: Mon 1-2:30, Tue 12:30-2, Wed 2-3, Thu 2-3:30. Also available by appointment.
  • Canvas page: Use for grades, online assignment submissions, and assignment solutions.
  • Syllabus and additional policies.
  • Tutoring hours: Sunday through Thursday evenings, 5-10pm, Briggs 001
  • Final Exam Times:

    You may take the final at any of the following dates/times. You do not need to tell me in advance which one you are coming to; just show up. The location for all three times is the Spence Wilson Room in Briggs.

    • Friday, December 13, 1 PM
    • Monday, December 16, 8:30 AM
    • Tuesday, December 17, 1 PM

Resources

Aug 28
Introduction, syllabus, begin Java
SlidesCode
Reading: Liang chapter 2 (basics)
Handouts: Skeleton programJava basicsJava data types and variables
Aug 30
Continue Java: if statements, loops
Code
Reading: Liang chapter 3 (if statements), chapter 5 (loops)
Handouts: while loops
Sep 4
Lab 1
Reading: Liang chapter 5 (loops)
Handouts: for loops
Sep 6
Functions
10am code11am code
Reading: Liang chapter 6 (functions)
Handouts: Functions handout
Project 1 assigned: Project 1, due Sep 16
Sep 9
Functions
10am code11am code
Handouts: Function practice
Sep 11
Lab 2
Sep 13
OOP 1
10am code11am code
Handouts: SimpleCanvasOOP defs
HW 1 assigned: Homework 1, due Sep 20
Sep 16
OOP 2
10am code11am code
Handouts: Color API
Sep 18
Lab 3
Sep 20
OOP “Gotchas”
10am code11am code
Handouts: Reference problems
Project 2 assigned: Project 2, due Oct 1
Sep 23
Creating Classes I
10am code11am code
Learning how to design simple classes.
Reading: Liang chapter 9.1-9.3, 9.5 (creating classes)
Handouts: Creating classes
Sep 25
Lab 4
Sep 27
Creating Classes II
10am code11am code
public and private
Reading: Liang 9.8 (public/private)
Sep 30
Creating Classes III
10am code11am code
Constructors
Reading: Liang 9.4 (constructors)
Oct 2
Lab 5
HW 2 assigned: Homework 2, due Oct 7
Oct 4
OO Design Practices
10am code11am code
Designing a Fraction class
Handouts: Fraction instructions
Oct 7
Review for Midterm I
10am code11am code
Handouts: In-class practiceAfter-class practice
Oct 9
Midterm I
Oct 11
OO Design Practices
10am code11am code
More practice with the Fraction class
Oct 14
ArrayLists, Strings, File Reading
10am code11am code
Project 3 assigned: Project 3, due Oct 28
Oct 16
Lab 6
Oct 18
ArrayLists, Strings, File Reading, Part II
10am code11am code
Handouts: ArrayListsStringsFile readingPractice
Reading: Liang 11.11 (ArrayLists), 4.4 and 10.10 (strings).
Oct 21
Fall break
Oct 23
Lab 7
Oct 25
Recursion I
Slides10am code11am code
Handouts: Recursion handout
Reading: Liang 18.1-18.2 (recursion intro).
Oct 28
Recursion II
10am code11am code
Reading: Liang 18.3 (recursion continued). Pay special attention to Figures 18.2 and 18.3 on page 722; these are important to understand.
Oct 30
Lab 8
Nov 1
Recursion III
Slides10am code11am code
Recursive functions with arrays
Handouts: Recursion with arrays handout
Project 4 assigned: Project 4, due Nov 12
Nov 4
Recursion IV
Slides10am code11am code
Binary search algorithm
Handouts: Binary search
Nov 6
Lab 9
Nov 8
Inheritance I
Slides10am code11am code
Handouts: Inheritance handout
Reading: Liang 11.1-11.2 (inheritance)
HW 3 assigned: Homework 3, due Nov 15
Nov 11
Inheritance II
Nov 13
Lab 10
Project 5 assigned: Project 5, due Nov 23
Nov 15
Polymorphism
Slides10am code11am code
Handouts: Polymorphism
Reading: Liang 11.7-11.9 (polymorphism)
Nov 18
Review for midterm
Nov 20
Midterm II
Nov 22
Abstract classes
10am code11am code
Handouts: Abstract classes
Nov 25
Interfaces
10am code11am code
Handouts: Interfaces
Project 6 assigned: Project 6, due Dec 11
Nov 27
Thanksgiving break
Nov 29
Thanksgiving break
Dec 2
Running time of algorithms
Handouts: Running time
Dec 4
Lab 11
Dec 6
Running time of algorithms
Handouts: Big-O notation and problems
Dec 9
Semester wrapup, review
Handouts: Final practice problems
Dec 11
Project work time