CSI 3334: Data structures, Fall 2012

Overview

Data structures and the algorithms that operate on them are the keys to making efficient software. They are also very interesting. This course will cover data structures in a way that exercises your problem-solving skills. These problem-solving skills are what you will need to be a successful programmer, scientist, engineer, or mathematician.

This course covers:

This is a difficult course. My recommendation is to attend lectures, study hard, start projects early, and seek help from the professor when you need it.

Practical information

Lectures are from 10:10 AM to 11:00 AM in Rogers 104 on Mondays, Wednesdays, and Fridays. You may use the general labs on the first floor of Rogers, though there is no lab component of the course.

I have two offices at Baylor. My CS office is in the Rogers Engineering and Computer Science building 2nd floor. My other office is in the ITS offices in the Dutton Street parking garage (near Starbucks). I may schedule office hours, but am happy to set an appointment to talk. Email is the best method for scheduling a meeting. office hours.

The TA for this course is Tanay_Talukdar.

Schedule

Here is a schedule of the material we will cover:

Week Dates Topics Reading Monday Wednesday Friday
1 Aug 20-24 Overview, C++ review 1.1-1.6 Project 0 assigned Homework 0 assigned Project 1 assigned
2 Aug 27-31 Algorithm analysis 2
3 Sep 3-7 Algorithm analysis Labor Day Homework 1 assigned Project 2 assigned
4 Sep 10-14 ADTs, lists, stacks, queues 3.1-3.3, 3.6, 3.7
5 Sep 17-21 Trees 4 Homework 2 assigned Project 3 assigned
6 Sep 24-28 Trees
7 Oct 1-5 Heaps 6 Homework 3 assigned Project 4 assigned
8 Oct 8-12 Heaps Midterm exam
9 Oct 15-19 Hashing 5 Fall Break
10 Oct 22-26 Hashing Homework 4 assigned Project 5 assigned
11 Oct 29-Nov 2 Sorting 7 (skip 7.4)
12 Nov 5-9 Sorting, Graphs 9.1-9.5 Homework 5 assigned Project 6 assigned
13 Nov 12-16 Graphs
14 Nov 19-23 Graphs Thanksgiving Break Thanksgiving Break
15 Nov 26-30 Disjoint set, Algorithm design 8, 10
16 Dec 3-7 Wrapup Last day of class Study Day Study Day
17 Dec 10-14 Study Day Final 12/11/12 (9:00 AM)

The final exam will be Tuesday, December 11 @ 9:00. The latest university finals information is available here.

Textbooks & resources

Required text: we will be using Mark Weiss' textbook Data Structures and Algorithm Analysis in C++ (3rd Edition). An older edition might be okay, but you are responsible in case there are differences between the editions. You can purchase this book from the Baylor bookstore or amazon, among other places. Watch out for the newer edition, which may find iteself onto shelves. I have not had time to review the 4th Edition, and cannot recommend it at this time.

Further online resources:

Grading

Grades will be assigned based on this breakdown:

Important: Each project not completed by the end of the semester will result in a drop of one letter grade. For example, if you would have received a 'B', but you did not complete two of the projects, then your letter grade will be a 'D'.

Different projects and assignments may have different point values. In-class exams are closed-book. The final will be comprehensive.

Homework is due at the beginning of class; homework turned in after it has been collected but before the end of class will receive a 20% penalty. Homework will not be accepted after class on the due date.

Final letter grades will be assigned at the discretion of the instructor, but here is a minimum guideline for letter grades:
A: 90-100, B+: 88-89, B: 80-87, C+: 78-79, C: 70-77, D: 60-69, F: 0-59

Policies

Academic honesty

I take academic honesty very seriously. Many studies, including one by Sheilah Maramark and Mindi Barth Maline have suggested that "some students cheat because of ignorance, uncertainty, or confusion regarding what behaviors constitute dishonesty" (Maramark and Maline, Issues in Education: Academic Dishonesty Among College Students, U.S. Department of Education, Office of Research, August 1993, page 5). In an effort to reduce misunderstandings, here is a minimal list of activities that will be considered cheating in this class:


Copyright © 2012 Adam Sealey, based largely on a syllabus by Greg Hamerly .
Computer Science Department
Baylor University

valid html and css