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) |
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 |