TITLE: Data and Program Organization (Data structures)




This course is an introduction to the definition and application of abstract data structures and modular program design. Students will examine some of the fundamental tools available in object-oriented programming languages for the implementation of complex algorithms. Students will be expected to demonstrate their understanding of the concepts and apply them to a number of problems requiring computer implementation. For this purpose, the programming languages C++ and Java will be used. Students will work individually and as part of a team.




CSCI101 or CSCI102 (or equivalent) and Math 101 (or equivalent)





Either of the following two books:


Data Structures and Algorithms in Java by Michael T. Goodrich and Roberto Tamassia

Wiley ISBN 0-471-46983-1 (Third Edition)


Data Structures and Algorithms in C++ by Michael T. Goodrich, Roberto Tamassia and David Mount

Wiley ISBN 0-471-20208-8


Recommended Second Books:


Data Structures and Problem Solving Using Java by Mark Allen Weiss, ISBN: 0-201-74835-5

Addison Wesley (2nd Edition)


Data Structures and Problem Solving Using C++ by Mark Allen Weiss, ISBN:0-201-61250-X

Addison Wesley (2nd Edition)


Data Structures and Other Objects Using C++ by Michael Main and Walter Savitch

Addison Wesley, ISBN 0-201-70297-5 (Second Edition)



DURATION: 13 weeks, 4 hours/week




Introduction to various widely used data structures such as stacks, queues, priority queues, linked lists, trees and graphs. The course also introduces algorithm analysis and execution time measurement, recursion, and covers algorithms for searching and sorting. The differences in memory management between C++ and Java will be addressed. More or less time may be spent on the various topics of this course. Students are advised to regularly check the following web page for changes in the schedule:







Quizzes and Homeworks: 15%

Assignments 20%

Midterm Exam 25%

Final Exam 40%



Students must attain an overall passing grade on the weighted average of exams in the course in order to obtain a clear pass (C or better).



Revised: Sunday 29th July 2007, 20:35 PT, AHD