CSCI 2101A
Data Structures

Bowdoin College
Fall 2018
Instructor: Sean Barker


The course schedule is tentative and subject to change. This page will be updated frequently to reflect the most up-to-date schedule. JS refers to the free Java Structures book.

ThuAug 301Introductionintro-slides.pdf, Hello.java
MonSep 32Types, Functions, & ConditionalsLec2.java, JS Appendix B
TueSep 43Loops & StringsLec3.java
ThuSep 64Objects & ClassesPoint.java, TestPoint.java
MonSep 105Classes, Arrays, & Lab 1Lab1Topics.java, StaticTest.java
TueSep 11L1Silver Dollar Game
ThuSep 136Interfaces, Lists, & GenericsDie.java, SixSidedDie.java, PlayDiceGame.java, ListDemo.java
MonSep 177Maps & InheritanceMapDemo.java
TueSep 18L2Infinite Monkey Theorem
ThuSep 208Inheritance & DebuggingCreature.java, Reef.java, Fish.java, Minnow.java, Shark.java, WatorTest.java
MonSep 249ArrayList ImplementationAbstractSimpleList.java, SimpleArrayList.java
TueSep 2510Efficiency & Big-O AnalysisJS 5.1
ThuSep 2711Big-O AnalysisLab Interlude: Algorithm Analysis
MonOct 112Searching and SortingJS 6.1-6.3, BinarySearch.java, BubbleSort.java, SelectionSort.java, InsertionSort.java, SortSim.java
TueOct 2L3Call to Order
ThuOct 4Midterm Exam 1
MonOct 8No Class: Fall Break
TueOct 9No Class: Fall Break
ThuOct 1113Linked ListsSimpleLinkedList.java
MonOct 1514Stacks and Queues
TueOct 16L4Super Sudoku SolverSample Puzzle Files
ThuOct 1815Queue ImplementationsAbstractSimpleQueue.java, SimpleArrayQueue.java
MonOct 2216Queues and IteratorsIteratorDemo.java
TueOct 2317IterationSimpleArrayListIterator.java, SimpleLinkedListIterator.java, IterableString.java
ThuOct 25L5The Two Towers
MonOct 2918RecursionRecursion.java, Hanoi.java
TueOct 30L6Recursion Practice
ThuNov 119TreesBinaryTree.java
MonNov 5L7HexapawnDownload starter files on Blackboard
TueNov 620Binary TreesGuessingGame.java, ExpressionTreeDemo.java
ThuNov 821Tree Iteration & Priority QueuesPreorderIterator.java
MonNov 12L8Lexicon, Helicon, LexicalDownload starter files on Blackboard, SubsetSum.java
TueNov 1322HeapsSimplePriorityQueue.java
ThuNov 15Midterm Exam 2
MonNov 19L8Lexicon, Helicon, Lexical (cont)
TueNov 2023Heaps, Binary Search TreesBinarySearchTree.java, BinaryTreeView.java
ThuNov 22No Class: Thanksgiving Break
MonNov 26L9DarwinDownload starter files on Blackboard
TueNov 2724Binary Search Trees, AVL Trees
ThuNov 2925Maps and Hashing
MonDec 3L9Darwin (cont)
TueDec 426Hash TablesAbstractSimpleMap.java, SimpleHashMap.java
ThuDec 627Hash Functions, Wrap-upStringHash.java, PointHash.java