Course Syllabus for CO 315, Large File Organization and Access
Computer Science Department, Indiana University of Pennsylvania
Dr. John A. Cross, Fall 2000

1. Course and Curriculum Design

COSC 315 - Large File Organization & Access 
Credits: 3.00 
The organization of large computer files for business systems, information systems, and other applications. Use of advanced COBOL for efficient file access. Evaluation of file access methods and directory organization. Introduction to random file algorithms and integrated file systems. 
Lecture: 3.00 
College: College of Nat Sci and Math 
Department: Computer Science 
Pre-requisites: ( COSC 220 Minimum Grade: D ) 

This course is designed to continue to build practical skills in file processing and data management for information systems. CO 220 focused on sequential file processing tasks and algorithms while developing hands-on skills in Cobol and batch processing. CO 315 adds random access and interaction to those concerns. CO 310 introduced you to internal data structures for organizing data, algorithms for effective use of those structures, and procedures for analyzing processing cost. CO 315 applies these concepts to files that are large enough to require secondary memory and the ability to measure and tune the performance of file systems. (CO 310 is strongly recommended as a prerequisite to this course.)

Since this course was originally designed, object-oriented methods and data base technology have become widely accepted. CO 441, Database Management, has been an important sequel to CO 315 in our undergraduate degree programs for many years. The Computer Science Department is working on moving database topics into the position that CO 315 currently occupies in our curriculum. However, CO 315 will remain in its current form for at least another year and it is a prerequisite for other courses, especially CO 441 and CO 319 (Software Engineering).

2. Course Objectives

  1. To solidify and extend your practical knowledge and skill in file processing and data management. For example, we will implement random access methods and non-static data structures.
  2. To measure and adjust the performance of data processing systems. This will require applying some basic concepts of mathematics and statistics. Sample concerns: How is efficiency measured? What can be done to improve system performance? What concerns are addressed by data encryption, data compression, distributed file systems, intranets, and data mining?
  3. To program data management tasks and interactions using popular tools and methods.
  4. To develop knowledge and experience with data management concerns. For example: security, integrity, accountability, open systems, data compression, applied data structures, data communications and user-friendly information systems.
  5. To examine how data storage technology works and develop analytical skills for making data management decisions.
  6. To complete your introduction to Cobol programming. Note that I will allow you to use any programming environment to develop programs, but your Cobol programs must run on IUP's academic VAX/VMS system.
  7. To deal with current concerns in large file organization and access. For example, we will consider current concerns and responses relative to Y2K, legacy systems, GUI's, system design, software engineering, and the Internet.

3. Evaluation Methods. I will award points for your performance on projects, in-class activities, quizzes, two exams, and a final exam. All exams will be open-book and open-notes. There will be roughly 300 points for examinations and quizzes and 225 points for other graded activities.

I use point scores to determine grade cutoffs. The grade cutoffs will reflect my best judgment of what letter grade a particular point total represents. Grade cutoffs will be no higher than 90%, 80%, 70%, and 60% of the possible point total for grades A through D. I will determine your course grade based on your point total relative to the grade cutoffs, plus my personal judgment for students who are at a borderline score. The primary factor for deciding a borderline score will be exam and quiz scores.

I am under no obligation to grade late assignments and I may simply lose them. If you are not finished working when a program is due, submit what you have finished. I will assess a 5-point penalty per meeting for all late assignments or assignments requiring resubmission (grade R), up to 50% off. If you fail to hand in any assignment, I may assign a one-letter grade penalty in addition to a zero for the assignment. You may check your grades throughout the academic session by using the "grade-check" program on the academic VAX. Don't be late; don't procrastinate; don't miss class.

4. People who will help you learn. The best way to contact me outside of class is through E-mail To: jacross@grove.iup.edu. You may check my online office hours and advising notes. If you want to see me at another time, you may make an appointment through e-mail or by phoning me. I maintain a course support page for CO315. 

If you need technical help, please access appropriate man pages or online help as a first step. Please bring as much current hard copy as you can. "Bringing something up on my screen" should be a last resort.

The student helpers in public work areas will probably not be much help; that is not their job function even if they could provide good help. I encourage you to learn from each other. Talk with fellow students, but be careful that you do not get or give too much help on programming assignments. Inspecting each other's plans and code is good professional behavior; group coding and submitting someone else's work as yours are serious forms of academic misconduct. Email me and annotate anything that I may construe as improper academic conduct.

Note: I attempt to make one or more projects a two-person effort. Timely, professional effort is especially critical when you work together. I hope that you will help each other learn more than you annoy each other; I usually observe a little of both.

5. Handins for projects. When you submit paper for a project, place the following items in LARGE BLOCK LETTERS on the outside of the folded listing. Folding greenbar paper around your submission should be adequate to keep it together. DO NOT staple your handin in a way that makes it difficult to read.

(YOUR NAME)
COSC 315

PROJECT (PROJECT NUMBER)
SUBMITTED (DATE SUBMITTED)

Annotate each project requirement and how you met it. A handin that is easy to grade may receive bonus points; a project that is difficult to grade may have additional points taken off. A project with incorrect output is likely to receive more favorable consideration if you annotate the flaws in the output, possibly with your best guess about what went wrong. You must provide adequate demonstration that your project does what it is supposed to do. Usually this requires multiple tests with the correctness or flaws of the results annotated. If your printed handin contains extraneous things, line them out so that the grader does not get annoyed or confused. Do not edit any script or carbon files except to make them printable. Always include a directory listing of the pertinent files, with date of last modification and size.

Projects are due in Stright 107 on the due date by 5:00 P.M. You may submit projects in class on the due date. If your handin consists of several separate documents, that is OK, but you must have the above data on every document and fold them together. Do not make it difficult for me to grade your work. I will not grade what I cannot find easily.

6. Style. All programs  (including programs written in the command language interface for an operating system) must begin with comments that declare three things: the problem; programmer's name; and the date when the program was written. A good guideline for what to comment is to consider what was said in the problem statement and your algorithm design. Every good program or script should have a plan; the minimum for a plan is a sequence of statements about program data and steps in the procedure. Write your plan before you write code. Put these statements into your code in appropriate places. Then write the code.

Show the logical structure of your code by consistent indentation. Use upper and lower case, following conventional English usage, in interactive dialogue and comments. Follow a consistent style for the use of upper and lower case in your code. Cobol was designed in the early 1960's to be English-like and readable. Note that lowercase text and terminal format have been widely available for program code since the early 1980's. All uppercase code is less English-like and less readable than conventional prose style. Terminal format is better suited to terminals while ANSI format is better suited to punched cards. Although your programs may run correctly with poor visual style or other style flaws, points will be subtracted from your grade for poor style.

7. Attendance And The "Buddy" System. According to university policy, you are responsible for all class activities, including quizzes, exams, and handouts. I do not grade on attendance, but you will probably hurt your grade by missing class. Any class absence jeopardizes your chance to benefit from this course and achieve a good grade. This course relies heavily on lecture notes and classroom interactions. Make arrangements with a classmate to share notes and pick up handouts if you are not in class. (This is my "buddy system." Please let me know if your buddy appears to be drowning!)

I will keep track of attendance because I have found that it helps you. In accordance with official IUP policy, I hereby state that I reserve the right to reduce your grade for excessive class absence. If you want to play games with rules, ANY absence for oversleeping or any other reason short of health, sudden personal problems, or transportation emergencies is unwarranted. . Do not miss class! Do not fall behind!

8. Textbooks and Other Documents.

Required textbooks: None! :-(  Strong recommendation: Maintain a notebook with daily notes and printed copy of online support materials. Locate and use a Cobol textbook that includes the topics we will address this semester. (Your COSC 220 text should be adequate.)

Recommended books:

·        Textbooks from CO 110, CO 220, and CO 310.

·        Help, man pages, and Web pages for all compilers and utilities related to this course!

·        Online resources for this course.

·        Loomis, Mary. Data Management and File Structures, Second Edition. 1989. Prentice-Hall.

9. Special Resource Requirements. IUP will provide you with access to all the necessary computer hardware and software. You will use PC's in Windows 95/98 and the academic VAX/VMS. The Computer Science Department encourages students to acquire sufficient personal computing resources to access IUP computing facilities for this course and do significant computing on your own. Your instructor, Microcomputer Support Services (Mack Data Center), and the IUP Co-op Bookstore will provide free consultation to students who are considering the purchase of personal computing resources. Lab hours and system details are online.

* End of Syllabus for COSC 315 *