Syllabus Main Students/Grades Assignments/Projects Announcements Related Links Mail





Y. Langsam et al, Data Structures Using C and C++, Prentice Hall

M.A Weiss, Algorithms, Data Structures and Problem Solving with C++, Addison Wesley

-          E. Horowitz and Sahni, Fundamentals of Data Structures

-          Deitel&Deitel, How to Program in C++, Prentice Hall



ES 112-Algorithms and Programming.

Willingness to think clearly. Absence of malice. High moral fiber. Abstinence from all sin. Care for nature.



Week 1-2           Introduction, Abstraction, Abstract Data Types and Data Structures, OOP

Week 3              Ordered Lists, Arrays, Structures and Pointers

Week 4,             Sparse Matrices, Dynamic Allocation and Linked Lists

Week 6              Recursion, Recursive Algorithms

Week 7              Stacks, Evaluation of Expressions, RPN

Week 8              Midterm Exam

Week 9              Queues, Circular Queues

Week 10            Graphs, Tree Structures: Traversal Algorithms, Binary Search Trees

Week 12             Internal Sorting and Merging

Week 13            Searching, Hash Tables



Strongly suggested in awake state. 70% class attendance, 80% LAB attendance is mandatory.


You will be given 4-6 pop quizzes, 6-10 assignments, a term project, a midterm and a final exam. Grade distribution:             Final                35%             Assignments   10%             Quizzes           10%

Midterm            25%             Lab                  10%              Term project            10%

       Submission of 70% of assignments and the term project is required, otherwise it will cost a letter grade.

       Copied assignments will be accepted as not submitted for both parties.

       Late submissions of assignments will not be accepted: if you don't finish work on schedule, you might as well stop working on it.

       Your final grade can be modified by a letter grade (CC to CB or DC) depending on your performance throughout the semester.

       If you miss a quiz and have a medical report for the day, the weight of the related quiz will be distributed over the other quizzes, midterm and the final. Similarly, if you miss the midterm and have a medical report for the day, depending on the number of students that misses the midterm, the weight of the related midterm will be either distributed over the other quizzes, and the final or a make up will be given. 

         Quizzes will be at the end of the lecture (15-30 min.)