Computer Science 2711 -- Introduction to Algorithms and Data Structures, Fall 2013

Announcements | Course information | Assignments and tests | Labs | Lecture outline


Assignment submission and marks: Assignment will be submitted via the course D2L page . This site will also be used to post sensitive information such as passwords to solutions.



Please submit all programming parts of the assignment on D2L. The written part is due at the beginning of the corresponding lecture. If you would like to typeset and submit the written part on D2L, please email me about that; the deadline will be the same.

Policy on collaboration: The work you submit must be your own. You may discuss problems from assignments with each other; however, you should prepare written solutions and code alone. Plagiarism is a serious academic offense and will be dealt with accordingly.

Course information

Lectures: 10:00-10:50 Monday, Wednesday and Friday in EN-1052
Antonina Kolokolova , email: [Your browser cannot view this email address] , office ER-6033.
Instructor office hours: M 12:00-13:00 or by appointment.
Labs: Thursday morning 900 - 1200 in CS-1019. The lab webpage is here
Textbook: Data Structures and Algorithms in Java (5th Edition) by Michael T. Goodrich and Roberto Tamassia, 2010.
Reference books: Algorithm design. Kleinberg and Tardos,
Introduction to Algorithms (Second Edition). Cormen, Leiserson, Rivest, and Stein.

Marking scheme:
Assigments Quizzes Midterm Final exam
6 x 5% = 30% 10 x 2% = 20% 1 x 15%= 15% 1 x 35% = 35%


Tentative course outline

Week Topics Readings (chapters)
Week 1: Overview, review, recursion, analysis 1,2,3,4
Week 2: Stacks and queues, lists and iterators, Trees 5,6,7
Week 3: trees, heaps,priority queues 7,8
Week 4: Hash tables 9
Week 5: Analysis tools: induction 4.3
Week 6: Skip lists, binary search trees, AVL trees 9.4, 10
Week 7: (2,4) trees, red-black trees, splay trees 10
Week 8: Sorting, graphs 11,13
Week 9: DFS, BFS, shortest paths, midterm review 13
Week 10: Midterm, minimal spanning trees 12, 13
Week 11: Text processing, algorithm design paradigms: greedy algorithms 13
Week 12: Text processing and dynamic programming , all-pairs-shortest path. 12
Week 13: algorithm case study, review for the final exam. 3-13