Detailed schedule and class resources

Class 42

Sources for today: PairSum.zip

Activities for today: activity42.docx.

Recording of this class: class 42.

Class 41

Sources for today: Friends.java, FriendsIterator.java, FriendsIteratorUnfinished.java, FriendsNested.java.

Some additional optional source code and data for understanding iterators in more detail: optional.zip.

Activities for today: activity41.docx.

List traversal demonstration: traversal.pptx.

Recording of this class: class41.

Class 40

Sources and activities for today: same as for class 39.

Recordings of this class: class 39.

Class 39

Sources for today: LinkedList132.java, LinkedList132Unfinished.java, LinkedNode.java, ListADT.java, SuperHero.java.

Object diagram for linked list: linked-list-object-diagram.pptx.

Activities for today: activity39.docx.

Recordings of this class: segment 1 (sorry, audio was accidentally muted on this segment, but the instructions on the screen are clear), segment 2.

Class 38

Sources for today: ArrayList.java.

Activities for today: activity38.docx.

Notes on List ADT: list-ADT.png.

Recordings of this class: segment 1, segment 2.

Class 37

Sources for today: class37-src.zip.

Activities for today: activity37.docx.

Recordings of this class: segment 1, segment 2, segment 3.

Class 36

Sources for today: ArrayTools.java, ArrayListTools.java, CollectionSortingSearching.java, Search.java, SearchUnfinished.java.

Activities for today: activity36.docx.

Recordings of this class: class36.

Class 35

Sources for today: ArrayTools.java, RunningTimePractise.java, MergeSort.java, MergeSortUnfinished.java, MergeSortExperiment.java.

Activities for today: activity35.pptx.

Recordings of this class: class35.

Class 34

Sources for today: ArrayTools.java, SelectionSort.java, SelectionSortUnfinished.java. SelectionSortExperiment.java.

Activities for today: activity34.docx.

Instructions for running time experiment: timing-experiment.pptx.

See also Chapter 10 of What Can Be Computed?, available on Moodle.

Webpage with good visualizations of different sorting algorithms, and a more detailed visualization of selection sort.

Recordings of this class: segment 1, segment 2.

Class 33

There is no class 33. The material in this class meeting (covering design patterns) was moved to earlier in the semester as class 26b.

Class 32

Midterm exam 2. Links for downloading and submitting the exam are available on Moodle.

Class 31

Exam review.

Whiteboard with exam review notes: exam-review.png.

Recording of this class: class31

Class 30

Sources for today: QuadraticEquation.java

Activities for today: activity30.docx.

Recordings of this class: segment 1, segment 2, segment 3.

Class 29

Sources for today: TowersOfHanoiIncomplete.java, TowersOfHanoi.java, EfficientCountZs.java, PermutationGenerator.java.

Activities for today: activity29.docx.

Slides for playing around with Towers of Hanoi: towers-of-hanoi.pptx.

Recordings of this class: segment 1, segment 2.

Class 28

Warmup for today: warmup28.docx.

Whiteboard notes from the warmup: warmup28-notes.png.

Sources for today: Recurse2Incomplete.java, Recurse2.java

Recordings of this class: segment 1, segment 2, segment 3.

Class 27

First example of recursion (same as in study guide): recursive-example.pptx

Sources for today: Recurse.java, FibonacciNumbers.java.

Activities for today: activity27.docx.

Recordings of this class: segment 1, segment 2, segment 3.

Class 26b

Sources for today: design-patterns.zip

Activities for today: activity26b.docx.

Recording of this class: class26b.

Class 26

Sources for today: SayHiFromFile.java, myName.txt (you may need to right-click and "save as..."), Coffee.java, CoffeeException.java, CoffeeTest.java.

Activities for today: activity26.docx

Recordings of this class: segment 1, segment 2, segment 3.

Class 25

Sources for today: FirstExceptionExample.java.

Activities for today: activity25.docx

Recordings of this class: segment 1, segment 2, segment 3.

Class 24

Sources for today: TextMessage.java, MultimediaMessage.java, TextMessageList.java, Bird.java, Penguin.java.

Activities for today: activity24.docx

Recordings of this class: segment 1, segment 2.

Class 23

Review of dynamic dispatch: dynamic-dispatch-review.pptx, annotated version

Sources for today: A.java, B.java, C.java, TextMessage.java, MultimediaMessage.java, TextMessageList.java, ExtendingObject.java.

Activities for today: activity23.docx

Recordings of this class: segment 1, segment 2, segment 3.

Class 22

Sources for today: TextMessage.java, MultimediaMessage.java, InheritanceExamples.java, Employee.java, Teacher.java,

Activities for today: activity22.docx

Object diagram showing dynamic dispatch: dynamic-dispatch-object-diag.pptx

Recording of this class: class22.

Class 21

Sources for today: TextMessage.java, MultimediaMessage.java.

Activities for today: activity21.docx

Class diagram showing inheritance: inheritance-class-diagram.pptx

Recordings of this class: segment 1, segment 2.

Class 20

Sources for today: WinningMovie.java, PalmeDOrInfo.java.

Activities for today: activity20.docx

Object diagram for HashMap: HashMap-object-diagram.pptx

Recordings of this class: segment 1, segment 2.

Class 19

Sources for today: Dolphin.java, Duck.java, Sheep.java, MakesSound.java, Swims.java, TypeCastExamples.java.

Activities for today: activity19.docx

Object diagram explaining type casts: typecast-obj-diag.png

Object diagram explaining homework 6 question 4b (ragged arrays): hw6-qu4b-explanation.png

Recordings of this class: segment 1, segment 2, segment 3.

Class 18

Sources for today: class18-src.zip,

Warmup for today: review18.pptx

Activities for today: activity18.docx

Recordings of this class: segment 1, segment 2.

Class 17

Sources for today: Dolphin.java, Duck.java, MakesSound.java, Sheep.java, Swims.java.

Activities for today: activity17.docx

Big ideas in the course so far: interface-intro.pptx

Recordings of this class: segment 1, segment 2.

Class 16

Midterm Exam.

Class 15

Exam review. Please bring questions.

Recording of this class: class 15.

Class 14

Sources for today: TwoDimensionalArrays.java.

Object diagrams for 2D arrays: 2d-array-obj-diagram.pptx

Activities for today: activity14.docx

Recordings of this class: segment 1, segment 2.

Class 13

If you haven't done so already, please fill out the survey about in-person class meetings.

Sources for today: FirstArrayExample.java, RandomValues.java,

Object diagram for an array: array-obj-diagram.pptx

Activities for today: activity13.docx

Recordings of this class: segment 1, segment 2.

Class 12

Sources for today: Candidate2.java, Candidate2Demo.java, FirstStaticExample.java, JavaStaticMethods.java, Student2.java.

Activities for today: activity12.docx

Recordings of this class: segment 1, segment 2.

Class 11

Diversity and inclusivity are very challenging issues in computer science. Please share the video Change the Face of Computer Science with friends and relatives who are in grade school. For a few brief thoughts on diversity, inclusivity, and social justice in computer science, please see the presentation change-the-face-of-computer-science.pptx.

Sources for today:

Diagram for understanding == vs .equals(): equals-obj-diagram.pptx

Activities for today: activity11.docx

Recording of this class: class 11.

Class 10

Sources for today:

Explanation of the basic mechanics of a for loop: basic-for-loop.pptx

Activities for today: activity10.docx

Recordings of this class: segment 1, segment 2, segment 3.

Class 9

Sources for today: ArrayListDemo.java, DVD.java, VideoStore.java, VideoStoreTest.java.

Object diagram: videostore-diagram.pptx

Activities for today: activity09.docx

Recordings of this class: class 9.

Class 8

Sources for today: Bank.zip (again), Account5.java

Activities for today: activity08.docx

Recordings of this class: segment 1, segment 2.

Class 7

Sources for today:

Activities for today: activity07.docx

Recordings of this class: segment 1, segment 2.

Class 6

Sources for today:

Activities for today: activity06.docx

Examples of a class diagram and an object diagram, and both diagrams in powerpoint format.

Recording of this class: class06.

Class 5

Sources for today: Account2.java, FindMaxStart.java, GradeCalculatorStart.java.

Activities for today: activity05.docx

Recordings of this class: segment 1, segment 2, segment 3, segment 4.

Class 4

Suggested reading for today: JUnit tutorial.

Sources for today: Candidate.java, Account2.java. After class, also download CandidateTest.java for reference, but during class we will create this file ourselves.

Activities for today: activity04.docx

Recordings of this class: class 4

Class 3

Sources for today (same as last time): Candidate.java, Car.java

Recording of this class: class 3.

Class 2

Sources for today: Candidate.java, Car.java

Some terminology we will be discussing: terminology.docx.

Recording of this class: class 2.

Class 1

Today will be using the online Java compiler offered by repl.it: https://repl.it/languages/java10.

If you haven't already completed the following online form, please do so now:

If you haven't already accepted an invitation to join the GitHub dickinson-comp132 organization, please visit https://github.com/dickinson-comp132 to accept this invitation now.

Note the instructions for installing software or accessing software on a Dickinson computer, at the top of our course how-to page.

Introductions and getting to know other students:

  1. Before Wednesday, please post an introduction of yourself to our Moodle Discussion forum. Your introduction can be of any length (one sentence or more), but please try to mention at least one interesting thing such as your favorite TV show/computer game/movie/band/sports team/book so that others will be able to respond to you meaningfully.
  2. Before Friday, please post at least two replies to introductions by other students in the class.

Recording of this class: class 1.