Course                  CSC 220 Data Structure

Description          Data Structure is an essential and integral component of  software design and development, that is part of software engineering practice. We typically design and model information (data abstraction) & logic (algorithm) representing solutions necessary for software applications.
Our main objective is to enhance students' proficiency in the areas of software design and development, data structures, and software engineering.

                        In this class, we will study a principle of the design, implementation and run-time analysis of important data structures and algorithms. We will cover but not limit to important data structures such as sorted arrays, linked lists, stacks, queues, and trees. An approach based on abstract data types, standard design notation/representation such as UML  will be emphasized. Programming assignment will be in Java.

Prerequisites     CSC 120 with C and better

Time & Room     M-W-F 2:00pm-3:15pm, Nethken 105

Course URL

Instructor          Dr. Chokchai (Box) Leangsuksun

Office                Nethken 237

Office Hours        M-W-F 8am-10:00am. T-Th 10:00pm-12:00pm or by an appointment

Phone                   257-3291


.NET passport  (IM, VOIP SIP phone)

Grader               TBA

Texts                 Data Structure and Algorithm in Java, 2nd Edition

 by Robert LaForce

 Publisher: Sam Pub Co; ISBN: 0672324539; (December 2002).

 In addition to materials from the above main textbook, Ill provide more references (URL or   some  books) when we discuss on some particular topics in the programming projects.

 Any of your favorite JAVA books

 Reference: Scott Kendall, Unified Process Explained, The, 1/e, ISBN-0-201-74204-7

Grading Policy    5-8 Programming Assignments    10%    

                         Homework assignments            10%

                         Class Attendance                    5%

                         Term Project                          30%    

                         Midterm Examination                15%     April 16, 2004

                         Final Examination (comp.)         30%     Friday, May 14, 2004

                         Peer Evaluation form  and calculation formula

                         Presentations will be graded using this grade sheet


Class Materials

Date Topics
3/10/2004 Class syllabus and Introduction to UML (pdf version)
Introduction to UML and homework 1 (pdf version)
Intro to OO with the UML flavor & Rational UML poster
Intro to OO with the UML flavor
Chapter 2 Array and Array Applet and a class example
Class assignment No2
  Simple Java interface Sample, MyArray and ant zip file, source code source code and Chapter 3 Simple  Sorting, bubble sort. Peer Evaluation form.
  Bubble sort applet, selection sort applet, insertion sort applet, Insertion sorting with a Person objectHomework no 3 (Programming assignment & pdf version) & a final project handout,
  Chapter 4 Stack & Queue Stack applet, Queue applet and Priority Queue applet., and (infix to postfix transformation)
Postfix evaluation code
Intro to XML
continue XML intro and final project discussion
sample XML demo files
4/8/2004 Easter Holiday 
4/12/2004 Easter Holiday 
Chapter 5 Linked Lists and Midterm review
4/16/2004 Midterm  Exam
Chapter 6 recursion
Final project design and progress reports
Diva & Final project design and progress reports
Thread and Timer class and socket sample codes (Client and Server)
Chapter 8 Binary Tree and Binary Tree applet
Chapter 11 Hash Table, Hash Applet, Hash Chain and Hash Double
Chapter 13 Graph & homework 5, Graph Applet
Final Presentation
5/14/2004 Final Exam (comprehensive)