Intermediate Computing with Data Structures

Welcome to CS210 The design and implementation of computer programs in a high-level language, with emphasis on proper design principles and advanced programming concepts, including dynamic data structures and recursion. Efficient design, implementation and debugging techniques are stressed. The assignments are designed to introduce the student to a variety of topics in computing: data structures and ADTs, Lists, Stacks, Queues, Ordered Lists, Binary Trees, and searching and sorting techniques. The language of instruction is Java.

Please check the Announcements page regularly for new announcements, useful links, important dates, changes, etc,.... during the course period.

Instructor's Contact Information:
                                        Saaid Baraty
                                        Office: S-3-90
                                        Office Hours: Mo/Tu/Th 4:45PM - 5:45PM or by appointment
                                        Office Phone: (617) 287-6445

Class Schedules, Reading Assignments, and Lectures:

ClassDateText 3rd Ed.Text 2nd Ed.Lecture SlidesNotes
015/291.1-1.2, App A1.1-1.5 Welcome, Review of Software Development Methods/ToolsNone
025/31App B2.1-2.17 Review of Java Language and Object-Oriented ProgrammingNone
0306/04App B2.1-2.17 Review of Java Language and Object-Oriented ProgrammingNone
0406/052.1-2.4, 3.1, 3.31.6-1.7,3.1 Algorithm Efficiency, Big O Notation, ADT's and Data StructuresNone
0506/0715.1-15.23.2 Collection, Iterable, and Iterator InterfacesNone
0606/1115.33.3-3.6 Generics, ADT and Data Structure Example: ArraySetNone
0606/1215.33.3-3.6 ArraySet and ArrayIterator Time Comlexity AnalysisNone
0706/144.1-4.34.1-4.5 Linked Structures, Singly and Doubly Linked ListsNone
0806/1915.44.1-4.5 Example: LinkedSet, iterator Method, and LinkedIterator ClassNone
0906/213.2, 3.4-3.86.1-6.7 StacksNone
1006/255.2-5.5, 8.37.1-7.8 Exam 1: 5:30pm-8:00pmLocation: W-2-200
1206/264.4, 4.6, 5.17.1-7.8 Stack (Continued) QueuesNone
1307/025.2-5.5, 8.37.1-7.8 QueuesNone
1407/037.1-7.210.1-10.4 RecursionNone
1507/057.3-7.410.1-10.4 Recursion (Continued)None
1607/096.1-6.68.1-8.6 List RevisitedNone
1707/108.1-8.211.1-11.2 Searching and SortingNone
1807/12 Exam 2: 5:15pm-8:00pmLocation: W-1-053
1907/169.1-9.712.1-12.5 TreesNone
2007/1710.1-10.913.1-13.4 Trees and Binary Search TreesNone
2107/1914.1-14.517.1-17.5 HashingNone
2207/23Catch up and reviewNone
2307/24Catch up and reviewNone
2407/2613.1-13.3, 13.518.1-18.4 Final ExamCovers the whole course

Accommodations: Section 504 of the Americans with Disabilities Act of 1990 offers guidelines for curriculum modifications and adaptations for students with documented disabilities. If applicable, students may obtain adaptation recommendations from the Ross Center for Disability Services, M-1-401, (617-287-7430). The student must present these recommendations and discuss them with each professor within a reasonable period, preferably by the end of Drop/Add period.

Student Conduct: Students are required to adhere to the University Policy on Academic Standards and Cheating, to the University Statement on Plagiarism and the Documentation of Written Work, and to the Code of Student Conduct as delineated in the catalog of Undergraduate Programs and is also available online at:

Useful Links: