2143203 Fundamental Data Structure and Algorithm

2nd semester 2009

Tuesday    14:30-16:00 room 2205,  Friday  13-14:30 room 2210
Prabhas Chongstitvatana

contact me at:  prabhas at chula dot ac dot th
office:  Engineering Building 4, floor 18, room 13
phone:   02-218-6982

syllabus

lecture year 2009-1

Announcement

19 Jan    Quiz is on Friday, a 30 min. written paper.  They are on 1) 5 Feb, 2) 19 Feb, 3) 12 Mar, 4) 2 Apr
              The first quiz is about programming and algorithm.  You will be asked to write the solution in Java.
24 Jan    do_list.java  has been uploaded.  Prepare your Quiz 1 by doing programming excercises
15 Mar   Quiz 1 and 2  score    average quiz 1 = 8.7, quiz 2 = 8.6 (not count zero).  
              For students who got zero for quiz2, it is because I detect anomaly.  I will not yet give penalty. 
              Your score will be distributed to the next two quizes, each 12+6.  If I detect more anomaly
               (or fraud), I will definite submit the case to the faculty examination committee.
15 Mar   The third quiz is on Tues 16 Mar. 2:30pm at 2205.   Topics: Searching and Lists
23 Mar   Quiz 3 score and total
26 Mar   Quiz 4 will be on Tue 20 Apr 2:30pm at 2205. Topics: Stack Queue Tree (upto AVL tree)
23 Apr    Quiz 4 score and Summary
12 May    Final Grade   (post until June)

Topics

Week

1    Intro
2    Algorithm
3    Programming   Introduction to Som language
4    (26, 29 Jan)  University Games    Programming excercise
5    Sorting    Vishnu-slide     Quiz 1
6    Sorting 2   Asymptotic notation    Analysis of algorithm: how to  
7    Searching  Quiz 2   Search (Chalermsup ppt)   BigOh analysis (Chalermsup ppt)
8    midterm
9    List Stack   List-Stack-Queue (Vishnu-slide)
10    Queue  Quiz 3
11    Tree  :  Binary tree, traversal, insert, delete, copy without ordering  (short note)
12    Heap
13    Hash   Quiz 4
14    (6 Apr)  Chakri day
15    (13 Apr) Songkran day

16     Summary and Revision

Grading        

Four in class quizzes 4 x 12 =      48%
Final Exam            40%
Assignment            12%

Reference Textbook

Mark Allen Weiss, Data Structures and Algorithm Analysis in Java (Second Edition), Addison-Wesley, 2007, ISBN: 0-321-37013-9.
see author's home page:  http://www.cs.fiu.edu/~weiss/   for errata and source code.

Additional Materials

Java code from the textbook  version Summer 2008 (zip file )
Som language homepage

Tools:  Som compiler and library (zip files executable)
My example code

  do-list.txt     do_list.java
  do-pgm.txt
  merge.txt

Homework Assignment

The last day to hand in the assignments is Friday 23 Apr 2010. (before the final exam)
19 Jan    Write Java program version of do-list.txt  shown in the class.  Run it to see the result.
22 Jan    Write your java code from the program shown in the class (listlen ...) and run them.
9 Feb      Write Java program to do merge-sort.  Insert a counter to count how many times it recurse.
9 Mar     Write Java program to perform the list operations on a doubly linked list: Insert, Remove, Find
26 Mar    Write Java program to do : insert a node into a binary tree, traverse that tree (choose one: preorder, inorder, postorder).

last update  12 May 2010