EEL 4851 Data Structures

Fall 2005

Instructor: Dr. Lotzi Bölöni
Office: ENGR 1 - 444
Phone: 407-823-2320
Web Site:
The assignments and the other announcements will be posted on the course web site
Classroom: ENGR-2 205
Class Hours: Tuesday,Thursday 1:30 - 2:45
Office Hours: Monday 9:30-12:30, Tuesday 3:00-6:00 or by appointment
Grader: Mohammad Zubair Ahmad
Lab assistants: Shiyuan Jin Monday, Friday
Pamella Johnson Wednesday 6-9pm
Pre-requisites: Basic knowledge of a high-level programming language (Java, C, C++ or C#)
Text: Mark Allen Weiss: Data Structures and Problem Solving Using Java, 3/E
Grading: Homework: 15%
Labs: 15%
Midterm Exam: 30%
Final Exam: 40%

Standard 90/80/70/60 scale will be used for final grades (curved if necessary)

Goto: Links, Syllabus, Grades


Grades are posted based on the last 5 digits of your student or employee number (the number you appear in roosters).



Lecture Notes, Readings, Homeworks
Aug. 23
Java review
-control structures
[slides] Primitive Java
Aug. 25
-reference types
-using arrays in Java
-creating new objects, null, the use of garbage collector
-call by value, call by reference
[slides] Reference Types
Aug. 30
Object oriented programming in Java
-visibility, accessor functions
[slides] Classes
Sep. 1
-virtual functions
-abstract classes
[slides] Inheritance
Sep. 6
-collection classes
-List and its implementations (LinkedList, ArrayList)

Sep. 13
-The equals operator

Sep. 15
-Using generic classes

Sep. 20
Algorithm analysis
-Big Oh.
-Binary search
-Maximum subsequence sum examples
[slides] Algorithm Analysis
Homework 1 - due October 4th.
Sep. 22
-Maximum subsequence sum examples
Linked lists
[slides] Linked Lists
Sep. 27
-linked lists (cont'd)
-the implementation of java.util.LinkedList

Sep. 29
-Unix directories
[slides] Trees
Oct. 4
-operations on trees, merge
Homework 1 due
Oct. 6
Binary search trees [slides] Binary Search Trees
Oct. 11
Midterm examination
Oct. 13
-binary trees cont'd

Oct 18
-binary trees cont'd

Oct. 20 Hash tables
[slides] Hash Tables
Oct 25
-hash tables cont'd

Oct. 27 -Practical: comparing HashSet, TreeSet and ArrayList used as sets.
-consistent use of equals(), compareTo() and hashCode().

Nov. 1
-basics, comparators
-sorting and cryptographic hashcodes for searching for duplicates
[slides] Sorting
Nov. 3
-insertion sort, performance analysis
-Shell sort, performance analysis

Nov. 8
-merge sort, performance analysis
Homework 2 - due November 29th
Nov. 10

Nov. 15

Nov. 17
Graph algorithms
-graph representations
[slides] Graphs
Dijskra's algorithm applet
Nov. 22
-shortest paths

Nov. 24

Nov. 29
-topological sorting
Homework 2 due

Dec. 1
Review for the exam