C/C++

CGI

CSS

(X)HTML

Java

JDBC

MySQL

Oracle

OraPerl

Perl

PHP

Textbook

Unix shell


CSci351 Introduction to File Processing


Syllabus: Spring 2008   Credit Hours: 3
Class Time: 09:00am – 09:50am, MWF Classroom: Streibel Hall 106
Instructor: Wen-Chen Hu

Office: Streibel Hall 212

Teaching Assistant: Anupam Thakur Office: Streibel Hall 229
Email: thakur@cs.und.edu Office Hours: 02:00pm – 04:00pm, Tuesday


University of North Dakota Course Descriptions —
Techniques of using mass storage devices. Sequential, random and key-accessed files. B-trees and inverted file structures.

Anonymous —
File Processing refers to the use of computer files to store data in persistent memory (i.e. the data is stored even after the computer has been turned off and restarted). It has several advantages and disadvantages over database systems, for example, it requires the user to define and implement files for each application. This can be done either permanently in the computer code of the program, or by user selection when the program is run. In conclusion, file processing is an useful alternative to a database only where the information is only going to be accessed by a single user, where speed of data input is vital and where the amount of data being stored is relatively small.

Wikipedia
File processing is the action of using file related operations (such as create, store, or retrieve) to the contents of a file from a medium such (hard drive, floppy disk, CD-ROM or a DVD-ROM), in a way that the data retrieved is used by a program.


A Generic Structure of a File-Driven Web System —


A Generic Structure of a Database-Driven Web System —

Grading:

Housekeeping Details:

  • Tuesday, May 06: Graded Homeworks IV & V in the box outside the instructor's office at Streibel Hall 212.
  • Saturday, May 03: Homework V Solutions posted.
  • Saturday, May 03: Homework IV Solutions posted.
  • Friday, May 09: Final Exam to be held.
  • Wednesday, April 30: Final Exam Question Distribution posted.
  • Wednesday, April 30: Programming exercise demo in class.
  • Wednesday, April 30: Programming exercises due in class.
  • Wednesday, April 30: Homework 5 due in class.
  • Monday, April 28: No class.
  • Wednesday, April 23: Homework 5 posted.
  • Wednesday, April 23: Homework 4 due in class.
  • Monday, April 14: Homework 4 posted.
  • Friday, April 11: Exam II to be held.
  • Friday, April 04: Exam II Question Distribution posted.
  • Wednesday, April 02: Homework III Solutions posted.
  • Wednesday, April 30: Programming exercise presentation and demonstration in class.
  • Wednesday, April 30: Programming Exercise II due in class.
  • Monday, March 10: Programming Exercise II posted.
  • Wednesday, March 19: Homework 3 due in class.
  • Friday, February 29: Homework 3 posted.
  • Saturday, February 23: Homework II Solutions posted.
  • Saturday, February 23: Homework I Solutions posted.
  • Friday, February 22: Exam I to be held.
  • Friday, February 15: Exam I Question Distribution posted.
  • Wednesday, February 13: Daktronics, Corp. coming to the class for recruiting. Please attend today's class.
  • Friday, February 15: Homework 2 due in class.
  • Friday, February 08: Homework 2 posted.
  • Monday, February 11: Homework 1 due in class.
  • Monday, February 04: Homework 1 posted.
  • Wednesday, January 30: Check your exercise team members.
  • Wednesday, January 23: Form your own three-member team as soon as possible. The instructor will randomly group those students, who have not formed their own teams in a week.
  • Friday, March 14: Programming Exercise I due in class.
  • Wednesday, January 23: Programming Exercise I posted.
  • Wednesday, January 09: Fill up and send the email wenchen@cs.und.edu to register this course.

Tentative Schedule:


Week

Class Topic Reading Due Where
1 01/09
01/11
1. Introduction Chapter 1    
  1.1 Course outline 1.1    
  1.2 System overview and technology survey 1.2    
  1.3 File structure history 1.3    
2 01/14
01/16
01/18
2. Fundamental File Processing Operations Chapter 2    
  2.1 Introduction to files 2.1    
  2.2 Basic file operations in C++ 2.2 – 2.6    
  2.3 The Unix file system 2.7 – 2.10    
3 01/23
01/25
3. Programming Exercise I      
  3.1 File-driven web systems      
  3.2 Construction steps      
01/21 Martin Luther King Jr. Day holiday — no classes      
01/22 Last day to add a full-term course
Last day to add audit or change to/from audit
Drops after the last day to add will appear on a transcript.
     
4 01/28
01/30
02/01
4. Secondary Storage Chapter 3    
  4.1 Disks 3.1 – 3.2    
  4.2 Magnetic tapes 3.3    
  4.3 CD-ROMs 3.4    
5 02/04
02/06
02/08
5. Fundamental File Structure Concepts Chapter 4    
  5.1 Field organization 4.1    
  5.2 Record organization 4.1    
  5.3 Buffer management 4.2    
6 02/11
02/13
02/15
6. Managing Files of Records Chapter 5    
  6.1 Record access 5.1 HW I
on 02/11
 
  6.2 A sequential search 5.1    
  6.3 Unix tools for sequential processing 5.1 HW II
on 02/15
 
7 02/20 7. Organizing Files for Performance Chapter 6    
  7.1 Reclaiming space in files 6.1 – 6.2    
02/22 Exam I      
02/18 Presidents' Day holiday — no classes      
8 02/25
02/27
02/29
8. Organizing Files for Performance (Cont.) Chapter 6    
  8.1 Internal sorting 6.3    
  8.2 Binary searching 6.3    
  8.3 Keysorting 6.4    
9

03/03
03/05
03/07

    Spring Break      
10 03/10
03/12
03/14
10. Programming Exercise II      
  10.1 Database-driven web systems      
  10.2 Environment setup      
  10.3 Construction steps   Ex. I
on 03/14
 
11 03/17
03/19
11. Databases SQL    
  11.1 Introduction      
  11.2 SQL (Structured Query Language)   HW III
on 03/19
 
03/21 Easter holiday — no classes      
12 03/26
03/28
12. JDBC (Java Database Connectivity) JDBC    
  12.1 Introduction      
  12.2 Commands      
03/24 Easter holiday — no classes      
03/28
Last day to change to or from S/U grading
Last day to change to or from audit grading
Last day to drop a full-term course or withdraw from school
     
13 03/31
04/02
04/04
13. Indexing Chapter 7    
  13.1 Introduction 7.1    
  13.2 A simple index 7.2    
  13.3 Multiple keys 7.5 – 7.6    
14 04/07
04/09
14. Indexing (Cont.) Chapter 7    
  14.1 Secondary keys 7.7    
  14.2 Inverted lists 7.8    
04/11 Exam II      
15 04/14
04/16
04/18
15. Multilevel Indexing Chapter 9    
  15.1 Binary search trees 9.1 – 9.2    
  15.2 AVL trees 9.3    
  15.3 Multilevel indexing 9.4    
16 04/21
04/23
04/25
16. B-Tree Chapter 9    
  16.1 B-tree basics 9.5 – 9.9    
  16.2 B-tree properties 9.10 – 9.11 HW IV
on 04/23
 
  16.3 B-tree operations 9.12    
17 04/28
04/30
17. Indexed Sequential File Access Chapter 10 HW V
on 04/30
 
  17.1 Indexed sequential access 10.1 – 10.2 Ex. II
on 04/30
 
  17.2 Adding a simple index to the sequence set 10.3 – 10.11 Demo
on 04/30
We're here.
18 05/09 Final exam (08:00am – 10:00am, Friday)      
19 05/13 Grades posted before noon, Tuesday