Chapter Topics 
General Resources 
Selfchecks 
Exercises 
Chapter 1 println static methods 
video 13: Static Methods
video 14: Complex Figures
PowerPoint slides
lab
code files

SelfCheck 1.2: binary 1
SelfCheck 1.3: binary 2
SelfCheck 1.6: legal identifiers
SelfCheck 1.7: confounding
SelfCheck 1.8: Archie
SelfCheck 1.9: Shaq
SelfCheck 1.11: DoubleSlash
SelfCheck 1.12: Sally
SelfCheck 1.13: Test of Knowledge
SelfCheck 1.15: withoutPrintStatements
SelfCheck 1.20: Strange
SelfCheck 1.21: Strange2
SelfCheck 1.22: Strange3
SelfCheck 1.23: Confusing
SelfCheck 1.24: Confusing2
SelfCheck 1.25: Confusing3

Exercise 1.1: Stewie
Exercise 1.2: Spikey
Exercise 1.3: WellFormed
Exercise 1.4: Difference
Exercise 1.5: MuchBetter
Exercise 1.6: Mantra
Exercise 1.7: Stewie2
Exercise 1.8: DrawEgg
Exercise 1.9: DrawEggs
Exercise 1.10: Rockets
Exercise 1.11: StarFigures
Exercise 1.12: EggStop
Exercise 1.13: Shining

Chapter 2 variables expressions for loops 
video 21: Expressions
video 22: Variables/Assignments
video 23: For Loop
video 24: Nested Loops
video 25: Complex Figure
PowerPoint slides
lab
code files

SelfCheck 2.1: legal int literals
SelfCheck 2.2: Expressions 1
SelfCheck 2.3: Expressions 2
SelfCheck 2.4: Expressions 3
SelfCheck 2.7: last digit expression
SelfCheck 2.8: digit expressions
SelfCheck 2.9: first second
SelfCheck 2.11: values of A,B,C
SelfCheck 2.14: loop table
SelfCheck 2.16: oddStuff
SelfCheck 2.17: numberTotal
SelfCheck 2.18: fingerTrap
SelfCheck 2.19: howManyLines
SelfCheck 2.20: blastOff
SelfCheck 2.21: multiplication
SelfCheck 2.22: nested loops
SelfCheck 2.23: starExclamation1
SelfCheck 2.24: starExclamation2
SelfCheck 2.25: starExclamation3
SelfCheck 2.27: unknown

Exercise 2.1: displacement
Exercise 2.2: loopSquares
Exercise 2.3: fibonacci
Exercise 2.4: starSquare
Exercise 2.5: starTriangle
Exercise 2.6: numberTriangle
Exercise 2.7: spacedNumbers
Exercise 2.8: spacesAndNumbers
Exercise 2.9: waveNumbers40
Exercise 2.10: numbersOutput60
Exercise 2.11: numbersOutputConstant
Exercise 2.12: nestedNumbers
Exercise 2.13: nestedNumbers2
Exercise 2.14: nestedNumbers3
Exercise 2.15: printDesign
Exercise 2.16: SlashFigure
Exercise 2.17: SlashFigure2
Exercise 2.19: Window

Chapter 3 parameters Scanner 
video 31: Parameter Mystery
video 32: Parameters & Return Values
video 33: Strings
video 34: Scanner
PowerPoint slides
lab
code files

SelfCheck 3.1: Odds
SelfCheck 3.2: Weird
SelfCheck 3.3: parameterMysteryNumbers
SelfCheck 3.4: parameterMysteryWho
SelfCheck 3.5: parameterMysteryTouch
SelfCheck 3.6: parameterMysterySoda
SelfCheck 3.7: printStrings
SelfCheck 3.8: termForPrintln
SelfCheck 3.10: mathExpressions
SelfCheck 3.11: parameterMysteryReturn
SelfCheck 3.12: min
SelfCheck 3.13: countQuarters
SelfCheck 3.14: stringExpressions
SelfCheck 3.18: promptMultiplyBy2
SelfCheck 3.19: RobertPaulson

Exercise 3.1: printNumbers
Exercise 3.2: printPowersOf2
Exercise 3.3: printPowersOfN
Exercise 3.4: printSquare
Exercise 3.5: printGrid
Exercise 3.6: largerAbsVal
Exercise 3.7: largestAbsVal
Exercise 3.8: quadratic
Exercise 3.9: distance
Exercise 3.10: scientific
Exercise 3.11: padString
Exercise 3.12: vertical
Exercise 3.13: printReverse
Exercise 3.14: inputBirthday
Exercise 3.15: processName

Supplement 3G graphics 
video 3G1: Basic Drawing
video 3G2: Parameterized Drawing
PowerPoint slides
lab
code files

SelfCheck 3G.1: drawLineErrors
SelfCheck 3G.2: fillRectErrors
SelfCheck 3G.3: drawLineRectErrors

Exercise 3G.1: MickeyBox
Exercise 3G.2: MickeyBox2
Exercise 3G.3: ShowDesign
Exercise 3G.4: ShowDesign2
Exercise 3G.5: SquaresA
Exercise 3G.6: SquaresB
Exercise 3G.7: SquaresC
Exercise 3G.8: Triangle

Chapter 4 if/else return pre/post 
video 42: Nested if/else Statements
video 43: Factoring if/else
video 44: Programming with if/else and Cumulative Sums
PowerPoint slides
lab
code files

SelfCheck 4.1: logicalTests
SelfCheck 4.2: logicExpressions1
SelfCheck 4.5: evenOdd
SelfCheck 4.8: contribution
SelfCheck 4.17: charMystery

Exercise 4.1: fractionSum
Exercise 4.2: repl
Exercise 4.3: season
Exercise 4.4: pow
Exercise 4.5: printRange
Exercise 4.6: smallestLargest
Exercise 4.7: evenSumMax
Exercise 4.8: printGPA
Exercise 4.9: printTriangleType
Exercise 4.10: average
Exercise 4.11: pow2
Exercise 4.12: getGrade
Exercise 4.13: printPalindrome
Exercise 4.14: swapPairs
Exercise 4.15: wordCount
Exercise 4.16: quadrant

Chapter 5 while loops random assertions 
video 51: Random Numbers
video 52: Fencepost Loops
video 53: Sentinel Loops
video 54: Boolean Zen
video 55: Assertions
PowerPoint slides
lab
code files

SelfCheck 5.1: whileLoops
SelfCheck 5.3: whileLoopMystery1
SelfCheck 5.4: whileLoopMystery2
SelfCheck 5.5: randomRangeABCDE
SelfCheck 5.8: doWhileLoops
SelfCheck 5.12: printLetters
SelfCheck 5.14: logicExpressions2
SelfCheck 5.15: isVowel
SelfCheck 5.20: whileLoopMystery3
SelfCheck 5.27: assertions1
SelfCheck 5.28: assertions2
SelfCheck 5.29: assertions3

Exercise 5.1: showTwos
Exercise 5.2: gcd
Exercise 5.3: toBinary
Exercise 5.4: randomX
Exercise 5.6: makeGuesses
Exercise 5.7: diceSum
Exercise 5.8: randomWalk
Exercise 5.9: printFactors
Exercise 5.10: hopscotch
Exercise 5.11: threeHeads
Exercise 5.12: printAverage
Exercise 5.13: consecutive
Exercise 5.14: numUnique
Exercise 5.15: hasMidpoint
Exercise 5.16: monthApart
Exercise 5.17: digitRange
Exercise 5.18: swapDigitPairs

Chapter 6 file processing 
video 61: Tokenbased Processing
video 62: Linebased Processing
video 63: Processing Complex Input Files
PowerPoint slides
lab
code files

SelfCheck 6.2: scannerDeclaration
SelfCheck 6.5: scannerError
SelfCheck 6.8: readme1
SelfCheck 6.9: readme2next
SelfCheck 6.10: readme3nextIntDouble

Exercise 6.1: boyGirl
Exercise 6.2: evenNumbers
Exercise 6.3: negativeSum
Exercise 6.4: collapseSpaces
Exercise 6.5: readEntireFile
Exercise 6.6: doubleSpace
Exercise 6.7: wordWrap
Exercise 6.8: wordWrap2
Exercise 6.9: wordWrap3
Exercise 6.10: stripHtmlTags
Exercise 6.11: stripComments
Exercise 6.12: printDuplicates

Chapter 7 arrays 
video 71: Array Simulation
video 72: Array Traversal Algorithms
video 731: Array Shifting Algorithms
video 732: Tallying with an Array
PowerPoint slides
lab
code files

SelfCheck 7.4: numbersArray
SelfCheck 7.7: max
SelfCheck 7.11: printBackwards
SelfCheck 7.13: allLess
SelfCheck 7.23: arrayMystery4
SelfCheck 7.24: arrayMystery5
SelfCheck 7.25: averageLength
SelfCheck 7.26: isPalindrome

Exercise 7.1: lastIndexOf
Exercise 7.2: range
Exercise 7.3: countInRange
Exercise 7.4: isSorted
Exercise 7.5: mode
Exercise 7.6: stdev
Exercise 7.7: kthLargest
Exercise 7.8: median
Exercise 7.9: minGap
Exercise 7.10: percentEven
Exercise 7.11: isUnique
Exercise 7.12: priceIsRight
Exercise 7.13: longestSortedSequence
Exercise 7.14: contains
Exercise 7.15: collapse
Exercise 7.16: append
Exercise 7.17: vowelCount
Exercise 7.18: wordLengths
Exercise 7.19: matrixAdd

Chapter 8 defining classes 
video 81: Defining a Class
video 82: Constructors
video 83: Advanced Instance Methods
video 84: Encapsulation
PowerPoint slides
lab
code files


Exercise 8.1: manhattanDistance
Exercise 8.2: isVertical
Exercise 8.3: slope
Exercise 8.4: isCollinear
Exercise 8.5: add

Chapter 9 inheritance 
video 91: Interacting with the Superclass
video 92: Polymorphism
video 93: Interfaces
PowerPoint slides
lab
code files

SelfCheck 9.3: variableDeclarations

Exercise 9.1: Marketer
Exercise 9.2: Janitor
Exercise 9.3: HarvardLawyer
Exercise 9.8: MinMaxAccount
Exercise 9.9: DiscountBill
Exercise 9.10: FilteredAccount

Chapter 10 ArrayList 
video 101: Removing From an ArrayList
video 102: Adding To an ArrayList
video 103: Implementing Comparable
PowerPoint slides
code files

SelfCheck 10.7: maxLength

Exercise 10.2: swapPairs
Exercise 10.3: removeEvenLength
Exercise 10.4: doubleList
Exercise 10.6: minToFront
Exercise 10.7: removeDuplicates
Exercise 10.11: stutter
Exercise 10.12: markLength4
Exercise 10.14: removeShorterStrings
Exercise 10.16: interleave

Chapter 11 collections 
video 111: List Example
video 112: Set Example
video 113: Map Example
PowerPoint slides
code files


Exercise 11.2: alternate
Exercise 11.3: removeInRange
Exercise 11.8: maxLength
Exercise 11.9: hasOdd
Exercise 11.10: removeEvenLength
Exercise 11.12: contains3
Exercise 11.13: isUnique
Exercise 11.14: intersect
Exercise 11.15: maxOccurrences
Exercise 11.18: reverse
Exercise 11.19: rarest

Chapter 12 recursion 
video 121: Recursive Tracing
video 122: Implementing a Recursive Function
video 123: Implementing a Recursive Method
PowerPoint slides
code files

SelfCheck 12.3: mystery1
SelfCheck 12.4: mystery2
SelfCheck 12.5: mystery3
SelfCheck 12.11: mystery4
SelfCheck 12.12: mystery5

Exercise 12.1: starString
Exercise 12.2: writeNums
Exercise 12.3: writeSequence
Exercise 12.6: writeSquares
Exercise 12.7: writeChars
Exercise 12.8: multiplyEvens
Exercise 12.9: sumTo
Exercise 12.10: repeat
Exercise 12.11: isReverse
Exercise 12.12: indexOf
Exercise 12.13: evenDigits

Chapter 13 sorting searching 
video 131: Binary Search
video 132: Sorting
video 133: Complexity
PowerPoint slides
code files



Chapter 14 GUIs 
video 141: GUI Basics
video 142: Layout Management
video 143: More Components and Events
PowerPoint slides
code files



Chapter 15 implementing a collection 
video 151: ArrayIntList: Middle of the List
video 152: ArrayIntList: Pre/Post
video 153: ArrayIntList: Exception
PowerPoint slides
code files


Exercise 15.4: runningTotal
Exercise 15.6: isPairwiseSorted
Exercise 15.8: longestSortedSequence
Exercise 15.9: removeFront
Exercise 15.10: removeAll
Exercise 15.11: printInversions
Exercise 15.12: mirror
Exercise 15.14: stretch

Chapter 16 linked lists 
video 161: Linked List: Working with Nodes
video 162: LinkedIntList: Traversal
video 163: LinkedIntList: Complex Operation
PowerPoint slides
code files

SelfCheck 16.9: linkednodes9
SelfCheck 16.10: linkednodes10
SelfCheck 16.11: linkednodes11
SelfCheck 16.12: linkednodes12
SelfCheck 16.13: linkednodes13
SelfCheck 16.14: linkednodes14
SelfCheck 16.22: linkednodes22
SelfCheck 16.23: linkednodes23
SelfCheck 16.24: linkednodes24

Exercise 16.1: set
Exercise 16.2: toString
Exercise 16.3: indexOf
Exercise 16.4: min
Exercise 16.5: isSorted
Exercise 16.6: lastIndexOf
Exercise 16.7: countDuplicates
Exercise 16.8: hasTwoConsecutive
Exercise 16.9: deleteBack
Exercise 16.10: stutter
Exercise 16.11: split
Exercise 16.12: transferFrom
Exercise 16.13: removeAll
Exercise 16.14: equals
Exercise 16.15: removeEvens
Exercise 16.16: removeRange
Exercise 16.17: doubleList
Exercise 16.18: rotate
Exercise 16.19: shift
Exercise 16.20: reverse

Chapter 17 binary trees 
video 171: Binary Tree: Traversal
video 172: Binary Tree: Traversal
video 173: Binary Tree: x = change(x)
PowerPoint slides
code files

SelfCheck 17.4: traversal1
SelfCheck 17.5: traversal2
SelfCheck 17.6: traversal3
SelfCheck 17.11: size
SelfCheck 17.17: bstAdd1
SelfCheck 17.18: bstAdd2
SelfCheck 17.19: bstAdd3
SelfCheck 17.20: bstAdd4

Exercise 17.1: sum
Exercise 17.2: countLeftNodes
Exercise 17.3: countEmpty
Exercise 17.4: depthSum
Exercise 17.5: countEvenBranches
Exercise 17.6: printLevel
Exercise 17.7: printLeaves
Exercise 17.8: isFull
Exercise 17.9: toString
Exercise 17.10: equals
Exercise 17.11: doublePositives
Exercise 17.12: numberNodes
Exercise 17.13: removeLeaves
Exercise 17.15: completeToLevel
Exercise 17.16: trim
Exercise 17.17: tighten
Exercise 17.18: combineWith
Exercise 17.19: inOrderList
