Course Home
    Announcements
    Syllabus
    Course Policies
    Course Schedule/Notes
    Discussion
    Projects
    Project Submission
    Sample Tests
    Test Solutions
    Grades
    Re-Grade Form
    Resources

COP 3530: Data Structures and Algorithms

Catalog Description
COP 3530 introduces students to algorithm development using pseudo languages, basic program structures, program design techniques, storage and manipulation of basic data structures like arrays, stacks, queues, sorting and searching and string processing.

Administrative Information
Prerequisites CIS 3020 or 3023: Programming Fundamentals for CIS Majors, with C or better
COT 3100: Applications of Discrete Structures
MAC 2312: Analytic Geometry and Calculus 2, or equivalent
Credits 4
Lecture Times Mondays, Wednesdays and Fridays, 5th Period (2:00 p.m.–3:15 p.m.)
Lecture Location Computer Science and Engineering Building, Room E121 (CSE E121)
Discussion Time Wednesdays, 6th Period (3:30 p.m.–4:45 p.m.)
Discussion Location Computer Science and Engineering Building, Room E121 (CSE E121)
Web Site http://www.cise.ufl.edu/~cop3530su07/


Instructional Staff
Instructor Email Office Office Hours Phone
Christian Roberson croberso@cise.ufl.edu CSE 502 MWF 4 392-8968
         
Teaching Assistant Email Office Office Hours Phone
John Quarles jpq@cise.ufl.edu CSE 333 W 2,3,7 TBD
Mingsong Chen mchen@cise.ufl.edu CSE 309 M 2-3, F 3 TBD


Course Objectives
1. To learn how the choice of data structures and algorithm design methods impacts the performance of programs.
2. To learn object-oriented design principles.
3. To study specific data structures such as linear lists, stacks, queues, hash tables, binary trees, heaps, tournament trees, binary search trees, and graphs.
4. To study specific algorithm design methods such as the greedy method, divide and conquer, dynamic programming, backtracking, and branch and bound.
5. To gain experience writing programs in Java.

Textbook
1. Data Structures, Algorithms, and Applications in Java, 2/e, Sartaj Sahni, 2005, Silicon Press
ISBN: 0-929306-33-3
(Required)

Software
1. Java 2 Platform Standard Edition 5.0 Development Kit, Sun Microsystems, java.sun.com
(Required)

Course Topic Outline
Provided below is a short list of topics that will be covered this semester. For a more detailed breakdown of the course, please consult the course schedule.

- Simple sort methods and performance measurement
- Data representation methods and linear lists
- Arrays and matrices
- Stacks
- Queues
- Hashing and LZW compression
- Binary trees
- Priority queues
- Tournament trees
- Search trees
- Graphs
- The greedy method
- Divide-and-conquer
- Dynamic programming
- Backtracking
- Branch-and-bound

Policies and Grading
General course policies can be found here. You are expected to know and follow all of these policies.

Grade Assessment
Type Number Individual Weight Drops Permitted Total Contribution
Projects 6 10% 0 60%
Tests 3 15% 0 45%

All projects are due via the course submission system by 11:59 PM on the date indicated in the project specification. This is a strict deadline and late submissions will not be accepted.

Grading Curve
Any curve—if there is one—will be determined at the end of the semester, after all materials have been graded and no judgment can be made beforehand. Since new tests and projects are given every semester, the scale of a previous semester has no bearing or indication as to the final scale for this semester. The grading ranges will be created based upon the complete analysis of every student's final average. The range used to calculate your final letter grade will be no harsher than the traditional grading scale (A 100-90, B+ 90-87, B 87-80, C+ 80-77, C 77-70, D+ 70-67, D 67-60, E <60). A “C” or higher is required to receive an S (Satisfactory), when taking the course S/U.

Grading and Re-Grades
All grading and re-grading issues must be resolved within one (1) week of the graded work being returned (not the date you picked it up). You must return tests to your instructor or discussion leader, along with a printed (not handwritten) copy of the Re-Grade Form on the web site. Do not write anything on the test itself or detach (un-staple) the pages from each other. If you do so, your test will not be re-graded. For project re-grading, see the TA who grades your assignment in his or her office hours immediately. We will be happy to discuss the solution and answer any questions, however no change will be made after the allotted week has passed.

Make-ups
In general, there are no late submissions or make-ups allowed for projects or tests. Projects must be submitted on time. Exceptions may be made for extreme circumstances as outlined in the course polices, however students must inform the instructor at the earliest opportunity when such circumstances arise. Failure to notify the instructor in a timely manner may result in the loss of the privilege to make-up the assignment. All make-up issues must be resolved before the assignment in question is returned to the class.

Honesty Policy
All students admitted to the University of Florida have signed a statement of academic honesty committing themselves to be honest in all academic work and understand that failure to comply with this commitment will result in disciplinary action. This statement is a reminder to uphold your obligation as a UF student and to be honest in all work submitted and tests taken in this course and all others.

Accomodations for Students with Disabilities
Students requesting classroom accommodation must first register with the Dean of Students Office. That office will provide the student with documentation that he/she must provide to the course instructor when requesting accommodation.

University of Florida Counseling Services
Resources are available on-campus for students having personal problems or lacking clear career and academic goals. The resources include:

Software Use
All faculty, staff and student of the University are required and expected to obey the laws and legal agreements governing software use. Failure to do so can lead to monetary damages and/pr criminal penalties for the individual violator. Because such violations are also against University policies and rules, disciplinary action will be taken as appropriate. We, the members of the University of Florida community, pledge to uphold ourselves and our peers to the highest standards of honesty and integrity.

Modifications
This document is subject to change at the discretion of the instructor, based on unforeseen circumstances occurring during the semester. Changes to this document during a semester will be highlighted in place and reiterated in the “Modifications” section of the document preceded by the date that the change was implemented.

Philosophy
Attending class and actively participating in lectures and classroom exercises is a critical step in comprehending course material. This critical step is just the beginning though. To excel and succeed you must practice what is being taught. It is my belief that students who are actively involved in the course and who immerse themselves in the material will naturally succeed. However, do not hesitate to contact the teaching assistants or me (preferably during office hours) if you find yourself struggling. We are here to help you learn.

Christian Roberson 2005-2006