Archived course page. The lecture, demo and assignment files for this course were not all kept, so many of the links below no longer work. Back to Teaching

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