Schedule - CS 314 - Spring 2016

Readings are from Data Structures & Algorithm Analysis In Java, Author Weiss, ISBN: 9780132576277. Abbreviated as Weiss DSAA below.

Monday Tuesday Wednesday Thursday Friday
1/18 1/19 1/20
Topic 1: Syllabus and Course Mechanics
Slides: PPT, PDF, PDF 4up
1.Read the course syllabus, topics list, and schedule. Browse class materials on class web site.

Topic 2: Algorithm Analysis
Slides: PPT, PDF, PDF 4up
Topic 2:
1. Weiss DSAA: Section 1.2 and Chapter 2
2. Another explanation of Big O.
3. Video on complexity

Discussion sections do not  meet today

1/21
 
1/22
Topic 2: Algorithm Analysis

1. Algorithm Analysis and Big O at Wikipedia
2. The National Institute of Standards and Technology, Dictionary of Data Structures and Algorithms (NIST DADS) page on Big O notation.
3. Video: complexity and effeciency

1/25
Topic 2: Algorithm Analysis

 

1/26 1/27
Topic 3: Encapsulation - IntList

Slides: PPT, PDF, PDF 4up
1. The Java Tutorial online. Lesson: Object-Oriented Programming Concepts. Read the following topics: What is an Object? What is a Class?
2. Weiss DSAA: Sections 3.1, 3.2.1, and 3.4

1/28 1/29
Topic 3: Encapsulation - IntList

1. The Java Tutorial online. Lesson: Objects. Read the page on Objects and the sub pages on Creating Objects and using Objects.
2. The Java Tutorial online. Classes. Read all the subtopics of in the Classes section.

2/1
Topic 3: Encapsulation - IntList

Discussion Sections: Quiz 1
 

2/2 2/3
Topic 4: Inheritance -  SortedIntList
Slides: PPT, PDF, PDF 4up

1. An explanation of inheritance from Stuart Reges, University of Washington
2. The Java Tutorial online. What is Inheritance?
3. Video: super and sub classes
4. The Java Tutorial online. A more detailed look at inheritance. Read this page and all the following sub topics: Overriding and Hiding Methods, Hiding Fields, Using the Keyword super, and Object as a Superclass.

Discussion Sections: Quiz 1

2/4
Assignment 1 due by 11 pm
2/5
Topic 4: Inheritance -  SortedIntList

Topic 5 Polymorphism, GenericList
Slides: PPT, PDF, PDF 4up

1. Video: polymorphism in Java
2.  Weiss DSAA: Section 1.4

2/8
Topic 5 Polymorphism, GenericList

Discussion Sections: Quiz 2

2/9
 
2/10
Topic 6: Java Generics
Slides: PPT, PDF, PDF 4up
Topic 6:
1. An explanation of the Java Collections Framework.
2. Weiss DSAA: Sections 1.4 and 1.5
3. The Java tutorial online. Generics. Read the Introduction and the section on Generic Types.

Discussion Sections: Quiz 2

2/11
Assignment 2 due by 11 pm
2/12
Topic 7: Interfaces
Slides: PPT, PDF, PDF 4up
1. The Java Tutorial online. Read the entry on What is an Interface.
2. The Java Tutorial online. Lesson: Interfaces. Read this page and the first three sub topics (Defining an Interface, Implementing an Interface, Using an Interface as a Type)
3. Video: interfaces
2/15
Topic 8: Iterators
Slides: PPT, PDF, PDF 4up

1. DSAA Section 3.3.2
2. The Java Tutorial online. Nested Classes. Read the main entry on Nested Classes and both subtopics on Inner Class Example and Summary of Nested Classes.
3. Iterators at Wikipedia.

Discussion Sections: Quiz 3

2/16 2/17
Topic 9: Maps
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Section 4.8.2
2. The Java Tutorial online, the Map Interface:
3. Video: using maps

Discussion Sections: Quiz 3

2/18
Assignment 3 due by 11 pm
2/19
Topic 10: Abstract Classes
Slides: PPT, PDF, PDF 4up

1. The Java Tutorial online. Read the topic on Abstract Methods and Classes:

2/22
Topic 11: Linked Lists
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Sections 3.2.2 and 3.5
2. Linked Lists at Wikipedia. and at the NIST DADS
3. Video: working with nodes

Discussion Sections: Quiz 4

2/23
 
2/24
Review for Exam 1

Discussion Sections: Quiz 4

Exam 1 tonight, 7 - 9 pm in UTC 2.112A
Exam 1 covers topics 1 - 10.

 

2/25
 
2/26
Catch up day
 
2/29
Topic 11 Linked Lists

1. Video: traversing a linked list

No discussion sections today.

3/1
 
3/2
Topic 11 Linked Lists and catch up.

No discussion sections today.

 

3/3
Assignment 5 due by 11 pm (Note, there is no assignment 4)
3/4
Topic 12: Recursion
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Sections 1.3
2. Recursion at Wikipedia.
3. Recursion at the NIST Dictionary of Algorithms and Data Structures
4. Video covering recursive tracing

3/7
Topic 12: Recursion

1. Video: writing a simple recursive method
2. Video: writing another recursive method

Return exams 1 in discussion section

3/8 3/9
Topic 13: Recursive Backtracking
Slides: PPT, PDF, PDF 4up

1. Backtracking at Wikipedia.
2. Backtracking at the NIST Dictionary of Algorithms and Data Structures
3. Weiss DSAA: Section 10.5

Return exams 1 in discussion section

3/10
Assignment 6 due by 11 pm
3/11
Topic 13: Recursive Backtracking

1. Another explanation of recursive backtracking.
2. The 8 queens puzzle at Wikipedia.
3. the knapsack problem at Wikipedia.

3/164Spring Break 3/15 3/16 3/17 3/18
3/21
Topic 14: Searching, Simple Sorts
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Sections 7.1, 7.2, and 7.3
2. Searching articles at Wikipedia: Linear Search, Binary Search and at NIST DADS: Linear Search, Binary Search
3. Sorting articles at Wikipedia: Selection Sort, Insertion Sort and sorting articles at NIST DADS: Selection Sort, Insertion Sort
4. Video: binary search

Discussion Sections: Quiz 5

3/22 3/23
Topic 15: Stacks
Slides: PPT, PDF, PDF 4up

1.Weiss DSAA: Section 3.6
2. Stacks at Wikipedia.  and at the NIST DADS
3. postfix notation at Wikipedia

Discussion Sections: Quiz 5

3/24
Assignment 7 due by 11 pm
3/25
Topic 15: Stacks

Topic 16: Queues
Slides: PPT, PDF, PDF 4up

1.  Weiss DSAA: Section 3.7
2. Queues at Wikipedia. and at the NIST DADS

3/28
Topic 16: Queues

Discussion Sections: Quiz 6

3/20 3/30
Topic 17: Quicksort and Mergesort
Slides: PPT, PDF, PDF 4up

1. Sorting articles at Wikipedia: Quick sort, Merge sort and sorting articles at NIST DADS: Selection  Quick sort, Merge sort
2. Video: sorting
3. Weiss DSAA: Sections 7.6, 7.7, and 7.8

Discussion Sections: Quiz 6

3/31
Assignment 8 due by 11 pm
4/1
Topic 18: Binary trees
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Sections 4.1 and 4.2
2. Binary Trees at Wikipedia and at the NIST DADS (See the main page and search for the term traversal to find information the various tree traversal algorithms.)

4/4
Topic 19: Binary search trees
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Section 4.3
2. Binary Search Trees at Wikipedia and at the NIST DADS
3. Video: x = change(x);

Discussion Sections: Quiz 7

4/5 4/6
Topic 19: Binary search trees

Discussion Sections: Quiz 7

4/7
Assignment 9 due by 11 pm
4/8
Topic 20: Huffman Coding
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Section 10.1.2

4/11
Topic 20: Huffman Coding

Discussion Sections: Quiz 8

4/12
 
4/13
Review for exam 2

Discussion Sections: Quiz 8

4/14
Exam 2 tonight, 7 - 9 pm in UTC 2.112A
Exam 2 covers topics 1 - 19
4/15
Topic 23: Red - Black Trees
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Section 12.2
2. Red-Black Trees at Wikipedia
3. Red-Black Trees at the NIST Dictionary of Algorithms and Data Structures
4. An Applet showing Red-Black trees in action.

4/18
Topic 21: Graphs
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Chapter 9
2. Graphs at NIST-DADS

No Discussion Sections

 

4/19 4/20
Topic 21: Graphs

No Discussion Sections

4/21
Assignment 10 due by 11 pm
4/22
Topic 21: Graphs
4/25
Topic 22: Hash Tables
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Chapter 5
2. Hash tables at NIST-DADS

Discussion Sections: Return Exam 2

4/26 4/27
Topic 22: Hash Tables

Discussion Sections: Return Exam 2

4/28
Assignment 11 due by 11 pm
4/29
Topic 24: Heaps
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Chapter 6
2. Heaps at NIST-DADS

5/2
Topic 25: Dynamic Programming
Slides: PPT, PDF, PDF 4up

1. Weiss DSAA: Section 10.3

Discussion Sections: Quiz 9

5/3
 
5/4
Topic 25: Dynamic Programming

Discussion Sections: Quiz 9

5/5
Assignment 12 due by 11 pm
5/6
Review for Final
5/9

Study day
 

5/10

Study day

5/11
Final exam, 7 - 10 pm.
Location: SAC 1.402
5/12
Makeup final exam. You may only take the makeup by prior arrangement.
5/13

All slides in PDF 4 Up Format. (Large file! 180+ pages) Do not print this in the CS labs!

All slides in PDF Format. Many, Many Pages!! Do not print in the CS labs!!