EEL 4851C-001 Data Structures, Spring 2009

CIS 6930-006 Advanced Data Structures


Classroom: BSN 2208

Tuesday and Thursdays: 9:30am to 10:45am 

Prof. Sudeep Sarkar (ENB 315) (sarkar AT Phone: 974-2113;

Office hours: Tues/Thurs: 11am to 12:30pm, or at other times with prior arrangement

TA: Aveek Brahamachari: ENB 327. 

TA office hours: Monday 12:30pm to 2:00 pm and Friday 12:45pm to 2:00pm in ENB 327.

Prerequisites: Program Design.

3/4/2009, 1pm: We are now aware that Blackboard has been down since Tuesday night due to some technical problem. University IT does not have an ETA when they can resolve this issue. So, the due date/time for Assignment 2b will be extended to at least Friday 5pm, assuming that the issues get resolved by today. We will keep monitoring the situation. Please let your classmates know as I have no way to contact them with the Blackboard!


·         Course Objectives:  Design and analysis of programming data structures, such as stacks, queues, lists, trees, heaps, graphs, and hash-tables, to solve programming tasks, adhering to the principles of modularity, information hiding, and efficiency.


·         Learning Outcomes:


*  Think in terms of Abstract Data Types (ADTs)

*  Design and analyze solutions to complex programming tasks using appropriate data structures.

*  Ability to compare and contrast different implementations of an ADT.

*  Design and implement new ADTs


·         Engineering Design Statement: Programming assignments are designed around image-processing and computer vision related tasks, which makes it easy to visualize the operations and effects of different data structures. The solutions involve the design of the proper data-structures, program, coding, and testing on real images from different contexts, such as Mars Rover images or Micro-array images or “green-screen” images. The assignment set is designed to be progressively open-ended, spanning tasks that require the use of well-known data structure to the design of new ones. For all the assignments, only the ADT specifications are provided and the students have to design their own implementations.


·         Text: Data Structures, Algorithms, and Software Principles in C by T. A. Standish, Addison-Wesley Publishing Company


·         Grading

*  Assignments (Three):    40% (10% + 15% + 15%)

*  Two exams:                     30% (15% + 15%)

*  Wiki contribution:           20%

*  Quizes/Worksheets:      10%


·         Policies:

*  20% penalty per day for late assignments.

*  Make-up exams are permitted as long as it is a reasonable excuse, you inform me in a timely fashion, and you document your excuse.

*  There are no make ups for worksheets/quizes under any circumstances.

*  Students who anticipate to be absent from class due to religious observances should inform Dr. Sarkar by email and a hard copy letter by second class meeting.

*  You do not have the right to sell notes or tapes of lectures generated from this class.

*  Audio and/or video recording of the lectures is prohibited without prior permission.

*  We will be using the MOSS code checker on your code.

*  Penalty for ANY unethical activity is a F or FF.


·         For Advanced Data Structures Students

*  You are expected to attend all the lectures.

*  You would be assigned extra homeworks, assignments, and a programming project

*  More details will appear soon.


First Day

of Week



Second Day
of Week


Jan 6

Prereq. Quiz

Programming Principles, Chapter 1, 2


Jan 8

Modular Coding

Chapter 4

Jan 13

Image ADT

Assignment 1


Jan 15

Image ADT

Jan 20

Stack, Chapter 7


Jan 22

Stacks, Chapter 7

Jan 27

Queues, Chapter 7


Jan 29

Queues, Chapter 7

Feb 3

Lists, Chapter 8

Assignment 1 due


Feb 5

Lists, Chapter 8

Feb 10

Lists, Chapter 8


Feb 12

Lists, Chapter 8

Feb 17

Exam 1


Feb 19


Chapter 3

Feb 24


Chapter 3


Feb 26

Recursions. Chapter 3

Assignment 2a due

Mar 3

Recursions. Chapter 3


Mar 5

Complexity, Chapter 6

Assignment 2b due

Mar 10


Chapter 6


Mar 12

Complexity Chapter 6

Assignment 2c due

Mar 17



Mar 19


Mar 24

Binary Trees, Chapter 9


Mar 26

Binary Trees, Chapter 9

Mar 31

Binary Trees, Chapter 9


Apr 2

Binary Search Trees, Chapter 9

Apr 7

Heap Trees, Chapter 9

Assignment 3


Apr 9

Heap Trees, Chapter 9

Apr 14

Exam 2


Apr 16

Graphs, Chapter 10

Apr 21

Hashing, Chapter 11


Apr 23

Hashing, Chapter 11

Apr 27

All Wiki page edits ends.

Assignment 3 due, 9am