|
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
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.
|
|