Lecture Notes For All: File Structures

GoDaddy

...................

Thursday, May 27, 2010

File Structures

File Structures

Course Overview:
The Course will cover the following materials: File concepts, basic file operations, physical file organization and compression techniques, sequential file structures, hashing and direct organization structures, indexed structures, list file structures (inverted, multi-key, ect.), tree structures (B trees, B+ trees,... etc.), external sorting techniques, searching techniques.
Course Objectives:
· Provide a solid introduction to the topic of file structure design.
· Discuss, in detail, the data structures necessary for achieving its efficiency objectives.
· Introducing techniques for organization and manipulation of data in secondary storage including the low level aspects of file manipulation which include basic file operations, secondary storage devices and system software.
· Introducing the most important high-level file structures tools which include indexing, co-sequential processing, B trees, Hashing.
· Applying the techniques in the design of C++ programs for solving various file management problems.
Learning Outcomes:
After completing this course, the student should demonstrate the knowledge and ability to:
·
Explain the importance of file structures in the Data Storage and Manipulation.
·
Show how various kind of secondary storage devices to store data.
·
Show how the File Structure approach differs from the data base approach.
·
Know the low level aspects of file manipulation.
·
Know the importance of data compression.
·
Know some of the high-level file structures tools and recognize the difference between various indexing techniques.
·
Implement some of the learned techniques and concepts using C++ for solving various file management problems.
Teaching Methods:
The course will be based on the following teaching and learning activities:
·
Lectures covering the theoretical part using both Power Point presentations and White board.
·
Visit some websites that provide animation for some of the techniques presented in the course.
·
Review questions and class discussion.
·
Programming assignments.
·
Using the Internet to find the recent information related to the course.

Teaching Resources:
Main Text Book


File Structures, an Object Oriented Approach with C++, M.J.Folk, B. Zoellick and G.Riccardi, Addison-Wesley, 1998.
Supplementary Books:
· Deitel and Deitel, C++ How to Program, 5th edition. Prentice Hall. 2006.

Week 1 : Introduction Get Slide in PDF
· Course Description Get Slide in PDF
· Review some concepts from the Data structure Course
· Introducing the File Structure
· The Heart and aim of File Structure Design
· A short history of File Structure Design
Week 2: Fundamental File Processing Operations (1) Get Slide in PDF
· Physical Files and Logical Files
· Introducing types of files
· Text File Operations and Functions in C++
· Manipulating Text Files
· Writing Sample Programs to solve various problems
Week 3 : Fundamental File Processing Operations (2)
· Binary File Operations and Functions in C++
· Manipulating Binary Files in C++ (File of Records)
· Writing Sample Programs to solve various problems
· Seeking in C++
Week 4: Secondary Storage Get Slide in PDF
· Introducing the various kinds of storages media
· Types Disks
· Organization of Disks
· Disk Access
· Some Calculations related to Disk Capacity
· Some Calculations related to Disk Access
Week 5: System Software
· A journey of a Byte
· Disk Bottleneck
· Buffers and Buffer Management
First Exam
Week 6: Fundamental File Structure Concepts Get Slide in PDF
· Field and Record Organization
· Record Access (Sequential and Direct)
· Header Records and Metadata
· Portability and Standardization
Week 7: Organizing Files for Performance Get Slide in PDF
· Introducing the Data Compression concept
· The RLE technique
· Huffman compression technique Visit this Site for an Animated version of the Huffman Code algorithm: Huffman
Week 8 : Reclaiming Space in Files
· Main file operations
· Deleting records from file
· Deleting record from fixed length record files dynamically
· Deleting record from Variable length record files dynamically
Week 9: Finding Things Quickly
· Internal Sorting and Binary Searching
· Keysorting
Week 10: Indexing Get Slide in PDF
· What is an Index
· Simple Index for Entry-Sequenced Files
· Large Index Files
· Inverted Lists and Selective Indexes
· Advantages and Disadvantages of Indexing
Week 11: Consequential Processing and the Sorting of Large Files Get Slide in PDF
· Matching and Merging Sorted Files
· Merging as a way of sorting large files on Disk
Week 12: Indexing using Tree Structured File Organizations
· Statement of the problem
· Indexing with Binary Search Trees
· Indexing with Paged Binary Search Trees
Second Exam
Week 13 and 14: Multilevel Indexing Get Slide in PDF
· Introducing the B-tree Index: Statement of the problem
· Manipulating B-Trees (Creating, Searching, and Inserting )
· Deleting a key from a B-Tree
· Introducing the B+ tree file structure
· Manipulating B+Trees (Creating, Searching, and Inserting )
Week 15: Hashing Get Slide in PDF
· Introduction to Hashing
· Collisions
· A Simple Hashing Algorithm
· Hashing Functions
· Collision Resolution Techniques


No comments:

Post a Comment