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
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;
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