COP 3530 (5540/00S)
Data Structures and Algorithm Analysis
Last modified: 7 May 2000 by R.Levow
New and Updated Items:
Grades have been posted to WebCT.
(5/7)
Class Time: Saturday 9:00 - 11:50 am, LA-332 (Davie)
Textbook: C++: An Introduction to
Data Structures by Larry Nyhoff, Prentice-Hall, 1999.
The author's
website contains source code, presentation slides, and other materials.
The publisher's text website
supplemental materials.
Recommended References: (any C++ reference including the following)
C++: The Complete Reference
by H. Schildt, 3/e, Osborne McGraw-Hill, 1998.
C++ How to Program by Deitel
& Deitel, 2/e, Prentice-Hall, 1997.
C++ Primer, by Lippman &
Lajoie 3/e, Addison Wesley. 1998.
For helpful links on reviewing or getting
up to speed on the portions of C++ that are covered in Foundations of Computer
Science, check out C++
and Programming Classes at FAU and other
useful links, including C++ Standard and C++ STL Reference.
Click here to view the Course Syllabus
Cleick here for General Information
concerning course policies.
Click here for information on WebCT
quizzes.
Reading Assignments and Exam Schedule
There will be weekly electronic quizzes based on the assigned readings
using questions from the chapter review questions in CPL and the readings
in LP. Each quiz will last between 10 and 15 minutes and can be taken
during the 48 hours before class. As soon as the quiz is available
a link will be added to the list below. There will be a quiz for
each class session except the first class and exam dates. The quizzes
can be accessed on the FAU
WebCT server.
-
January 15: Ch. 1
-
January 22: Ch. 2 - 4
-
January 29: add Ch. 5; Quiz will be on Ch. 3 - 5
-
February 5:Ch. 6 sections 1 - 3
-
February 12: Ch. 6 sections 4-6, Ch. 7 sections 1 - 3
-
February 19: Exam 1 (1 hour) and Ch. 7
sections 4 - 6 (no Quiz)
-
February 26: Finish previously assigned material; no quiz
-
March 4: Ch. 8
-
March 11: Ch. 8 (no Quiz)
-
March 18: Spring Break
-
March 25: Ch. 9 sections 1 and 4 (no Quiz)
-
April 1: Exam 2 (1 hour) and Ch. 10 (no Quiz)
-
April 8: Ch. 10 (cont.)
-
April 15: Ch. 10 (cont.)
-
April 22: Ch. 12
-
April 29: Final Exam
Programming Assignments
-
Assignment 1: Modified Stack and RPN Evaluator:
Due: Saturday, February 5.
-
Assignment 2: Queue Template Class: Due: Saturday,
February 12
-
Assignment 3: Linked List with Iterator:
Phase A Due: Saturday, March 25; Phase B Due: Saturday, April 1
-
Assignment 4: BST, Due: Saturday, April
22
Grading of programming assignments
As specified in the course
syllabus, program functional correctness is only one component of the
grade assigned to a program. The remainder of the grade is based on the
program's style (including header and in-line comments, indentation, identifier
names) and design (how you decompose the solution, what classes you use,
etc.) A fuller description is contained in Programming
Style Guidelines.
Submission of Programming Assignments
Programming assignments are due at the start of class on the date listed
on the assignment unless otherwise specified. Programs are
to be submitted in two forms
-
Hard copy -- A printed copy of all source files that contain code you have
written or modified and a printout showing the execution of required tests
of the program
-
Electronic -- Use the program hwroy on any CSE Unix system to submit copies
of all source code files for which you have submitted hard copy.
To use hwroy, go to the directory containing your program source files
and execute the command hwroy. Follow the on-screen instructions
to select the appropriate program and files to submit. The files
you submit must use the filenames specified in the problem statement.
The time stamp on this copy of the program will be used to determine whether
it has been submitted on time or is late. Alternatively, you can use the
web-based version at http://www.cse.fau.edu/~hwroy/.
Getting Help
You can get help from me in several ways.
-
In my office during office hours or by appointment at other times.
-
By phone during office hours or at other times. Leave a message and
I will return your call.
-
By email -- any time. Please include a descriptive subject on your
message.
If you are seeking help with a program, you need to bring or provide the
following
-
A copy of the full source code for your program
-
A copy of the error messages and/or output from running your program
If you are using email, send these as attachments to your mail message.
Be as specific as possible in describing the nature of the problem.
("I'm having trouble." or "The program won't compile." or "The program
doesn't work." don't give me enough information. If you get a bus
error or segmentation fault, use the debugger to find out exactly where
in the program the error is occurring. I'm available and willing
to help, but you have to do your part.
Cheating and Abuse of Computing Privileges
Programming and other assignments should be completed by each student on
their own. It is expressly forbidden for students to collaborate on assignments
without the permission of the instructor. Collaboration must be avoided.
It is okay to ask another student for advice when stuck on a program design,
debugging, etc. A few friendly pointers and a bit of advice is fine, but
"borrowing" or copying another's work is grounds for punitive action, including
a failing grade on the assignment or for the course and on a second occurrence
possible dismissal from the University.
Students are subject to the policy on academic irregularities contained
in the FAU Undergraduate Catalog and the student handbook. If I receive
programs or homework assignments that are substantially equivalent, I will
not hesitate to punish all involved parties as provided by the rules.
Penalties range from an F (zero) on the particular work up to and including
a failing grade for the course. All such incidents are reported to
the Registrar's Office and noted on the student transcript. A second
academic irregularity can lead to dismissal from the University.
In addition, the University and the computer science department maintain
policies regarding proper behavior on its computer systems. Failure to
adhere to these policies can result in loss of computer privileges, and
possible legal action.
Programming Environment
While students may use their own PCs to develop and test their programming
assignments, the final version of the program must be executable on the
department's Unix workstations. Student programs will occasionally
be run to test them.
All programming projects must be written in C++, using only the standard
C++ libraries. The use of the C++ constructs taught in this course
is an essential part of the assignments and the use of standard C constructs
instead will be penalized.