FSU Seal - 1851 Course Organizer
COP 4530 Data Structures, Algorithms, and Generic Programming
Spring Semester 2007
Root View: Course Components
Syllabus The course syllabus establishes course policies on grading, attendance, and exams. The syllabus should be read in detail at beginning semester.
Lectures This is the main knowledge resource for the course. Lectures are in the form of a slide show with an accompanying narrative. (Click "Narrative on" to see the narrative. Click "Frames[Windows]" to toggle between displaying the narrative in a separate frame or a separate resizable window.) Please report bugs/corrections in the appropriate Blackboard discussion forum. Note: The lecture notes are undergoing revision during the semester.
Calendar The course calendar: coverage, assignments, lecture notes all released here.
Assignments Assignments are intended to be total learning experiences, not merely exercises in programming. The assignment documents in particular are used to elaborate on topics and introduce new ones. The content of assignments is of equal importance with the lecture notes. Assignments will be released through the calendar. Note that assignment deadlines will be enforced and that successful completion of most assignments requires starting at least two weeks in advance of the deadline. We expect polished, thoughtfully prepared work and will assess accordingly.
My FSU The FSU/Blackboard Portal, where you will find this course. The course site is the main communication resource for the class. Here you can get help, talk to other students, retrieve your grades, and generally keep up with course news and announcements.
Office Hours Instructor office hours and contact information
Effective Jan 8 - Apr 27, 2007
Extras: Miscellaneous Resources and References
COP 3330 The lecture notes from the pre-requisite course
FAQ Frequently Asked Questions harvested from discussion boards
Make A tutorial on the make utility and makefiles
E1 E2 E3
E4 E5 Midterm04 Midterm05
Some old exams. Note that students are encouraged to discuss these exam questions on Blackboard, where a forum has been set up for the purpose. Please don't ask instructors to participate or for individual help on them.
MazeBuilder A nifty JavaScript maze accessory by Isaac Olson. This application requires Internet Explorer 6.0 or higher.
Temporal View: Course Calendar
WeekDatesCoverageAssignmentsDue Date
1 1/8 - 1/14 Chapter 1: Introduction
Reviews and Background
Activate CS account, join Unix group
Homework 0: Unix, Emacs, and Project Builds
1/14
1/21
2 1/15 - 1/21 Chapter 2: BitVectors   bitvect.h   bitvect.cpp
Chapter 3: Strings   xstring.h   xstring.cpp
Homework 1: Sieve of Eratosthenes 2/4
3 1/22 - 1/28 Chapter 4: Hashing
Chapter 5: Templates
   
4 1/29 - 2/4 Chapter 6: Vectors   tvector.h   tvector.cpp
Text: 3.1-3.5
Homework 2: Password Server 2/18
5 2/5 - 2/11 Chapter 7: Algorithms   gbsearch.h
Text: 3.2, 3.3
Note O(n) incorrectly used in text
"generic algorithm" incorrectly defined in text
 
6 2/12 - 2/18 Chapter 8: Lists
Text: 6, 9
Project 1: Ringbuffer 3/4
7 2/19 - 2/25 Chapter 9: Deques
Text: 8.5
   
8 2/26 - 3/4 Midterm Exam: See Syllabus for details
9 3/5 - 3/11 Spring Break
10 3/12 - 3/18 Chapter 10: Abstract Data Types
Text: 7, 8.1, 8.3, 8.4, 8.6
Project 2: Rat Pack 3/18
11 3/19 - 3/25 Chapter 11: Function Objects
Chapter 12: Iterators
Chapter 13: Generic Algorithms
Homework 3: I/O Manipulators 4/1
12 3/26 - 4/1 Chapter 14: Tables
Text: 12.1 - 12.5
Project 3: Internet Router 4/22
13 4/2 - 4/8 Chapter 15: Heaps
Text: 14.1, 14.2, 14.3
Homework 4: Priority Queues 4/15
14 4/9 - 4/15 Project Work / Review    
15 4/16 - 4/22 Project Work / Review    
16 4/23 - 29 Final Exam: See Syllabus for details
17 5/1 8:00 AM: Grades Turned In To Registrar

Unix Script Submission Process:

Most programming assignments will be submitted via a specific Unix script from your CS Majors account logged in to shell.cs.fsu.edu. Submission scripts will be located in the directory ~cop4530p/spring05/submitscripts/. Availability of these scripts will be announced in the assignment document.

Submission via script should generate two email responses:

  1. When your submission is received, a receipt is sent via email. The date/time stamp of this email is the official submission time.
  2. After your submission has been unpacked and placed in your portfolio, a second message is sent containing a copy of all files that were unpacked. This is a record of exactly what was received and placed in your portfolio.

After submission, be sure to check your email for these two messages. Normally these would arrive within a few seconds of submission. If you do not get both email responses, a malfunction occurred. When you do receive these confirmation emails, save them. If a problem were to arise with your files, these emails are your proof of submission.

Note that revisions may be submitted any time prior to the deadline and will automatically replace the previous submission.