CSI 2131 WINTER 2002 course description

CSI 2131. FILE MANAGEMENT (3 hours of lecture per week, 1.5 hours of lab per week, 3 credits). Characteristics of computer files and mass storage media. Operations on files. File organization and access methods: sequential, indexed-sequential, direct, extendible hashing, B-trees. Design of file management systems. Includes exercises in fourth-generation languages.
Prerequisite: CSI 2114

WEB PAGE: http://www.site.uottawa.ca/~lucia/courses/2131-02/
PROFESSOR: Dr. Lucia Moura
email: lucia@site.uottawa.ca
Phone: 562-5800 X-6678 (to be used exceptionally; e-mail is preferable)
Office: MCD 314
Office hours: Wednesdays 9:00-10:00; Fridays 11:00-12:00; Fridays 2:45-3:45
LECTURES: Section A: Tuesdays 14:30-16:00 and Fridays 16:00-17:30 (CBY C03)
Section B: Tuesdays 11:30-13:00 and Fridays 13:00-14:30 (LMX 122)
LABS: Labs form an integral part of the course and must be attended.
By the end of the first week, you will be assigned to one of the LABs.
You will be asked to indicate if any of the LAB times conflict with other scheduled lectures.
Check the web page to see which LAB you have been assigned to.
All labs will be at the CUBE (most of them at CBE 201, some at CBE 203/105)
LAB A: MON 13:00-14:30;    LAB B: MON 17:30-19:00;
LAB C: TUES 13:00-14:30;    LAB D: WED 11:30-13:00;
LAB E: THUR 11:30-13:00;    LAB F: THUR 13:00-14:30;
POLICIES: You are responsible for reading my policies on plagiarism, remarking, late assignments and missed midterm, posted in the course web page.
Any mass communication with the class is going to be posted on the course web page under the heading of "News/Announcements"

TEXTBOOK: File Structures: an Object-Oriented Approach with C++,
Michael J. Folk, Bill Zoellick and Greg Riccardi, Addison-Wesley, 1998.
You will need a C++ book. The textbook does not cover details of C++ needed for assignments. One possible recommended book is:
C++ Primer, S.B. Lippman and J. Lajoie, Addison-Wesley, 1998.
The objective of CSI 2114 (data structures course) was to teach ways of efficiently organizing and manipulating data in main memory. In CSI 2131, you will learn equivalent techniques for organization and manipulation of data in secondary storage. In the first part of the course, you will learn about "low level" aspects of file manipulation (basic file operations, secondary storage devices and system software). In the second part of the course, you will learn the most important high-level file structures tools (indexing, co-sequential processing, B trees, Hashing, etc). You will apply these concepts in the design of C++ programs for solving various file management problems.
  1. Introduction to file management. Fundamental file processing operations.
  2. Managing files of records. Sequential and direct access.
  3. Secondary storage, physical storage devices: disks, tapes and CD-ROM.
  4. System software: I/O system, file system, buffering.
  5. File compression: Huffman and Lempel-Ziv codes.
  6. Reclaiming space in files. Internal sorting, binary searching, keysorting.
  7. Indexing.
  8. Co-sequential processing and external sorting
  9. Multilevel indexing and B trees
  10. Indexed sequential files and B+ trees
  11. Hashing
  12. Extendible hashing

Assignments (A) 30 %
Midterm exam (M) 25 %
Final exam (F) 45 %
Grade (G)
100 %
Final Grade (G):
if (0.25*M + 0.45*F)/0.70 < 50% then G=(0.25*M + 0.45*F)/0.70
if (0.25*M + 0.45*F)/0.70>= 50% then G=0.25*M + 0.45*F + 0.30*A
Assignment due dates:
(A) is the average of:  Due date: 
Assignment 1  Feb 05 2:00 PM (Tuesday)
Assignment 2  Feb 26 2:00 PM (Tuesday)
Assignment 3  Mar 26 2:00 PM (Tuesday)

Midterm exam date: March 2 (Saturday) 3:00-5:00 p.m. - room Section A: MNT 202, Section B: MNT 203.

First lecture: January 8
Study break: February 18-22
Last date to drop: March 8
Last lecture: April 12
Final Exam Period: April 16-May 1st, 2002