CSI 2131B WINTER 2001 course description


CALENDAR 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 COBOL or fourth-generation languages.
Prerequisite: CSI 2114
Note: COBOL is not used (the calendar entry was written a long time ago). We will use the C++ programming language.
WEB PAGE: http://www.site.uottawa.ca/~lucia/courses/2131/
PROFESSOR: Lucia Moura
tel: 562-5800 ext. 6309
email: lucia@site.uottawa.ca
OFFICE HOURS: Office: CBY A329 (floor: 3.5 or M)
Mondays 13:30-15:30
Tuesdays 13:30-15:30
LECTURES: Tuesday 11:30 - 13:00 LMX 122
Friday 13:00 - 14:30 LMX 122
TUTORIALS/LABS: LAB1: TUE 13:00-14:30 FTX 361 
LAB2: THR 11:30-13:00 LMX 219 
Check the web page for information on how to sign up for tutorials/labs and for (possible) additional lab times.
Tutorials/labs are integral part of the course and should be attended.

TEXTBOOK: File Structures: an Object-Oriented Approach with C++
Michael J. Folk, Bill Zoellick and Greg Riccardi
Addison Wesley Longman, 1998
PROGRAMMING
LANGUAGE:
C++ (check the web page for recommended books on C++) 
COURSE OBJECTIVES: 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, students will familiarize themselves with the "low level" aspects of file manipulation (basic file operations, sequential and direct access and characteristics of secondary storage). In the second part of the course, students will have an understanding of the most important high level file structure tools (indexing, cosequential processing, B trees, Hashing, etc). They will apply these concepts in the design of C++ programs for solving various file management problems.
COURSE OUTLINE:
  1. Introduction and motivation
  2. Basics of file processing, basic operations on files
  3. Secondary storage, physical storage devices
  4. System software: I/O system, file system
  5. Fundamental file structure concepts and managing files of records
  6. File compression
  7. Indexing and a first overview of Hashing
  8. Cosequential processing and external sorting
  9. Multilevel indexing and B trees
  10. Indexed sequential files and B+ trees
  11. Hashing and extendible hashing

MARKING SCHEME:
Assignments (A) 30 marks
Midterm exam (M) 25 marks
Final exam (F) 45 marks
Grade (G)
100 marks
 
if
then G=
M + F < 35 10 * (M+F) / 7
M + F >= 35 A + M + F
 
IMPORTANT DATES: Assignment due dates:
(A) is the average of:  Due date: 
Assignment 1  Jan 29 11:00 am (Monday)
Assignment 2  Feb 16 11:00 am (Friday)
Assignment 3  Mar 26 11:00 am (Monday)
Assignment 4  Apr  9 11:00 am (Monday)

First lecture: January 5
Study break: February 19-23
Midterm exam date: March 3 (Saturday) 13:00-15:00 (room to be announced).
Last date to drop: March 9
Last lecture: April 6
Final Exam: April 12-30, 2001