CSCI 136 - Fall 2018
Data Structures & Advanced Programming
Home | Lectures | Labs | Handouts | Links | CS@Williams
Lecture Notes and Examples
Links to lecture slides and files will be available after class on the date shown. You must be on-campus or using the Williams
proxy server (or VPN) to access these materials.
Note: The lecture schedule (cleverly) assumes that Mountain Day will occur on the first Friday of October. If it doesn't, subsequent lecture topics will be covered until Mountain Day finally occurs, after which the schedule of topics will proceed as indicated.
Date | Lecture | Examples | Slides | Reading | |
7 Sept | Welcome & Java Recap | Hello.java |
Lecture 1 | Bailey: Chapter 0; Handouts: Syllabus, Java Essentials | |
10 Sept | Object-Oriented Programming in Java |
Sum1.java Sum2.java Sum3.java Sum4.java Sum5.java |
Lecture 2 | Bailey: Chapters 1, 7 | |
12 Sept | More on OOP in Java | Student.java TestStudent.java Student2.java TestStudent2.java |
Lecture 3 | Bailey: Chapter 1; Handouts: Java Class Types | |
14 Sept | End of Java Review | SimpleCards source code: BasicCard.java Card.java CardRankSuit.java Card52.java Card52v2.java Card413.java CardDeck.java Cards: Abstract Base Class CardAbstract.java CardRankSuit.java Cards: Extending with Points CardRankSuitPoints.java |
Lecture 4 | Bailey: Chapters 2,3 | |
17 Sept | Code Documentation; Vectors |
Cards: CardDeck.java VecCardDeck.java Association: Association.java Array-based: Dictionary.java Vector-based: VecDictionary.java Histogram: WordFreq.java |
Lecture 5 | Bailey: Chapters 3, 7, 4 | |
19 Sept | Measuring Complexity |
WordFreq.java Dictionary.java GenWordFreq.java |
Lecture 6 | Bailey: Chapter 4, 5 | |
21 Sept | Recursion & Induction I | Lecture 7 |
Bailey: Chapter 5
Induction Essentials Problem Set 1 |
||
24 Sept | Recursion & Induction II | ReursiveMethods.java Towers.java LIS.java |
Lecture 8 | Bailey: Chapter 5 |
|
26 Sept | Sorting I | Lecture 9 |
Bailey: Chapter 6 | ||
28 Sept | Sorting II: Problem Set 1 Due Today! |
LinearSearchGeneric.java BinSearch.java BinSearchAlt.java BinSearchComparable.java JavaArraysBinSearch.java |
Lecture 10 |
Bailey: Chapter 6 Strong Induction Problem Set 2 |
|
1 Oct | Lists I |
Card.java CardAbstract.java CardRankSuit.java CardRankSuitPoints.java CardDeck.java Rank.java Suit.java MergeSort.java |
Lecture 11 | Bailey: Chapter 9 | |
3 Oct | Lists II | SLL.java TestSLL.java |
Lecture 12 | Bailey: Chapter 9 | |
5 Oct | Problem Set 2 Due Today! If Mountain Day, turn in by 6:00pm |
???Mountain Day??? | |||
8-9 Oct | Fall Reading Period | ||||
10 Oct | Linear Structures: Stacks & Queues I |
Lecture 13 |
Bailey: Chapter 10 | ||
12 Oct | Linear Structures: Stacks & Queues II |
Position.java Maze.java Solver.java RecSolver.java |
Lecture 14 |
Bailey: Chapter 10 | |
15 Oct | Linear Structures: Stacks & Queues III and Iterators |
Lecture 15 |
Bailey: Chapter 10 & Chapter 8 | ||
17 Oct | Mid-term exam during lab: No class meeting | ||||
19 Oct | Iterators; Ordered Structures |
Count.java FibonacciNumbers.java EvenFib.java SLLIterator.java ReverseIterator.java SkipIterator.java TestIterator.java |
Lecture 16 |
Bailey: Chapter 8 & Chapter 11 | |
22 Oct | Ordered Structures | Lecture 17 |
Bailey: Chapter 11 | ||
24 Oct | Trees I |
BinaryTreeCode.java BinaryExpressionTree.java BinExpTreeFromRPN.java |
Lecture 18 |
Bailey: Chapter 12 | |
26 Oct | Trees II |
TreeVisitor.java InfiniteQuestions.java |
Lecture 19 |
Bailey: Chapter 12 | |
29 Oct | Trees III |
leftShift.java |
Lecture 20 |
Bailey: Chapter 12 | |
31 Oct | Trees IV |
Huffman Encoding demo Sample text: Tom Sawyer |
Lecture 21 |
Bailey: Chapter 12 | |
2 Nov | Priority Queues | VectorHeap.java | Lecture 22 | Bailey: Chapter 13 Problem Set 3 | |
5 Nov | Heaps & Heapsort |
Lecture 23 |
Bailey: Chapter 13 | ||
7 Nov | Binary Search Trees I |
Lecture 24 Binary Search Tree Code Fragment |
Bailey: Chapter 14 | ||
9 Nov | Binary Search Trees II Problem Set 3 Due Today! |
Lecture 25 |
Bailey: Chapter 14 | ||
12 Nov | Probability & Average Case Analysis | Lecture 26 |
Bailey: Chapter 6 | ||
14 Nov | Graphs I |
Lecture 27 |
Bailey: Chapter 15 | ||
16 Nov | Graphs II |
Lecture 28 |
Bailey: Chapter 16 | ||
19 Nov | Graphs III |
BFSComponentSize.java DFSComponentSize.java RecDFSComponentSize.java |
Lecture 29 |
Bailey: Chapter 16 | |
21-23 Nov | Thanksgiving Break | ||||
26 Nov | Graphs IV | Lecture 30 |
Bailey: Chapter 16 | ||
28 Nov | Graphs V |
Prim's algorithms for finding a minimum-cost spanning tree in a connected graph |
Lecture 31 |
Bailey: Chapter 16 | |
30 Nov | Graphs VI |
Dijkstra's algorithm for finding a set of shortest paths from a given vertex |
Lecture 32 |
Bailey: Chapter 16 | |
3 Dec | Maps & Hashing I |
Lecture 33 |
Bailey: Chapter 15 | ||
5 Dec | Maps & Hashing II |
NaiveProbing.java |
Lecture 34 |
Bailey: Chapter 15 | |
7 Dec | Wrapping Up |
Lecture 35 |
-->
|||
17 Dec | Final Exam: Time: 9:30 am in Physics 203 |