Schedule - CS 307 - Fall 2008
| Date | Topic | Reading and Events Reading Assignments with a cited chapter are from the recommended textbook, Data Structures and Problem Solving using Java, 3rd edition by Mark Allen Weiss ISBN 0321322134 |
| Wednesday, August 27 | 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. A. Assignment 1 out |
| Friday, August 29 | Topic 2: Java basics Slides: PPT, PDF, PDF 4up |
1. Chapter 1 2. Review The Java Tutorial online. Lesson: Language Basics. Read all subtopics including Variables, Operators, Expressions, Statements and Blocks, and Control Flow Statements java.sun.com/docs/books/tutorial/java/nutsandbolts/index.html 3. Javabat exercises: Warmup 1, Parrot Trouble, Warmup 1, Every Nth. |
| Monday, September 1 | Labor Day, UT Holiday and no class | Labor Day, UT Holiday and no class |
| Tuesday, September 2 | CS307 Discussion Sections DO NOT MEET today | No CS307 discussion sections today. |
| Wednesday, September 3 | Topic 2: Java basics |
1. Programming with assertions. Online at: http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html 2. Javabat exercises: Warmup 2, String X, Warmup 2, No Triples, Array 1, MaxEnd3, Array 1, Swap Ends, Array 1, Plus 2 A. Assignment 2 out |
| Friday, September 5 | Topic 2: Java Basics | |
| Monday, September 8 | Topic 3: Pointers and object variables Slides: PPT, PDF, PDF 4up |
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 3. Javabat Exercises: String1, seeColor, String1, MinCat |
| Tuesday, September 9 | Discussion Section | 1. Quiz 1 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. |
| Wednesday, September 10 | Topic 4: 2D arrays Slides: PPT, PDF, PDF 4up |
1.
Multidimensional arrays at Wikipedia. 2. An explanation of multidimensional arrays in Java. From Introduction to Programming Using Java by David Eck. |
| Thursday, September 11 | Assignment 1 due | Assignment 1 due by 11 pm. |
| Friday, September 12 | Topic 5: Exceptions and file I/O Slides: PPT, PDF, PDF 4up |
1. The Java Tutorial online: Lesson: What's an Exception and Why do I
Care? java.sun.com/docs/books/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. java.sun.com/docs/books/tutorial/essential/io/ 4. Javabat Exercises: Array 2, Ten Run, Array 2, Not Alone, Array 2 Centered Average |
| Monday, September 15 | Topic 6: Designing and
Implementing Classes. 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? java.sun.com/docs/books/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. java.sun.com/docs/books/tutorial/java/javaOO/objects.html 4. The Java Tutorial online. Classes. Read all the subtopics of in the Classes section. java.sun.com/docs/books/tutorial/java/javaOO/classes.html 5. Javabat Exercises: String 2, Get Sandwich, String 2, Star Out, String 2, Repeat Front |
| Tuesday, September 16 | Discussion Section |
1. Quiz 2 2. Q and A for assignment 2 3. Problem 5 from section problem handout 2. |
| Wednesday, September 17 | Topic 6: Designing and Implementing Classes. | 1. The Java Tutorial online. Objects. Read the entry on Objects and the
subtopics on Creating Objects and Using Objects.
java.sun.com/docs/books/tutorial/java/javaOO/objects.html 2. The Java Tutorial online. More on Classes. Read the entry on More on Classes and all subtopics. java.sun.com/docs/books/tutorial/java/javaOO/more.html 3. Read the entries on Abstract data types, Data structures, and Dynamic arrays at Wikipedia. 4. Javabat Exercises: Array 3, Count Clumps, Array 3, Can Balance A. Assignment 3 out |
| Thursday, September 18 | Assignment 2 due | Assignment 2 due by 11 pm. |
| Friday, September 19 | Topic 6: Designing and Implementing Classes. | 1. Javabat Exercises: Array 3, Max Span, String 3, Not Replace |
| Monday , September 22 | Topic 7: 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? java.sun.com/docs/books/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. java.sun.com/docs/books/tutorial/java/IandI/subclasses.html |
| Tuesday, September 23 | Discussion Section |
1. Quiz 3 2. Q and A for assignment 3 3. Problem 9 from section handout 3, building a complex number class. |
| Wednesday, September 24 | Topic 7: Inheritance and polymorphism Assignment 4 out |
Assignment 4 posted |
| Thursday, September 25 | Assignment 3 due | Assignment 3 due by 11 pm |
| Friday, September 26 | Topic 7: Inheritance and polymorphism | |
| Monday, September 29 | Topic 8: Interfaces and abstract classes. Slides: PPT, PDF, PDF 4up |
1. The Java Tutorial online. Read the entry on What is an Interface.
java.sun.com/docs/books/tutorial/java/concepts/interface.html 2. The Java Tutorial online. Lesson: Interfaces. Read this page and all of the sub topics for Interfaces java.sun.com/docs/books/tutorial/java/IandI/createinterface.html 3. The Java Tutorial online. Read the topic on Abstract Methods and Classes: java.sun.com/docs/books/tutorial/java/IandI/abstract.html |
| Tuesday, September 30 | Discussion Section |
1. Quiz 4 2. Q and A for assignment 4 3. Problem 3 from section problem handout 4. Ticket problem. |
| Wednesday, October 1 | Topic 8: Interfaces and abstract classes. | |
| Friday, October 3 |
Topic 9: Algorithm analysis Slides: PPT, PDF, PDF 4up |
1. Chapter 5 2. Algorithm Analysis and Big O at Wikipedia 3. The National Institute of Standards and Technology, Dictionary of Data Structures and Algorithms page on Big O notation. 4. Slides on Big O by Owen Astrachan of Duke University. |
| Monday, October 6 | Topic 9: Algorithm analysis |
Assignment 4 due by 11 pm Assignment 5 posted |
| Tuesday, October 7 | Discussion Section |
1. Quiz 5 2. Review for midterm 1. |
| Wednesday, October 8 | Topic 9: Algorithm analysis Midterm 1, 6 - 8 pm in WEL 1.316 |
Midterm 1, 6 - 8 pm in
WEL 1.316 Midterm 1 will cover up to and including all object oriented programming topics. It will not include algorithm analysis or recursion. |
| Friday, October 10 | Topic 10: Introduction to recursion Slides: PPT, PDF, PDF 4up |
1. Chapter 7 2. Recursion at Wikipedia. 3. Recursion at the NIST Dictionary of Algorithms and Data Structures 4. Javabat Exercises: Recursion 1, Bunny Ears, Recursion 1, Bunny Ears 2, Recursion 1, Triangle, Recursion 1, Count 7, Recursion 1, String Clean, Recursion 1, Fibonacci |
| Monday, October 13 | Topic 10: Introduction to recursion | |
| Tuesday, October 14 | Discussion Section |
1. Quiz 6 2. Q and A for assignment 5. 3. Midterm 1 handed back, cover suggested solutions, |
| Wednesday, October 15 | Topic 11: Recursive backtracking Slides: PPT, PDF, PDF 4up Assignment 6 out |
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. 6. Javabat Exercises: Recursion 1, Nested Parenthesis, Recursion 1 Count X, Recursion 1, No X, |
| Thursday, October 16 | Assignment 5 due | Assignment 5 due by 11 pm |
| Friday, October 17 | Topic 11: Recursive backtracking | |
| Monday, October 20 | Topic 12: Sorting and searching Slides: PPT, PDF, PDF 4up |
1. Chapter 5, section 5.6 and Chapter 8. 2. Searching articles at Wikipedia: Linear Search, Binary Search, 3. Searching articles at NIST DADS: Linear Search, Binary Search 4. Sorting articles at Wikipedia: Selection Sort, Insertion Sort, Shell sort, Quick sort, Merge sort 5. Sorting articles at NIST DADS: Selection Sort, Insertion Sort, Shell sort, Quick sort, Merge sort 6. A whimsical take on selection sort and quicksort at YouTube. 7. Javabat Exercises: Recursion 2, Group Sum, Recursion 2, Split 10 Odd, |
| Tuesday, October 21 | Discussion Section |
1. Quiz 7 2. Q and A for assignment 6 3. Problems 4, 8, and 11 from section problem handout 6. |
| Wednesday, October 22 | Topic 12: Sorting and searching Slides: PPT, PDF, PDF 4up Assignment 7 out |
|
| Thursday, October 23 | Assignment 6 due | Assignment 6 due by 11 pm |
| Friday, October 24 |
Topic 12: Sorting and searching Slides: PPT, PDF, PDF 4up |
|
| Monday, October 27 | Topic 13: Abstract Data Types and Data Structures: Array based lists revisited. 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 Dictionary of Algorithms and Data Structures. (NIST DADS) 4. The Java Tutorial online. The intro article to the Collections Framework java.sun.com/docs/books/tutorial/collections/interfaces/index.html and The Collection Interface. java.sun.com/docs/books/tutorial/collections/interfaces/collection.html 5. An explanation of the Java Collections Framework. |
| Tuesday, October 28 | Discussion Section |
1. Quiz 8 2. Q and A for assignment 7 3. Part 1 from section problems 8. |
| Wednesday, October 29 | Topic 14: Generic Data Structures Slides: PPT, PDF, PDF 4up Assignment 8 out |
1. Section 4.7 2. The Java tutorial online. Generics. Read the Introduction and the section on Generic Types. java.sun.com/docs/books/tutorial/java/generics/index.html |
| Thursday, October 30 | Assignment 7 due | Assignment 7 due by 11 pm |
| Friday, October 31 |
Topic 15: Iterators Slides: PPT, PDF, PDF 4up |
1. Sections 6.2 and 6.3.2 2. Iterators at Wikipedia. 3. 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. java.sun.com/docs/books/tutorial/java/javaOO/nested.html |
| Monday, November 3 | Topic 16: Linked Lists Slides: PPT, PDF, PDF 4up |
1. Chapter 17 2. Linked Lists at Wikipedia. 3. Linked Lists at the NIST Dictionary of Algorithms and Data Structures |
| Tuesday, November 4 | Discussion Section |
1. Quiz 9 2. Q and A for assignment 8 |
| Wednesday, November 5 | Topic 16: Linked Lists Assignment 9 out |
|
| Friday, November 7 |
Topic 16: Linked Lists | |
| Monday, November 10 | Topic 17: Stacks Slides: PPT, PDF, PDF 4up |
1. Section 11.1 2. Chapter 16 3. Stacks at Wikipedia. 4. Stacks at the NIST Dictionary of Algorithms and Data Structures 5. Section 11.2 6. postfix notation at Wikipedia |
| Tuesday, November 11 | Discussion Section |
1. Quiz 10 2. Review for midterm 2 |
| Wednesday, November 12 | Topic 17: Stacks Midterm 2, 6 - 8 pm in GEO WEL 1.316 |
Midterm 2, 6 - 8 pm in
WEL 1.316
Midterm 2 will cover up to and including Linked Lists. |
| Friday, November 14 |
Topic 18: Queues Assignment 8 due |
1. Chapter 16 2. Queues at Wikipedia. 3. Queues at the NIST Dictionary of Algorithms and Data Structures A. Assignment 8 due by 11 pm |
| Monday, November 17 | Topic 18: Queues | |
| Tuesday, November 18 | Discussion Section |
1. Quiz 11 2. Q and A for assignment 9 3. Midterm 2 handed back, cover suggested solutions, |
| Wednesday, November 19 | Topic 19: Trees Slides: PPT, PDF, PDF 4up Assignment 10 out |
1. Chapter 18 2. Binary Trees at Wikipedia 3. Binary Trees at the NIST Dictionary of Algorithms and Data Structures (See the main page and search for the term traversal to find information the various tree traversal algorithms.) |
| Thursday, November 20 | Assignment 9 due | Assignment 9 due by 11 pm |
| Friday, November 21 |
Topic 20: Binary search trees Slides: PPT, PDF, PDF 4up |
1. Chapter 19, sections 19.1 - 19.3 2. Binary Search Trees at Wikipedia 3. Binary Search Trees at the NIST Dictionary of Algorithms and Data Structures |
| Monday, November 24 | Topic 20: Binary search trees Assignment 11 out |
|
| Tuesday, November 25 | Discussion Section | 1. Quiz 12 2. Q and A for assignment 10 |
| Wednesday, November 26 | No class today, CS307 only. | No class today, CS 307 only. Compensation for evening midterms. |
| Friday, November 28 |
Thanksgiving Holiday, UT closed, no class. | Thanksgiving Holiday, UT closed, no class. |
| Monday, December 1 | Topic 21: 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. |
| Tuesday, December 2 | Discussion Section Assignment 10 due |
1. Quiz 13 2. Review for the final 3. TA evaluations A. Assignment 10 due by 11 pm. |
| Wednesday, December 3 | Topic 22: Hash tables Slides: PPT, PDF, PDF 4up Course-Instructor Evaluations |
1. Chapter 20 2. Hash tables at Wikipedia 3. Hash tables at NIST DADS |
| Friday, December 5 |
Topic 23: Maps / dictionaries Slides: PPT, PDF, PDF 4up Assignment 11 due. No slip days may be used on assignment 11. |
1. Section 6.8 2. Maps / Dictionaries at Wikipedia (a.k.a. associative arrays) 3. Maps / Dictionaries at NIST DADS Assignment 11 due by 11 pm. |
| December 8 & 9 | Dead Days | Dead Days |
| Wednesday, December 10 | First Day of Finals | The CS307 final will be given at a uniform time for both lecture sections. The final time will NOT follow the time listed in the course schedule. The data and time for the final will be available towards the end of October. Traditionally the Registrar schedules the final for either Wednesday, Thursday, or Friday evening of finals week, but could be as late as Tuesday, December 16. |
| Tuesday, December 16 |
Finals End |