Schedule - CS 307 - Summer 2011
Date | Topic | Readings and Events Reading Assignments with a cited chapter are from the recommended textbook, Data Structures and Problem Solving using Java, 4th edition by Mark Allen Weiss ISBN 978-0321541406 |
Monday, June 13 | Topic 1: Syllabus and Course Mechanics
Slides in PowerPoint, PDF, and PDF for printing (4 slides per page) |
1.Read the course syllabus, topics list, and schedule. Browse class
materials on class web site. 2. Chapter 1 3. Review The Java Tutorial online. Lesson: Language Basics. Read all subtopics including Variables, Operators, Expressions, Statements and Blocks, and Control Flow Statements download.oracle.com/javase/tutorial/java/nutsandbolts/index.html A. Assignment 1 out |
Wednesday, June 15 | Finish Topic 2: Java basics |
1. Programming with assertions. Online at: download.oracle.com/javase/1.4.2/docs/guide/lang/assert.html |
Thursday, June 16 | Discussion Section |
1. Quiz 1 in discussion section 2. Q and A (questions and answers) for assignment 1 3. If time remaining go over the Roman Numeral problem (number 4) from section problem handout 1. |
Friday, June 17 |
Topic 3: Pointers and object variables |
1. Pointers and Memory by Nick Parlante. This was
designed for students using C but is still an excellent explanation of what
pointers are and what can be done with them. Available online at: http://cslibrary.stanford.edu/102/PointersAndMemory.pdf 2. Chapter 2, sections 2.1 - 2.4 A. Assignment 2 out |
Monday, June 20 |
1. The Java Tutorial online: Lesson: What's an Exception and Why do I
Care? download.oracle.com/javase/tutorial/essential/exceptions/definition.html 2. Chapter 2, sections 2.5 - 2.6 3. The Java Tutorial Online. Basic I/O. Read the sections on I/O Streams and File I/O. download.oracle.com/javase/tutorial/essential/io/ A. Assignment 1 due |
|
Wednesday, June 22 | Topic 4: Exceptions and file I/O Slides: PPT, PDF, PDF 4up Topic 5: Designing and
Implementing Classes. |
1. The Java Tutorial online. Lesson: Object-Oriented Programming
Concepts. Read the following topics: What is an Object? What is a Class? download.oracle.com/javase/tutorial/java/concepts/index.html 2. Chapter 3 3. The Java Tutorial online. Lesson: Objects. Read the page on Objects and the sub pages on Creating Objects and using Objects. 4. The Java Tutorial online. Classes. Read all the subtopics of in the Classes section. |
Thursday, June 23 | Discussion Section |
1. Quiz 2 in discussion section 2. Q and A for assignment 2 3. Problem 5 from section problem handout 2. |
Friday June 24 | Topic 5: Designing and Implementing Classes. | 1. Read the entries on Abstract data types, Data structures, and Dynamic arrays at Wikipedia. |
Monday, June 27 | Topic 5: Designing and Implementing Classes. |
A. Assignment 2 due by 11 pm |
Wednesday, June 29 | Topic 6: Inheritance and polymorphism Slides: PPT, PDF, PDF 4up |
1. Chapter 4, sections 4.1 - 4.6 2. An explanation of inheritance from Stuart Reges, University of Arizona 3. The Java Tutorial online. What is Inheritance? download.oracle.com/javase/tutorial/java/concepts/inheritance.html 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. download.oracle.com/javase/tutorial/java/IandI/subclasses.html |
Thursday, June 30 | Discussion Section |
1. Quiz 3 in discussion section 2. Q and A (questions and answers) for assignment 3 3. Problem 9 from section handout 3, building a complex number class. |
Friday July 1 | Topic 7: Interfaces and abstract classes. Slides: PPT, PDF, PDF 4up |
1. The Java Tutorial online. Read the entry on What is an Interface.
download.oracle.com/javase/tutorial/java/concepts/interface.html 2. The Java Tutorial online. Lesson: Interfaces. Read this page and all of the sub topics for Interfaces download.oracle.com/javase/tutorial/java/IandI/createinterface.html 3. The Java Tutorial online. Read the topic on Abstract Methods and Classes: download.oracle.com/javase/tutorial/java/IandI/abstract.html |
Monday, July 4 | Independence Day holiday - no class | Independence Day holiday - no class |
Tuesday, July 5 |
A.
Assignment 3 due by 11 pm B. Assignment 4 out |
|
Wednesday, July 6 | Topic 8: Algorithm analysis Slides: PPT, PDF, PDF 4up |
1. Chapter 5 2. Yet another explanation of Big O. 3. Video on Big O from MIT 4. Algorithm Analysis and Big O at Wikipedia 5. The National Institute of Standards and Technology, Dictionary of Data Structures and Algorithms page on Big O notation. 6. Slides on Big O by Owen Astrachan of Duke University. |
Thursday, July 7 | Discussion Section |
1. Quiz 4 in discussion section 2. Q and A for assignment 4. 3. Problem 3 from section problem handout 4. Ticket problem. |
Friday July 8 | First term finals. No class | First term finals. No class |
Monday, July 11 | Finish Algorithm Analysis Topic 9: Introduction to recursion |
1. Chapter 7 2. Recursion at Wikipedia. 3. Recursion at the NIST Dictionary of Algorithms and Data Structures A. Assignment 4 due by 11 pm |
Wednesday, July 13 | Finish Topic 9: Introduction to recursion | |
Thursday, July 14 | Discussion Section | 1. Quiz 5 in discussion section 2. Q and A for assignment 5 3. Review for midterm |
Friday July 15 | Midterm in class | Midterm in class. The midterm will cover up to and including topic 8, Algorithm analysis. |
Monday, July 18 | Topic 10: Recursive backtracking Slides: PPT, PDF, PDF 4up |
1.
Backtracking at Wikipedia. 2. Backtracking at the NIST Dictionary of Algorithms and Data Structures 3. Another explanation of recursive backtracking. 4. The 8 queens puzzle at Wikipedia. 5. the knapsack problem at Wikipedia. A. Assignment 5 due by 11 pm |
Wednesday, July 20 | Topic 11: Sorting and searching Slides: PPT, PDF, PDF 4up Review midterm results. |
1. Chapter 5, section 5.6 and Chapter 8. 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, Shell sort, Quick sort, Merge sort and sorting articles at NIST DADS: Selection Sort, Insertion Sort, Shell sort, Quick sort, Merge sort 4. A whimsical take on selection sort and quicksort at YouTube. |
Thursday, July 21 | Discussion Section | 1. Quiz 6 in discussion section 2. Q and A for assignment 6 3. Problems 4, 8, and 11 from section problem handout 6. |
Friday July 22 |
Topic 12: ADTs, Java Collections Framework, Generic Data Structures Slides: PPT, PDF, PDF 4up |
1. Sections 6.1, 6.3.1, 6.4 - 6.9 2. Chapter 15 3. Abstract Data Types, Data Structures, and Dynamic Arrays at the NIST DADS. (NIST DADS) 4. The Java Tutorial online. The intro article to the Collections Framework download.oracle.com/javase/tutorial/collections/interfaces/index.html and The Collection Interface. download.oracle.com/javase/tutorial/collections/interfaces/collection.html 5. An explanation of the Java Collections Framework. 6. Section 4.7 7. The Java tutorial online. Generics. Read the Introduction and the section on Generic Types. download.oracle.com/javase/tutorial/java/generics/index.html |
Monday, July 25 |
Finish Topic 13, Iterators |
1. Sections 6.2, 6.3, 15.1, 15.2, and 15.5 A.
Assignment 6 due by 11 pm |
Wednesday, July 27 | Topic 14: Linked Lists Slides: PPT, PDF, PDF 4up |
1. Chapter 17 2. Linked Lists at Wikipedia. and at the NIST DADS |
Thursday, July 28 | Discussion Section | 1. Quiz 7 in discussion section 2. Q and A for assignment 7 |
Friday, July 29 | Finish Topic 14: Linked Lists | |
Monday, August 1 | Topic 15: Stacks Slides: PPT, PDF, PDF 4up |
1. Section 11.1, Chapter 16, 11.2 2. Stacks at Wikipedia. and at the NIST DADS 3. postfix notation at Wikipedia A. Assignment 7 due by 11 pm |
Wednesday, August 3 | Finish Topic 16, Queues | 1. Chapter 16 2. Queues at Wikipedia. and at the NIST DADS |
Thursday, August 4 | Discussion Section | 1. Quiz 8 in discussion section 2. Q and A for assignment 8 |
Friday August 5 | Topic 17: Trees Slides: PPT, PDF, PDF 4up |
1. Chapter 18 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.) A. Assignment 9 out |
Monday, August 8 | Topic 18: Binary search trees | 1. Chapter 19, sections 19.1 - 19.3 A. Assignment 8 due by 11 pm |
Wednesday, August 10 | Topic 19: Balanced binary search trees Slides: PPT, PDF, PDF 4up |
1. Chapter 19, section 19.5 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. |
Thursday, August 11 | Discussion Section |
1. Quiz 9 2. Review for final exam |
Friday August 12 |
Topic 20: Hash tables, Maps / Dictionaries Course-instructor evaluations in class. |
1. Chapter 20 A. Assignment 9 due by 11 pm |
Monday, August 15 | Final Exam, 7 - 10 pm | Final Exam 7 - 10 pm, location TBD (Yes, in the evening.) |