CMC LogoCSCI 62-01 (F '08), Data Structures and Advanced Programming (Stough)

 

Schedule:

Lecture Date Topics Assigned / Referenced
Assignments Due/Comments
0 T, Sept 2
syllabus
 http://www.java.com/en/download/
 http://www.eclipse.org/downloads/ (Eclipse IDE for Java Developers) 
 http://java.sun.com/javase/6/docs/api/  complete Java specification.
 The book: baileyJavaStructures.pdf 
      
Homework 0
 Read Chapters 0 - 2

 
1
R, Sept 4
  Object-oriented design, abstraction
  Ratio.java
  BankAccount.java
 
 Homework 0 due
         Friday, Sept 5.
2
T, Sept 9
 
  OO, Generics
  bailey.jar
  TextCoinStrip.java
 
  GraphicsCoinStrip.java
  Square.java
  Coin.java

  http://java.sun.com/docs/books/tutorial/java/generics/index.html 
  http://www.javaranch.com/journal/2003/04/immutable.htm
  http://www.java-forums.org/new-java/2747-implementing-iterator.html 
 
 
  Program 1

  Read Chapters 3, 4

3
R, Sept 11
  Using Generics
  Asymptotics and O-notation
  Recursion / induction

  WordScanner.java
  Test text files:
  inoperative.txt
  job.txt 
  mary.txt

  Read Chapter 5

  Program 2  
  Program 1 due Friday.

  Monday, Sept 15
          last day to add.
4
T, Sept 16
 more Asymptotics
 Sorting
 FibonacciNumbers.java 
 SortingTests.java  
 
 Tutoring: Sunday 8-10, Tuesday 6-7 (Thomas)
                 Mon 3-on, Wed. 4-on, Fri 4-on (Stough)

  Ch. 6
    
    

5
R, Sept 18
 Sorting
 Interface Design
 Iterators
  Ch. 6,
  Lesser: Ch. 7, 8 (not 8.1)
 Program 2 due Friday.
6
T, Sept 23
  Comments;
              I apologize for miswriting the assignment
              To remember:
                   -make Concordance object useful outside of Concordance.java
 
  Lists
  http://72.5.124.55/docs/books/tutorial/java/IandI/abstract.html
  Ch. 9

  Program 3


7
R, Sept 25
 Lists
 
  Ch. 9 
   PracticeMidterm1.doc
 
 Program 3 due Sunday
.
 

T, Sept 30
 review
 TestSorting.java from Program 3


 PracticeMidterm1.doc due
            IN CLASS

R, Oct 2
 Midterm 1
  http://www.cs.williams.edu/JavaStructures/Documentation.html 
  structure5 source


8
T, Oct 7
 Stacks and Queues (Linear Structures)
 StackPlay.java
  Program 4 - 2 parts 

  Ch. 10

9
R, Oct 9
 Stacks and Queues
 DoughAllocatorTester.java
 QueuePlay.java

 

  Ch. 10
 
  Program 4 due Monday.
 
10
T, Oct 14
 
 Binary Structures
 Ordered Structures
  Program 5
        - HTML.java
  Ch. 12
  Lesser: Ch. 11
 Problem Set 4
   DoughAllocator.java
   Rectangle.java
   PostFixCalculator.java
11
R, Oct 16
 Binary Structures
  TwentyQuestions.java


 Program 5 due Monday.
   -WebCrawler.java

T, Oct 21
 

 Fall Break
12
R, Oct 23
 Priority Queues, Heaps
  Using the debugger: use help through eclipse and view
               http://www.ibm.com/developerworks/library/os-ecbug/ 

  Ch. 13
  Program 6 
   -TextFileIterator.java
   -CharacterFrequencies
   -inoperative.txt
   -mary.txt
   -job.txt 

13
T, Oct 28
 
 Priority Queues, Heaps, Heap Sort
 http://en.wikipedia.org/wiki/Binary_heap
 
  Ch. 13

  Practice Midterm 2

14
R, Oct 30
 
 HeapSortPlay.java  



 Program 6 due Monday.
   -HuffmanTree.java
   -HuffmanEncoder.java
   -HuffmanDecoder.java
   -StringIterator.java
   -HuffmanTester.java  

T, Nov 4
 review

 Practice Midterm 2 due.

R, Nov 6
 Program 6 reviewed, Midterm 2 handed out


15
T, Nov 11
 Search Trees
 -RedBlackTree.java
 -http://en.wikipedia.org/wiki/Splay_tree
 -others: http://en.wikipedia.org/wiki/Self-balancing_binary_search_tree
  Ch. 14
 Midterm 2 due IN CLASS
16
R, Nov 13
 Maps, Hash Tables
 -http://en.wikipedia.org/wiki/Symbol_table  
  Ch. 15
  Program 7  
        - WordScanner.java
        - propernames.txt 
        - names.dic 
        - manywords.dic 
        - CHTCorrection.txt
        - Soundex.java  

17
T, Nov 18
 Maps, Hash Tables   Ch. 15
 
18
R, Nov 20
 Graphs 
 C++, intro
  -http://cppreference.com
 Installing Eclipse for C++ (Windows)
 Code from Weiss: http://users.cs.fiu.edu/~weiss/phc++/code/  
  Ch. 16
 Program 7 due Friday.

T, Nov 25
 Graphs
 C++
    -http://www.daniweb.com/tutorials/tutorial71858.html
    -http://www.cprogramming.com/tutorial/namespaces.html 
    -Overall intro tutorial: http://www.cplusplus.com/doc/tutorial/ 
  Ch. 16
  Weiss 0-1


R, Nov 27


 Thanksgiving Break
20
T, Dec 2
 C++, templates (generics)            
 Intro: http://gd.tuwien.ac.at/languages/c/c++oop-pmueller/node8.html
    -Rectangle.h, Rectangle.cpp
    -Stuff.h, IntBox.h 
    -HelloWorld.cpp (classes, vector, parameter passing)
    -http://www.codeguru.com/forum/showthread.php?t=343473
    -Make sure you select "Display Selected Console" and stop your runs
      before you recompile.   
 Templates/Generics: http://www.cplusplus.com/doc/tutorial/templates.html
 http://en.wikipedia.org/wiki/Generic_programming#Templates_in_C.2B.2B
    -Box.h, BoxTester.cpp
    -Vector.h, VectorTester.cpp                    
  Weiss 2-3, 7
  View links
  Program 8

21
R, Dec 4
 C++, memory model, pointers.

-References/pointers: http://www.cplusplus.com/doc/tutorial/pointers.html
  • & is the reference operator and can be read as "address of"
  • * is the dereference operator and can be read as "value pointed by"
  View links
  Program 9
 Program 8 due prior to class.

 LinearStructures.h
22
T, Dec 9
 C++, destructors -  see this link on destructors.
  inheritance -  see this link on inheritance.
  iterators -  see this link on iterators, and here.
  overloading operators -  see this link on overloading operators.
                                    - and here's even more.
                                    - const - non-mutating methods.
 
 Weiss, Ch. 4, 5, 6
 Program 9 due prior to class.
23
R, Dec 11
 C++,
 Dangling pointers (bad) - http://www.ccs.neu.edu/home/will/CPP/index.html
 C++ is bad? http://yosefk.com/c++fqa/defective.html

  Random (NOT ON TEST) stuff, for future reference:
     -article on using const is here.
 




 Additional review session at some point here.



W, Dec 17
 Final Exam, BC 22 at 2:00PM, 3 hours
 http://www.claremontmckenna.edu/registrar/finals.php