On this page:
Week 1
Week 2
Week 3
Week 4
Week 5
Week 6
Week 7
Week 8
Week 9
Week 10
Week 11
Week 12
Week 13
Week 14
Week 15
8.10

Syllabus

Week 1

8/28:

 

Lecture 1: Data Definitions in Java
Designing Data: Simple classes, classes with containment

8/30:

 

Lecture 2: Data Definitions: Unions
Designing unions of classes; self-reference

Week 2

9/04:

 

LABOR DAY – UNIVERSITY CLOSED

9/06:

 

Lecture 3: Methods for simple classes
Methods for simple classes and classes with containment

Recitation 1: 6:00--8:00PM
Date: 9/5 Location: Online

Week 3

9/11:

 

Lecture 4: Methods for unions
Methods for unions of classes and classes with self-reference

9/13:

 

Lecture 5: Methods for self-referential lists
Designing methods for complex class hierarchies

Recitation 2 & 3: 6:00--8:00PM
Date: 9/12 Location: ARC (AS 242)

Week 4

9/18:

 

Lecture 6: Accumulator methods
More complicated methods for self-referential data
Lecture 7: Accumulator methods, continued
(continued) Methods with accumulators

9/20:

 

Lecture 8: Practice Design
Recap: designing methods and wish lists for a larger problem

Week 5

9/25:

 

Lecture 9: Abstract classes and inheritance
Abstract classes and inheritance

9/27:

 

Lecture 10: Customizing constructors for correctness and convenience
Customizing constructors for correctness and convenience

Week 6

10/02:

 

Exam 1

Week 7

10/09:

 

FALL BREAK

10/11:

 

CLASS CANCELLED

Week 8

10/16:

 

Lecture 13: Abstracting over behavior
Overview of world programming; Function objects
Lecture 14: Abstractions over more than one argument
More function objects

Week 9

10/23:

 

Exam Post-mortem

10/25:

 

Lecture 16: Visitors
Visitors

Recitation 6: 6:00--8:00PM
Date: 10/26 Location: ARC (AS 242)

Week 10

10/30:

 

Lecture 17: Mutation
Creating cyclic data, mutation

11/01:

 

Lecture 18: Mutation inside structures
Testing mutation methods, indirect cycles

Week 11

11/06:

 

Lecture 19: Mutation, aliasing and testing
Aliasing and equality, revisited

11/08:

 

Lecture 20: Mutable data structures
Removing items from lists, mutable lists

Recitation 7, Exam Review: 6:00--8:00PM
Date: 11/7 Location: ARC (AS 242)

Week 12

11/13:

 

Exam 2

11/15:

 

Lecture 21: ArrayLists
Direct-access data structures: ArrayList; swapping two items, mapping over ArrayLists, for-each loops

Recitation 9: 6:00--8:00PM
Date: 11/16 Location: ARC (AS 242)

Week 13

11/20:

 

Lecture 22: ArrayLists
ArrayLists and binary search; for-each loops; working with indices

11/22:

 

NO CLASSES

Week 14

11/27:

 

Lecture 23: For-each loops and Counted-for loops
For-each loops and counted-for loops

11/29:

 

Lecture 24: While loops
While-loops

Week 15

12/04:

 

Lecture 25: Iterator and Iterable
Iterators and Iterables

12/06:

 

Lecture 26: Hashing and Equality
HashMap, equals