|
|
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 |
|
|
|
|
|