**Spring 2011
Lectures: Tuesdays and Thursdays,
11:00am-12:20pm
Instructor: Dimitrios Kosmopoulos
**

**Spring**** 2011 Syllabus**
PDF

**Instructor:**-
**Dimitrios Kosmopoulos** -
**E-mail:**kosmopo uta edu **Office:**ERB644**Office hours:**TuTh 12:30pm-2:30pm

**Teaching assistant:**- Sujoy Bhattacharya
**E-mail:**sujoy.bhattacharya mavs uta edu**Office:**ERB560**Office hours:**MoWe 3:00-5:00pm

**Recent Announcements: **

5/12/11 Final exams solutions available

Lecture | Date | Topic | Textbook Readings | Extra Material |
---|---|---|---|---|

1 | Tue 01/18 | Data models, data structures, algorithms | Chapter 1 | |

2 | Thu 01/20 | Algorithm example: Union-Find | Chapter 1 | - Case Study, - Union/Find Algorithm Visualization |

3 | Tue 01/25 | Function growth, O-notation, recurrences | Chapter 2 | - Video about exponential growth, |

4 | Thu 01/27 | Examples | Chapter 2 | |

5 | Tue 02/08 | Stacks and queues | Chapter 4 |
- Implementation Example, |

6 | Thu 02/10 | Recursion and dynamic programming | Chapter 5 | - Fibonacci.java - DynamicFibonacci.java - Stopwatch.java |

7 | Tue 02/15 | Trees | Chapter 5 | |

8 | Thu 02/17 | Elementary Sorting Algorithms | Chapter 6 | - Implementation Example, - Visualizations, Video |

9 | Tue 02/22 | Quicksort | Chapter 7 | - Implementation Example, - Visualizations |

Thu 02/24 | FIRST EXAM (Lectures 1-7) | |||

10 | Tue 03/01 | Quicksort improvements | Chapter 7 | |

11 | Thu 03/03 | Quicksort (cont.) | Chapter 7 | |

12 | Tue 03/08 | Mergesort, appendix | Chapter 8 | - Implementation Example, - Visualizations |

13 | Thu 03/10 | Heaps and Priority Queues | Chapter 9 | - Implementation Example, - Tutorial & Visualizations |

14 | Tue 03/22 | Symbol Tables and binary search | Chapter 12 | |

15 | Thu 03/24 | Binary search trees | Chapter 12 | - BST Example |

16 | Tue 03/29 | Binary search trees (cont) | Chapter 12 | |

17 | Thu 03/31 | Balanced Trees | Chapter 13, 16.1-16.3 | - LLRB Trees tutorial |

18 | Tue 04/05 | Hashing | Chapter 14 | - Tutorial and Visualizations |

19 | Thu 04/07 | Hashing (cont) | ||

20 | Tue 04/12 | Data Compression | - | - Huffman Encoding Tutorial - Lecture source code |

- | Thu 04/14 | SECOND EXAM (Lectures 8-19) | ||

22 | Tue 04/19 | Undirected Graphs | Chapter 17-18 | |

23 | Thu 04/21 | Undirected Graphs (cont) | ||

24 | Tue 04/26 | Directed Graphs | Chapter 19 | - Visualizations |

25 | Thu 04/28 | Minimum Spanning Trees | Chapter 20 | |

26 | Tue 05/03 | Shortest Paths | Chapter 21 | - Visualizations |

27 | Thu 05/05 | Shortest Paths (cont) | - | |

- | Tue 05/10 | THIRD EXAM (Comprehensive) |

Homework 1
Solutions (.docx),
Solutions (.pdf)

Homework 2 Solutions (.pdf)

Homework 3 Solutions (.pdf)

Practice homework for chapters 4, 6, 7: (Questions + Answers)

Practice homework for chapter 8 (Questions + Answers)

Practice homework for chapters 9-16 (Questions + Answers)

Practice homework for chapters 18-21 (Questions + Answers)

Note: Use practice homeworks to prepare for the deliverable homeworks and the exams.
The work of V. Metsis to prepare many of the solutions is acknowledged.

Programming Assignment 1

Programming Assignment 2 - ABET
Assessment Project Due 3rd May 10:45

Some of the implementations make use of the java library

Textbook code: