Class: CS251 Data Structures And Algorithms (Fall 2017)

    Lecture room: Mathematical Sciences Building, room 175

    Lecture times are MWF:   9:30-10:20am (Atallah)   10:30-11:20am (Tricoche)


    Mikhail (Mike) Atallah)   Office: LWSN 2116D   Email:   Office Hours: After the end of each class

    Xavier Tricoche   Office: LWSN 3154P   Email:   Office Hours: MWF 1:00-2:00pm

Course objective:

The goal of the course is to provide students with knowledge of the techniques used for designing data structures and algorithms, analyzing their time and space requirements, and using them to efficiently solve important practical problems. That knowledge includes both theoretical and implementation aspects of data structures and algorithms.

List of course topics

Course work weights that will be used for letter-grade computation:

    40% for projects (5 x 8%)

    10% for homework (2 x 5%)

    20% for midterm exam

    25% for final exam

    5% for quizzes

Course standards and policies

Signing academic integrity policy


News items:

* Final exam is an evening exam, on Dec 13 - 7-9pm in EE 129 and MATH 175 (in EE 129: all of Prof. Tricoche section + all with lastname <= Kiwi from Atallah section; in MATH 175: all with lastname > Kiwi from Atallah section)

All students in Section LE 01 (Prof. Tricoche) take the exam in EE 129,
students from LE 02 (Prof. Atallah) are split between EE 129 and MATH 175
as follows:  Those whose last name is lexicographically
less than Kiwi go to EE 129, the others to MATH 175 (for example,
Kim is less than Kiwi and goes to EE 129, but Klee goes to MATH 175)

Project and homework assignments:

    Project 1 (due 9/11/2017)

    Project 2 (due 9/25/2017)

    Homework 1 (filled scantron due 10/2/2017)

    Project 3 (due 10/16/2017)

    Project 4 (due 11/03/2017)

    Project 5 (due 11/20/2017)

    Homework 2 (filled scantron due 12/1/2017)

Solution keys to some quizzes, homework, etc:

    All Quizzes of LE 1

    Quiz 1 of LE 2

    Quiz 2 of LE 2

    Quiz 3 of LE 2

    Quiz 4 of LE 2

    Quiz 5 of LE 2

Teaching materials:

    Textbook: Algorithms, 4th Edition, Robert Sedgewick and Kevin Wayne

    Slides used in lectures (password-protected for copyright reasons)

        1. Introduction

        2. Proof techniques

        3. Stacks, queues

        4. Analysis

        5. Elementary sorts

        6. Merge sort

        7. Quick sort

        8. Priority queues

        9. Symbol tables

        10. Binary search trees

        11. Balanced search trees

        12. Hash tables

        13. Undirected graphs

        14. Directed graphs

        15. Minimum spanning trees

        16. Shortest path

        17. String sorts

        18. Tries

        19. Compression

        22. Geometric search

        23. Dynamic programming

        Slides for Friday December 8 lecture (review session)