Spring 2008 -- CS2402
Data Structures and Algorithms
Announcements:
syllabus available below: follow the links
report template available here
first assignment available here: due by January, 29th.
Description of the class
Syllabus available here
Important information is also available here about: how and when to contact your instructor,
labs, etc.
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: 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.
Teaching Assistant
The labs will be held by a teaching assistant.
Your TA: Geovany Ramirez, geoabi@gmail.com
Peer Leading Sessions
Peer Leading sessions will be held each week during half of the lab times.
Two peer-leaders are in charge of those sessions: David Vera,
dvera@miners.utep.edu, and Robert Preston, rwpreston@miners.utep.edu. For more
information about peer-leaders and peer-led team learning, go to
this website.
Textbook
Data Structures and Algorithms}, by Aho, Ullman and Hopcroft,
Eds. Addison-Wesley
Back to top
Back to CS2402 menu
More details about the class: a tentative schedule
This class will meet every Tuesday and Thursday, from noon to 1:20pm in room 308.
The content of classes is (tentatively) expected to be as follows:
week #1: Presentation of syllabus. Introduction to algorithm analysis.
week #2: Algorithm analysis
week #3: Algorithm analysis (the end) / arrays and linked-lists review
week #4: Stacks
week #5:
week #6: Queues / Discrete Event Simulation
week #7: Discrete Event Simulation / Trees
week #8: Trees: general trees, traversals / Binary trees
week #9: Trees: binary trees, binary search trees, algorithms, classical problems and algorithms
week #10: Balanced trees: AVL, heaps
week #11: Review of sorting algorithms: analysis, purpose, problems -> mostly about heap sort
week #12: Graphs: definition, use
week #13: Graphs: classical problems and algorithms
week #14: Advanced topics
week #15: General reviews
week #16: week of the final exam
Back to top
Back to CS2402 menu
Material for the class:
Exercises given in class:
Algorithm analysis:
Homework on ...:
References, and other material:
for arrays and linked-lists: 1, 2, 3,
Quizzes and Exams:
Quiz on complexity:
Quiz on Stacks and queues:
Midterm 1:
Midterm 2:
Midterm 3:
Lab Assignments:
More details about labs: attendance policy, late assignment policy, details about written reports (1, 2, 3)
1st lab assignment: here: due by January, 29th, to be done individually.
More material from the past semesters: here.
Martine Ceberio
Last modified: Mon Jan 14 21:20:32 MST 2008