Teaching Archives Home Contact





Spring 2006 -- CS2402
Data Structures and Algorithms







Announcements:

  • syllabus available below: follow the links

  • NEWS: archives of emails
                  week4. about the 1st midterm and the 1st extra Saturday class: here
                  week4. about the 1st lab (due Feb. 8) -- important recommendations: here










    Info. Class Schedule Material Exams/Quizzes Labs Top

    Description of the class

    Syllabus available here

    This course is a survey of classic algorithms and data structures, useful for sorting, manipulating graphs, storing data collections and mappings. Students will acquire an understanding of generalization techniques for evaluating the complexity of these algorithms, and they will be able to apply these algorithms to a wide range of computer science problems. Introductory techniques for determining correctness and evaluating complexity will be presented. Students are expected to master basic skills and to develop an intuitive understanding of how the surveyed analysis techniques are commonly used. The main objective is that students develop their critical thinking skills and become able to make an appropriate choice of data structures given any problem, and to justify their choice in an articulate explanation.

    As far as assignments and exams , there will be:
  • reading assignments, and homework assignments (randomly checked);
  • (announced AND un-announced) quizzes throughout the semester;
  • programming assignments: 4 or 5 of them (most probably 5) -- turning all of them and making at least a C at each of them are required to pass the class;
  • 3 mid-terms;
  • 1 final exam.

    Name and e-mail address of your TA: to be announced

        Back to top     Back to CS2402 menu

    More details about the class: a tentative schedule

    This class will meet every Mondays, Wednesdays, and Fridays, from 9:30 to 10:20pm. The textbook for this class is: "Data Structures and Algorithms", by Alfred V. Aho, Jeffrey D. Ullman, John E. Hopcroft; but you may also want to have a look at other book, such as "Data Structures and Problem-solving using Java" (3rd edition), by Mark Allen Weiss, Addison Wesley.

    Check the progress of the class:

  • week #1: Presentation of syllabus. Introduction to algorithm design and analysis
  • week #2: Algorithm design and analysis
  • week #3: Algorithm design and analysis (short introduction to BST, AVL, heaps and hash tables)
  • week #4: Algorithm analysis (2 quizzes)
  • week #5: Midterm 1, basic data structures, analysis and algorithms
  • week #6: Basic data structures: arrays and linked-lists: pros and cons, analysis of algorithms; Stacks and queues
  • week #7: Stacks and queues; Discrete Event Simulation
  • week #8: Trees: general trees, traversals
  • week #9: SPRING BREAK
  • week #10: Trees: binary trees, algorithms, classical problems and algorithms; Midterm 2
  • week #11: Balanced trees
  • week #12:
  • week #13: Sorting algorithms: analysis, purpose, problems.
  • week #14: Graphs: definition, use
  • week #15: Graphs: classical problems and algorithms; Midterm 3
  • week #16: General reviews
  • week #17: week of the final exam
        Back to top     Back to CS2402 menu

    Material for the class:

    "ToDo" list:
  • weeks 1 and 2: read chapter 1 of the Textbook
  • weeks 4 and 5: read chapters 2 and 3 of the Textbook
  • weeks 8 and 9: read chapters 3 and 5 of the Textbook

    Exercises given in class:


  • Quizzes and Exams:
  • Q1


  • M1


  • Lab Assignments:
  • More details about labs: attendance policy, late assignment policy, details about written reports (here)
  • 1st lab assignment, on program analysis: here, due by February 10, at midnight; important recommendations here
  • 2nd lab assignment, on DFS and backtracking: here, due by March 8, at 11:59pm
  • in lab assignment: during week8, program the bank simulation, as reviewed in class
  • 3rd lab assignment, on Discrete Event Simulation: available soon


  • Emails/News sent to students:
  • about the 1st midterm and the 1st extra Saturday class: here



    Material of the Fall05 class (FYI):

    "ToDo" list:
  • weeks 4 and 5: read chapter 16
  • week 4: work on algorithms using stacks

    Exercises given in class:
  • Algorithm analysis: 1, 2
  • Sorting: 1

    References, and other material:
  • What you should know before to take the first midterm: here
  • Description of Sudoku: here

    Quizzes and Exams:
  • Q#1, solution
  • Q#2, solution
  • Q#3, solution

  • M#1, solution
  • M#2, solution
  • M#3, due by Nov. 21st

    Lab Assignments:
  • More details about labs: attendance policy, late assignment policy, details about written reports (here)
  • 1st lab assignment: here, due by September 17, at 5pm
  • 2nd lab assignment: here, due by October 4, at 5pm; questions to answer, to help do the assignment, and comments here; additional help here: algorithms, report
  • 3rd lab assignment: here, due by November 4, at midnight
  • 4th lab assignment: here, due by November 20, at midnight
  • 5th lab assignment: here, due by December 4, at midnight


    Martine Ceberio
    Last modified: Mon Sep 4 22:44:34 MDT 2006