EEL 4851 Data Structures

Fall 2005

Instructor: Dr. Lotzi Bölöni
Office: ENGR 1 - 444
Phone: 407-823-2320
E-mail: lboloni@cs.ucf.edu
Web Site: http://www.cs.ucf.edu/~lboloni/Teaching/EEL4851_2005/index.html
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 zubair48@yahoo.com
Lab assistants: Shiyuan Jin shiyuan_jin@yahoo.com- Monday, Friday
Pamella Johnson pjohnson@mail.ucf.edu- 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

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

Labs

Syllabus

Date
Topic
Lecture Notes, Readings, Homeworks
Aug. 23
Administrativia
Java review
-basics
-control structures
-packages
[slides] Primitive Java
[code] FirstProgram.java
[code] MinTest.java
[code] OperatorTest.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
[code] RandomNumbers.java
[code] MatrixDemo.java
[code] Echo.java
[code] ForeachDemo.java
[code] DivideByTwo.java
[code] MaxTest.java
Input-output:
[code] ReadStrings.java
[code] ReadStringsWithArrayList.java
[code] ListFiles.java
[code] DoubleSpace.java
Aug. 30
Object oriented programming in Java
-classes
-visibility, accessor functions
-interfaces
[slides] Classes
Sep. 1
-inheritance
-virtual functions
-abstract classes
[slides] Inheritance
Sep. 6
-collection classes
-List and its implementations (LinkedList, ArrayList)
[code] CollectionPerformance.java

Sep. 13
-The equals operator
sets-

Sep. 15
-Maps
-Using generic classes

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

Sep. 29
Trees
-representations
-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().
[code] Student.java
[code] HashTest.java

Nov. 1
Sorting
-basics, comparators
-sorting and cryptographic hashcodes for searching for duplicates
-bubblesort
[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
-quicksort

Nov. 15


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

Nov. 24
Thanksgiving

Nov. 29
-topological sorting
Homework 2 due

Dec. 1
Review for the exam

Links: