CS106 Class Notes
Spring 2020 Semester

Michael Eckmann
Skidmore College

Monday April 27, 2020
Exception Handling, file I/O
lecture recording
TestException.java
FileIOExample.java
ReformatNamesAndAddresses.java
Monday April 27, 2020
continued
productAndPrices.txt
out.txt
namesAndAddresses.txt
reformatted.txt
Friday April 24, 2020
static vs. non-static, Exception Handling
lecture recording
Card.java
TestCard.java
TestStaticCardVariable.java
AnotherCardTester.java
Wednesday April 22, 2020
Object class, Interfaces, polymorphism with array of Object and array of Comparable
lecture recording
TesttoString.java
Pet.java
TestCard.java
Friday April 17, 2020
finish Deck2, Interfaces
lecture recording
Deck2.java
TestDeck2.java
Card.java
TestCard.java
Wednesday April 15, 2020
ArrayList
lecture recording
TestArrayList.java
Deck2.java (partially implemented w/ ArrayList)
Monday April 13, 2020
recap, start ArrayList
lecture recording
TestArrayList.java
Friday April 10, 2020
more Inheritance, polymorphism via inheritance, abstract
lecture recording
Pet.java
TalkingDog.java
WorkWithPets.java
Wednesday April 08, 2020
Is-a vs. Has-a relationships, Inheritance
lecture recording
BankAccount.java
SavingsAccount.java
CheckingAccount.java
TestAccounts.java
Wednesday April 08, 2020
more code we wrote
Pet.java
Dog.java
Cat.java
WorkWithPets.java
Monday April 06, 2020
ternary operator, object references vs. variable of primitive types, Is-a vs. Has-a relationships, start Inheritance
lecture recording
TestTernary.java
TestObjRefsVsPrimitiveVars.java
ArrayTesting.java
Friday April 03, 2020
finish Recursion, DecimalFormat class, ternary operator
lecture recording
TestRecursion.java
TestDecimalFormat.java
Wednesday April 01, 2020
continue Recursion
lecture recording
TestRecursion.java
Monday March 30, 2020
start Recursion
lecture recording
DealFiveCardPoker.java
TestRecursion.java
Friday March 27, 2020
Object Oriented (OO) Programming --- continuing with the Deck class (implement cut) and a PokerHand class
lecture recording
Deck.java
TestDeck.java
PokerHand.java
DealFiveCardPoker.java
Wednesday March 25, 2020
Object Oriented (OO) Programming --- writing a Deck class and a card game
lecture recording
Rectangle.java
Deck.java
HighCard.java
TestDeck.java
Monday March 23, 2020
Object Oriented (OO) Programming
lecture recording
Rectangle.java
Card.java
TestCard.java
Deck.java (started)
Friday March 06, 2020
Object Oriented (OO) Programming
Rectangle.java
WorkWithRectangles.java
Card.java (partially done)
Wednesday March 04, 2020
finish binary search, analysis of searches and bubbleSort, start OO
Sorting.java (with completed binary search)
Monday March 02, 2020
sorting, linear search, start binary search
Sorting.java (complete implementation of bubblesort and linear search, partial binary search)
Friday February 28, 2020
more programmer-defined methods, passing arrays into methods, start sorting
MoreMethods.java
Wednesday February 26, 2020
Exam 1
Monday February 24, 2020
continue programmer-defined methods
RandomInteger.java
Factorial.java
Friday February 21, 2020
programmer-defined methods
TestProgrammerDefinedMethods.java
RollingDice.java
Wednesday February 19, 2020
Math class methods
MathClassMethods.java
RandomCard.java
CoinFlipTesting.java
CountRandoms.java
Monday February 17, 2020
continue arrays, multi-dimensional arrays
NamesAndScores.java
Friday February 14, 2020
arrays
TestArray.java
Wednesday February 12, 2020
nested loops, labelled break/continue, switch statement, start arrays
TestNestedLoop.java
SwitchCode.java
Monday February 10, 2020
loop exercise, break, continue, do while loops
DoWhileAverage.java
PowersOfTwo.java
ProductOfOdds.java
SumOfNumbers.java
TestWhileWithContinue.java
Friday February 07, 2020
while loops, for loops
TestAndOperator.java
AverageLoop.java
WhileLoopExample.java
TestWhileFor.java
TestMoreInfiniteLoop.java
Wednesday February 05, 2020
logical operators, while loops
WhileLoopTest.java
AverageLoop.java
Monday February 03, 2020
comparing data, String methods
TestStringCompares.java
TestStringMethods.java
Friday January 31, 2020
wrapper classes, method terminology, comparing data
TestPassing.java
Wednesday January 29, 2020
type conversion, increment/decrement ops, more assignment operators, method terminology
TypeTesting.java
TestJOptionPane.java
TestIncrement.java
AssignmentOpExamples.java
Monday January 27, 2020
more keyboard input, pseudocode, programming exercise, type conversion
TestUI2.java
TestScannerProblem.java
ProjectedHomeruns.java
Friday January 24, 2020
if/else statements, keyboard input
TestNoCurlyBraces.java
TestUserInput.java
Wednesday January 22, 2020
variables/type, if/else statements
LargerNumber.java
TestIfElse.java
Tuesday January 21, 2020
Introduction, first Java program, start introductory Java topics
HelloWorld.java
HelloCS.java
Print4.java
TestIf.java