Fall 2009 CS 2321 Data Structures
|
Instructor: |
Bill Siever |
Chris Brown |
|
Section: |
R01: |
R02: |
|
Office: |
211 Rekhi |
106 Rekhi |
|
Email: |
bsiever at mtu dot edu |
cdbrown at mtu dot edu |
| Schedule: | Monday, Wednesday, Friday at 12:05 - 12:55 (R01) and 13:05-13:55 (R02) |
| Text: | Data Structures and Algorithms in Java, 4th edition by Goodrich and Tamassia, Willey, ISBN 0-471-46983-1. The 4th edition is preferred, but the second and third editions will work. |
| Goals: | Proficiency in data structures (including containers, trees, heaps, priority queues, hash tables and graphs) and algorithms for manipulating data (including sorts and tree traversals). Develop the ability to implement those data structures and analytic understanding of the time and space trade offs of different data structures and different implementations. |
| Prerequisite: | Expertise in Java (either CS1122 or CS1131). Basic programming techniques and practices will not be taught. |
| Homework: | There will be 10 homework assignments.
Programming assignments are to be done individually. Programs are graded on: A) completeness and correctness of implementation, B) correct documentation and analysis of algorithm complexity, and C) programming style.
You may not discuss the programs among yourselves. I encourage discussing the programs in class. Start work early on the programs so that in-class discussions are meaningful to you. For some programming assignments I may give you code to use, otherwise submission of program states that the work is your own. You may use any code in the assigned text or my examples. All questions and concerns about the programming assignments and lab grades are handled by the grader via email correspondence, cs2321gr@mtu.edu. Please do not request a personal interview with the grader and allow at least one week for the grader to respond to your request. Programs are to be submitted before the due date. NO EXTENSIONS WILL BE GIVEN, except for an excused absence (as defined in the Student Handbook) that prevents the student from submitting the assignments early. Note that a planned event occurring on the due date of the program does not prevent a student from completing and submitting early. Complete requirements on writing, testing, and submitting programs can be found at Programming and Submitting. |
| Exams: | There will be three exams covering data structure topics that may not be covered in the homework assignments (like appropriate choice of data structures, their time and space cost, etc.). I am responsible for grading exams, so please contact me directly with any concerns. |
| Course Grading: | The course grade consists of two parts; homework assignments and exams. You must pass both parts to pass the course. Assignments are equal weight and worth 60% of your grade. The exams are each worth is worth 13.3% of the grade. Note that “borderline” grades such as AB and BC are not of equal intervals to standard grades, I determine those on an individual basis. Neither assignments nor exams are curved. |
| Code Sharing |
You may not:
|
| E-mail List: | All enrolled students are automatically members of a class mailing list. So that all students can benefit from your questions, request for assistance on the programming assignments should be mailed to the list; please do not email instructors directly except for confidential requests, or to set up an appointment. I expect that other students can and will answer your questions. I monitor the emails on the list, and from time to time will participate in the answer. You should not share extensive java code, but this course is not about java syntax, so short java code snipits (one to three lines long) maybe used to answer and ask about java syntax. If I believe that the java code mailed to the list is too extensive, I will advise the list and there will be no further penalty unless there is repeated offense or the offense is obviously gross. You may share sample input and output files including descriptions of your program results. Naturally use of the list is limited to course material and only professional language and attitudes should be used. Improper use of the list and/or language can be grounds for misconduct. Please see MTU computer use policy. |
| Lecture Participation: | You are responsible for all material presented in class, which includes material that may not appear in web notes or the textbook, and verbal changes in assignments. My teaching style is frequently Socratic which encourages discussions, but proper behavior is expected from all students. Your behavior in class should not interfere with other students' ability to learn. If I determine that your behavior is disruptive during class, I maintain the right to deduct up to 2 percentage points from your final grade for each offense, without requiring notification. Students repeatedly disrupting the class will be dismissed from lectures and a report may be filed with the university. |
| Disabilities: | Please let me know if you have a disability that requires special arrangements. |