CIS 3130 Data Structures


Basic Information

Topics

Container classes: their design, implementations, and applications. Sequences: vectors, linked lists, stacks, queues, deques, lists. Associative structures: sets, maps and their hash and tree underlying representations. Sorting and searching techniques. Collection frameworks and hierarchies.

Textbook

  • Intro to Java Programming, Comprehensive Version (10th Edition) 10th Edition, by Y. Daniel Liang

    Homework

    Homework assignments are available here. Please submit homework by email at nzhou (AT) brooklyn (DOT) cuny (DOT) edu. Please write your name, course number, and the number of the assignment in the subject. I prefer receiving plain text emails. If you include an attachment in your email, please make sure it is in either PDF or txt format. Sample answers to the programming questions will be given and selected questions will be reviewed in class. There will be a one-point deduction for each missing homework or late submitted homework. The total deduction will not exceed 10 points.

    Exams and Grading

    There will be two tests, one midterm exam, and one final exam, all open-book. Each test counts for 15%, the midterm 30%, and the final 40%.

    Course Outline and Homework Assignments

    1. Review
    2. Generics
    3. Java Collection Classes (Lists, Stacks, Queues, and Priority Queues)
    4. Java Collection Classes (Sets and Maps)
    5. Developing Efficient Algorithms
    6. Sorting
    7. Implementing Lists, Stacks, Queues, and Priority Queues
    8. Binary Search Trees
    9. AVL Trees
    10. Hashing
    11. Graphs
    12. Final Exam, 5/16 (Thursday), 1:00-3:00 (Sample)