Sources for today: PairSum.zip
Activities for today: activity42.docx.
Recording of this class: class 42.
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.
Sources and activities for today: same as for class 39.
Recordings of this class: 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.
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.
Sources for today: class37-src.zip.
Activities for today: activity37.docx.
Recordings of this class: segment 1, segment 2, segment 3.
Sources for today: ArrayTools.java, ArrayListTools.java, CollectionSortingSearching.java, Search.java, SearchUnfinished.java.
Activities for today: activity36.docx.
Recordings of this class: class36.
Sources for today: ArrayTools.java, RunningTimePractise.java, MergeSort.java, MergeSortUnfinished.java, MergeSortExperiment.java.
Activities for today: activity35.pptx.
Recordings of this class: class35.
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.
Whiteboard with exam review notes: exam-review.png.
Recording of this class: class31
Sources for today: QuadraticEquation.java
Activities for today: activity30.docx.
Recordings of this class: segment 1, segment 2, segment 3.
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.
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.
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.
Sources for today: design-patterns.zip
Activities for today: activity26b.docx.
Recording of this class: class26b.
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.
Sources for today: FirstExceptionExample.java.
Activities for today: activity25.docx
Recordings of this class: segment 1, segment 2, segment 3.
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.
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.
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.
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.
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.
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.
Sources for today: class18-src.zip,
Warmup for today: review18.pptx
Activities for today: activity18.docx
Recordings of this class: segment 1, segment 2.
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.
Exam review. Please bring questions.
Recording of this class: class 15.
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.
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.
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.
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.
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.
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.
Sources for today: Bank.zip (again), Account5.java
Activities for today: activity08.docx
Recordings of this class: segment 1, segment 2.
Sources for today:
Activities for today: activity07.docx
Recordings of this class: segment 1, segment 2.
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.
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.
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
Sources for today (same as last time): Candidate.java, Car.java
Recording of this class: class 3.
Sources for today: Candidate.java, Car.java
Some terminology we will be discussing: terminology.docx.
Recording of this class: class 2.
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:
Recording of this class: class 1.