- Marks will be calculated as follows: (see course schedule for dates)
- 40% - Assignments
- 20% - In-Class Midterm (1 hour - open book)
- 40% - Final Exam (2 hours - open book)
A Note on Course Requirements:
- 'A' means: "Excellent: Superior performance showing comprehensive understanding of subject matter."
- 'B' means: "Good: clearly above average performance with knowledge of subject matter generally complete."
- 'C' means: "Satisfactory: basic understanding of the subject matter."
- 'D' means: "Minimal Pass: marginal performance; generally insufficient preparation for subsequent courses in the same subject."
- 'F' means: "Fail: unsatisfactory performance or failure to meet course requirements."
In order to pass this course, students must:
- 1. Submit ALL assignments (assignments may not be skipped: all reasonable efforts will be considered adequate for this requirement).
- 2. Achieve a minimum, unweighted average of C- (1.7/4.0) on the 2 exams. This grade is calculated as follows:
- ((adjusted score on midterm in %) + (adjusted score on final in %))*2
- to give a score out of 4.0
-
- BOOKS:
- RECOMMENDED [not required] : Course Text: File Structures - An Object-Oriented Approach With C++, M.J.Folk, B.Zoellick & Riccardi (Addison Wesley)
-
- RECOMMENDED [not required] : Mac Hall Copy Centre Course Pack: 461 Web Notes [These are hard copy versions of the notes available on the web]
- Top 10 List [my current favorite sources of information for this course; not necessarily in order]:
- Salomon, David Data Compression, The Complete Reference, 2E, 2000 Springer ISBN 0-387-95045-1
- Fortner, Brand, The Data Handbook, 2nd Ed., 1995, Spinger-Verlag ISBN 0-387-94505-9
- Barker, Richard, and Paul Massiglia, Storage Area Network Essentials, 2002 John Wiley & Sons, Inc. ISBN 0-471-03445-2
- DDJ, Doctor Dobb's CD-ROM Library: Dr. Dobb's Essential Books on File Formats (Release 1 on CD-ROM), 2000 Dr.Dobb's Journal
- Chapman, Nigel & Jenny, Digital Multimedia, 2000 John Wiley & Sons ISBN 0-471-98386-1
- Bentley, Jon, Programming Pearls 2nd Ed, 2000 Addison-Wesley ISBN 0-201-65788-0
- DeGrace, Peter, and Leslie Hulet Stahl, Wicked Problems, Righteous Solutions, 1990 Yourdon Press Computing Series ISBN 0-13-590126-X
- Nielsen, Jakob Designing Web Usability, 1999 New Riders ISBN 1-56205-810-X
- Weinberg, Gerald M., The Psychology of Computer Programming, Silver Anniversary Edition, 1998, Dorset House ISBN: 0-932633-42-0
- Khurshudov, Dr. Andrei , The Essential Guide to Computer Data Storage 2001 Prencitce-Hall ISBN 0-13-092739-2
-
- Assignments: Assignments are due at midnight (23:59) on the due date and will be penalized one full letter grade for each 24 hours late. NOTE: System failures (weekend or any other time) will not be grounds for extension of assignment deadlines. Note deadlines carefully and pace your work accordingly.
-
- THERE WILL BE THREE ASSIGNMENTS [TWO IN SPRING]:
- Asst 1: HARDWARE ASSIGNMENT (5%) [as there is no third assignment in the spring, this assignment is worth 10% IN SPRING ONLY]
- Asst 2: THREE-PART ASSIGNMENT: (split as 5%,10%15% = 30%)
- Asst 3: ASSIGNMENT (5%) [FALL ONLY]
-
- (see main page for due dates)
-
- Exams:
- Anything discussed in class, labs, or assigned as reading is fair game for exams. Topics found in this site that were NOT discussed in class or labs will not be included on either exam.
-
- Mid-Term Exam: will be held during class time on OCTOBER 30 IN CLASS. This is a one-hour exam. Students will not be given extra time if they arrive late. The spring midterm is scheduled for JUNE 12, during the second half of the class.
Final Exam: will be scheduled by the Registrar's Office. It will be a two hour final worth 40% of the final grade.
Labs:
Labs in this course are intended as a supplement to lectures. The Lab Instructor will be available during the designated lab times to answer course-related questions. Occasionally, there will be testable material to be covered in labs that will not be covered in lectures. All students are responsible for learning this material. As it is the Lab Instructor who marks your assignments, questions about what is acceptable and explanations of marks given are to be directed at him/her in a timely manner.
General Course Information
Resources:
- - textbook
- - 461 website (course notes are password protected)
- - selected research papers (will be handed out in class or made available on line)
- - see the resources page for other books (many are now available in the library)
- - see the external links page for links to Web-Sites
- - see the on-line local page for a list of the contents of the course directory (/home/profs/becker/Courses/461)
- - any other electronic/ hardcopy/ real-life sources as appropriate
The topics covered in this course include:
- - Fundamental File Operations
- - Secondary Storage Devices
- - File Anatomy: bytes; fields; records; etc.
- - Indexing
- - Data Compression
- - File Formats (graphics, scientific)
- - Signatures
- - UNIX File Systems
- -Cosequential Processing
, plus some of (depending on time):
- - Hierarchical Files
- - Distributed Files
- - Other File Systems (NT, BeOS, etc.)
- - File Security
- - Digital Libraries
- - Storage Area Networks
- - Data Mining
- - Web Site Design and Organization
- - File Design for Games
-
What this course is about:
Information Storage and Retrieval, largely but not exclusively with respect to files.
- Dealing with data in files:
- - storing
- - manipulating
- - organizing
- - representing data
- Dealing with the files themselves:
- - file systems
- - working with sets of files
-
- Objectives: (what I want you to take away from this course):
- - data structures are merely building blocks used to organize information
- - algorithms merely outline approaches to the solution of a problem
- - the mix & match approach is to be encouraged
-
Emphasis:
- The main focus of this course will be qualitative rather than quantitative. Well-developed communication skills are very important to your success in this course. You need to be able to assess numerous approaches to a problem and justify your answers. There is rarely one correct answer to any question in this course. The answer to almost every question in this course begins with "It depends..."
- Understanding the algorithms and concepts is key. Many, if not all of the algorithms discussed in this course are well-understood and well-tested. There will rarely be a need (after this course) to "re-invent" any of them. In many cases the code exists as public domain to be re-used as appropriate. If you remember and understand the algorithms as well as when and why they are useful, you will always be able to evaluate 'pre-written' code for its suitability rather than having to spend time re-writing it yourself (pick the right algorithms for the given circumstances and "apply as needed").
Warning:
- This is a senior level course and assumes a certain level of sophistication and maturity in both your learning and your programming skills. To succeed in this course you must be self-motivated and capable of doing some 'research' on your own.