Data Structures COP 4530 Spring 2010 MW 4:35 PM – 5:50 PM CHE 101 Instructor: Office Hours: M & W 1:00 – 3:00 PM Dr. Rollins Turner Dept. of Computer Science and Engineering ENB 336 813-974-1079 turnerr@cse.usf.edu (OK to drop in any time) 1 Course Objectives You will be able to: Say what an Abstract Data Type (ADT) is and how ADTs relate to general data structures. Describe common ADTs such as lists, stacks, queues, trees, hash tables, and graphs, and use them in the design and implementation of computer programs. Design and use new ATDs. 2 Preliminaries Prior to taking this course, you should Be competent at programming in C++. Be familiar with a development environment for C++. Unix/Linux (e.g., Circe, Grad) Windows/Visual Studio 3 Textbook Data Structures and Algorithms in C++ Third Edition Adam Drozdek 4 Exams and Grading Grading: Projects Midterm Exam Final Exam Quizzes 30% 30% 30% 10% Exams missed for a legitimate reason can and must be made up. Consult me, in advance when possible, to arrange makeup exam. Provide written documentation of cause of absence. (e.g., letter from doctor) 5 Letter Grades 90 – 100 80 – 89 70 – 79 60 – 69 < 60 No “+” or “-” grades will be issued. Numerical average will be rounded to nearest integer. A B C D F .5 rounded up 6 University Policies Procedures for Alleged Academic Dishonesty or Disruption Of Academic Process: See current undergraduate catalog http://www.ugs.usf.edu/pdf/cat0910/cat0910.pdf Page 59 and following. 7 Accommodations Disabilities Students in need of academic accommodations for a disability may consult with the Office of Services for Students with Disabilities to arrange appropriate accommodations. Please inform me if there is a need for alternate format for documents or a note taker. Religious Observances http://www.sds.usf.edu/ Students who anticipate the necessity of being absent from class due to a major religious observance must provide notice of the date (or dates) to me, in writing, by the second class meeting. Athletic Events Students who must miss an exam due to participating in a varsity athletic event should contact me two weeks in advance in order to make alternative arrangements. 8 Departmental Policies All students enrolled in courses taught by the Computer Science and Engineering Department are advised that unless an instructor specifies otherwise, all work done in homework, programming, or exams must be the result of a student’s individual effort. Students who copy, or who provide material for others, or who show dishonesty in their work as described in the university catalog, will be subject to disciplinary action, typically the receipt of a failing grade in the course, but also possible academic dismissal from the program. 9 Course Policies Programming projects will be graded. You may work with one other student on each project. If you work as a pair: Submit only one copy of the program. Include both names in Blackboard submission comments. Other student submit just a Blackboard comment Both students are expected to understand the program in detail. 10 Course Policies Projects must be submitted on time. Late projects will not be accepted, get an automatic 0. No replacements or substitutions after the deadline. Don't post assignments on the Internet Don't ask for help on Internet forums. 11 Course Policies It is OK to discuss projects with other students, but outright copying is not acceptable. Don’t copy anyone else’s work. Don’t let anyone copy your work. Penalty: 0 for the project. Reduction of one letter grade for the course. Projects must be submitted on time. Late projects will not be accepted, get an automatic 0. 12 Course Policies Attendance will not be taken after the first class. Attendance will not be a direct factor in grades. But class attendance is highly recommended. You may not sell notes or tapes of class lectures. OK to give them away! 13 Class Web Site Slides from some lectures will be available on the class web site: http://www.cse.usf.edu/~turnerr/Data_Structures/ Also on class web site: Examples Project solutions Not all material covered in class will be on slides. 14 Communications Blackboard ( https://my.usf.edu/ ) will be used for all program submissions. Grades posted there also. Feedback in the form of annotated source files. Be sure you can log in and can find this class under the Courses tab. USF email will be used for messages to students. Be sure you can receive messages sent to your official USF email address. Check your email regularly. Don’t let backlog exceed your quota. Welcome message will be sent out as a test. 15 Course Schedule M 10-Jan-11 Week 1 Abstract Data Types W 12-Jan-11 M 17-Jan-11 W 19-Jan-11 M 24-Jan-11 Week 3 A List Template W 26-Jan-11 Lists of Objects M 31-Jan-11 W 2-Feb-11 M 7-Feb-11 W 9-Feb-11 M 14-Feb-11 W 16-Feb-11 M 21-Feb-11 W 23-Feb-11 Singly Linked Lists (Chapter 3) Week 2 USF Holiday Doubly Linked Lists (Chapter 3) Week 4 Stacks (Chapter 4) Queues (Chapter 4) Week 5 Binary Search Trees (Chapter 6) Week 6 The Standard Template Library Week 7 Midterm Exam Postponed! 16 Course Schedule M 28-Feb-11 Week 8 Midterm Exam (New Date) W 2-Mar-11 M 7-Mar-11 W 9-Mar-11 Multiway Trees (Chapter 7) M 14-Mar-11 AVL Trees W 16-Mar-11 AVL Tree Rotations M 21-Mar-11 W 23-Mar-11 M 28-Mar-11 W 30-Mar-11 M 4-Apr-11 W 6-Apr-11 M 11-Apr-11 W 13-Apr-11 M 18-Apr-11 W 20-Apr-11 M 25-Apr-11 W 27-Apr-11 Sun 1-May-11 Huffman Codes Week 9 Week 10 ALV Tree Implementation 2-3-4 Trees, Red-Black Trees Week 11 B Trees Graphs (Chapter 8) Week 12 Week 13 Dikjstra's Algorithm Heaps Week 14 Sorting (Chapter 9) Week 15 Hashing (Chapter 10) Final Exam 12:30 PM - 2:30 PM 17