Computer Science 255
Introduction to Business Data Processing
Administrivia
Meeting times:
3:00 - 3:50 MTThF, Thompson 311
Final Exam
8:00 AM Monday, Dec. 15
Textbooks
- (Required) Nickerson, Robert C. Fundamentals of Structured
COBOL. We will try and make it through the entire textbook,
and will have some additional material in handouts
- (Suggested) The VAX/VMS Primer (available at the
bookstore) is also a very useful resource.
Instructor
Office hours (tentative)
- 9:00 - 9:50 MTThF
- Or by appointment.
- I usually have obligations at 9:00 AM - 4:00 PM each day
(including office hours). If you catch me at any other time,
please feel free to drop in. Messages sent through the system MAIL
program are welcome, and can be used to ask a question or to set
up an appointment. A more detailed schedule will be posted on my
web page
(click
here).
Some Resources
- CSci newsgroup: ups.classes.255
- Web
page: go to
http://www.math.ups.edu and
follow the links to my home page. Along with several resources you
will find useful, I will post assignments, weekly schedules (and
schedules of past weeks), and copies of previous exams on my web
page (as soon as I learn how to make the exam copies "campus
only")..
Evaluation
- Two - three hour exams + a comprehensive final: 60% (The final
exam will have the weight of two hour exams)
- Written and programming exercises: 40%
- One of the programming exercises will be a multi-step project
developed over several weeks and involving a bit of formal
document writing.
Notes
Programming exercises will be graded on style and documentation as
well as correctness. Programs must include header documentation as
well as adequate internal documentation unless otherwise specified.
Late assignments will be accepted (with an increasing penalty) until
the graded exercise is returned to the class. All assignments turned
in must represent individual effort: work done by a committee cannot
be accepted except where a group effort is a clearly stated part of
the assignment. All students in Computer Science classes at the
University of Puget Sound are responsible for the material contained
in the document on academic honesty published by the Department of
Mathematics and Computer Science and included in the Academic
Handbook. A minimum grade of 50% on exams and 50% on homework
assignments is a necessary (but not necessarily sufficient) condition
for a passing grade.
Final Exam
The final exam for this class will be on 8:00 AM, Dec. 15. It will
be a comprehensive, two hour in-class examination. Should you find
yourself in difficulty at any point in the semester, please meet with
me as quickly as possible.
Syllabus
Introduction
Catalog Description
Introduction to data processing with emphasis on design,
implementation testing, and maintenance of business data processing
systems. Advanced file organization and extensive programming in the
COBOL language.
Objectives
CSci 255 introduces the student to the basic algorithms of
business data processing, to the software engineering process applied
to the design, implementation, and maintenance of business data
processing systems, to advanced file organizations and to file
management techniques using sequential, relative, and indexed files.
The programming language COBOL is used for class exercises in report
writing, maintaining sequential files, searching tables, and advanced
file organizations. The course fits in the middle of the Computer
Science/Business curriculum. It assumes experience with a programming
language and prepares the student for CSci 455: Database Management
Systems.
Prerequisites
- Computer Science: CSci 161
- A grade of C- or better is required in the prerequisite
course.
Required Topics
Programming Issues
A substantial introduction to the programming language COBOL with
lectures and class exercises on the following features of structured
programs in COBOL:
- Record structure
- Edited moves
- Calculations (with and without COMPUTE)
- PERFORM with variants
- Other control structures
- Tables and SEARCH verb
- File specification and manipulation statements for sequential,
direct, and indexed file organizations.
- Report writing (including the COBOL report writer)
File issues:
- Review of file basics, with further emphasis on hardware, file
organizations, and time/space tradeoffs
- File organizations and access methods
- Sequential file processing
- Level break processing
- File merge and the COBOL MERGE verb
- External sorting and the COBOL SORT verb
- Master file update
- Advanced file topics
- Inverted ( indexed) files, including a problem on
queries involving several inverted files (navigation)
- Direct ( relative) files--hashing, binary searching,
and linked structures
Software Engineering Issues
- Requirements specification and analysis
- Design
- System
- Detailed design (including structured design methods,
entity-relationship diagrams, dataflow diagrams)
- Test plan
- Implementation
- Testing
- Module validation testing
- Intermodule compatibility testing
- System validation testing
- program maintenance and the modification of existing programs
Optional topics
- Subroutines.
- Implementation of relative and indexed files: B-trees.
- Introduction to Data Base Management Systems (a lead-in to the
next course).
Lecture Schedule (tentative)
Notes
- This should be considered a document in development. While we
will try as much as possible to stick to the posted exam dates,
the schedule of lectures and homework may change as the term
progresses. Updates, and detailed weekly plans, will be posted on
the web.
- Please note that reading assignments for an individual lecture
should be completed before the lecture. Readings may include
handouts to be provided, and may also include readings in books on
reserve.
- The final exam for this class is scheduled for 8:00 AM Monday,
Dec. 15.
Weekly Schedules
Note:
Please note that, except for scheduled University events and exam
dates, the schedule of topics, readings, and assignments is
tentative. It may be necessary to change an exam date: if that
happens, I will give you at least a week's notice and make alternate
arrangements for students unable to take the exam on the rescheduled
date. Please inform me of any conflict between the dates entered here
and those in the catalog and course schedule. In the event of any
conflicts, the catalog and course schedule have the final say.
- Week 1: Tuesday, Sept. 2
- Administrivia and a first look at a COBOL program
- Reading: Chapters 1 - 2
- Exercise \# 1 (SAMPLE.COB)
- First day of class Tuesday, Sept. 2
- Week 2: Monday, Sept. 8
- Basic data structures, moves, and arithmetic
- Reading: Chapter 3, with a little taken out of chapter 6
- Week 3: Monday, Sept. 15
- Control structures
- Reading: Chapters 4 - 5
- Exercise \#2 (REPORT01.COB)
- The first hour exam will be next week.
- Last day to drop without record Monday, Sept. 15
- Week 4: Monday, Sept. 22
- Edit moves
- Reports and the report writer
- Reading: Chapters 6 - 7
- Exercise \# 3 (REPORT02.COB)
- The first hour exam is scheduled for Friday, Sept. 26.
- Week 5: Monday, Sept. 29
- Report writing and the COBOL report writer
- Exercise \#4 (Report Writer)
- Last day to drop with an automatic 'W' Monday, Sept. 29
- Week 6: Monday, Oct. 6
- Reading: Chapters 8 - 10
- File organization and access: an introduction
- Data validation and basic software engineering issues.
- Introduction to sequential files: control breaks and the
report writer.
- Exercises \#5, 6: Two exercises in level break processing,
including (exercise 7) the use of the report writer for level
break processing. After this point the COBOL report writer can
be used for the report portion of programming exercises.
- Week 7: Monday, Oct. 13
- Reading: Chapters 11 - 12
- Arrays (tables) in COBOL
- The COBOL Search verbs
- Interactive programming using menus (handout)
- Exercise \#7 (Data validation with table look-up - A first
part of a major multi-step exercise which will include a
significant writing component).
- Exam #2 will be next week
- Mid-term Friday, Oct. 17 (Not an exam date for us)
- Week 8: Monday, Oct. 20
- Fall Break day Monday, Oct. 21
- Exam #2 is scheduled for Friday, Oct. 24
- Interactive programming using menus
- File organizations and access methods
- More on sequential files
- Reading: Chapter 13
- Week 9: Monday, Oct. 27
- The COBOL SORT and MERGE verbs
- Variable length records
- Merging
- The multi-step exercise continues (another part is added)
- Week 10: Monday, Nov. 3
- Additional reading: "One More Time - How to Update a Master
File" by Barry Dwyer (CACM Volume 24 Number 1, January 1981,
pp. 3 - 8).
- Multistep processes: control scripts
- Software Engineering Basics
- Introduction to data flow diagrams
- Master file update
- Multi-step exercise concludes
- Week 11: Monday, Nov. 10
- More on data flow diagrams
- The balanced line algorithm for sequential master file
updates
- Week 12: Monday, Nov. 17
- Reading: Chapter 14
- Indexed files
- A final piece of programming is added to the final exercise
set.
- The third hour exam will be next Monday
- Week 13: Monday, Nov. 24
- \bf Exam \#3 is scheduled for Monday, Nov. 24
- Continued discussion on indexed files
- \bf Thanksgiving Vacation (Thursday and Friday)
- Week 14: Monday, Dec. 1
- Reading: Handouts
- Entity-relationship diagrams
- Indexed file design from E-R diagrams
- The relational algebra
- Week 15: Monday, Dec. 8
- Last day of classes Wednesday, Dec. 10
- Tuesday will be the last day of class for us
- Relative files: Hashing and linked structures.
- Wrap-up and review
- Reading: Handouts
- Final Exam The final exam for this class is scheduled
for 8:00 AM Monday, Dec. 15