CSCI 320: Business Programming in COBOL

Spring 2010
Wednesday Night 6:00 - 8:30
Dundee Lab
/ David Tucker
(814) 732-2550

203 Doucette Hall / Office Hours
Monday - 11:00 →12:00 & 3:30 → 4:30
Tuesday - 2:00 → 3:00
Wednesday - 3:30 → 4:30
Thursday - 2:00 → 3:00
Friday - None

I. Course Description
This course introduces the student to business programming concepts using the COBOL programming language. Topics will include data validation, table handling, sorting and merging techniques, interactive input and output, sequential, indexed sequential and relative file organizations, and writing and linking subprograms. Prerequisite: CSCI230

II. Course Objectives:
Successful completion of the course will be based upon the following objectives:

  • Implement the phases of the Program Development Cycle.
  • Utilize the instruction set of the COBOL programming language to create structured programs.
  • Be able to telnet into the Edinboro Campus computer, compile and run COBOL programs.
  • Solve and code interactive programming assignments
  • Develop on your own solutions to interactive information system problems and implement your solution by creating a program in COBOL.
  • Array Processing
  • File Processing
  • Sorting
  • We'll try and cover the entire book.

Additional items to note:

  • We will be going over programming techniques using the COBOL compiler.
  • You will be expected to have access to a computer with the telnet capabilities. Doucette and Dundee labs should have this.
  • You need to know how to use e-mail, i.e. attach documents successfully, specifically the e-mail that is on the campus computer.
  • I expect you to come to every class.

III. Course Outline

The course outline is located at

IV. Required Text & Materials

Stern, Stern, & Ley; COBOL for the 21st Century 11th edition.

V. Required Materials:
In addition to the text currently being used, which should be brought to all class meetings, you will need to bring the following to each class:

  1. You'll probably want a flash drive, but most of your programs will be stored on the VAX.
  2. You'll find handy A continual supply of printing privileges on the computer science lab server.

V. Assessment and Evaluation:
Projects:There will be 5 programming assignments due throughout this session. The assignments and due dates will be posted later on the web site. There will be a 20% late penalty per day.

Assignment # / Due Date / Description
1 / 2/7 / Problem # 3 Page 133
2 / 2/21 / Number 1 page 297, plus add an option to print a report similar to the one in Figure 7.4 (next page). Your program will ask if the user wants to print a report, create a file or quit. Obviously the report won't be exactly like the one in 7.4 but do print out all the info that is in the out-salary file in a nice, neat and orderly fashion
3 / 3/21 / Number 3 page 432
4 / 4/18 / Number 5, Page 554 & 555
5 / 5/2 / Page 736 #4 - Using a CALL statement to another file, also this one is user interactive instead of accessing files.

Lab Exercises: There will be some lab assignments.These are smaller project that usually can be completed during the class period. I will drop the lowest lab grade.

Lab# / Due Date / Description
1 / 1/31 /
2 / 2/7 / Do number #7 p. 61.
3 / 2/14 /
4 / 2/21 /
5 / 2/28 /
6 / 3/14 / copy USR1:[dtucker.cobol]CHAPTER9LABFIX.cob chapter9lab.cob
Read the notes in the source code and finish the program, this is problem #10 page 382 where you ask the user for a statement and number of times and it prints it x number of times to a file. You can have it print to the screen also.
7 / 4/4 / Practice with Validation (mini lab/assignment)
Let's work on #1 page 468 with a few modifications. Make a simple program that validates user entered data according to the chart and requirements listed in a - d. Instead of an error listing let's have it immediately respond to the user that the data is invalid. So it will ask the user one question at a time and immediately tell you if it's valid. See if you can make it so if the user doesn't put in leading zeros to any of the numeric fields that it does so for you.
Copy it up to USR1:[DTUCKER.COBOL.SPRING2011.LABCH11]
8 / 4/18 / Write a program that sorts the following data
CH14Lab.txt
According to the EMPLOYEE-NO which is the 1st 5 characters of the data.
1. Have it print the unsorted list
2. Then have it print the sorted list
3. Use the built in COBOL sort feature
4. Format for the data is found on page 643 Figure 14.7

Examinations:There will be three (3) major exams. Don't miss any of the exams

  • Exam 1: 2/21
  • Exam 2: 4/18
  • Exam 3: 5/6 (Final Exam)

Derivation of Final Grades:

Weights for Determining the Final Grade:
5 Projects - 40% of your grade
Quizzes, Lab Exercises, and Homework 20%
Exam 1 10%
Exam 2 10%
Exam 3 20%
The final score will be converted to a letter grade using the following scale:
90 < score < 100 A
87 < score < 89 B+
80 < score < 87 B
77 < score < 80 C+
70 < score < 77 C
60 < score < 70 D
0 < score < 60 F

-Incomplete grades will be assigned only if proper documentation is presented and the student has a passing grade in the course at the time of withdrawal (very rare).

-All assessment is based on results as it is unfair for the instructor to subjectively evaluate effort for each student in the class.

-At the end of the course I usually give a curve, this will be given to students who have not missed more than one weeks worth of class, therefore in this class that means only one class!. This is very important, could be the difference between a letter grade.

Academic Integrity:
You are expected to do all of the assigned work on your own. Any student found to be cheating or plagiarizing with respect to any component of the course will be subject to immediate failure from the course. This is very important in this course because of the tendency to help/give a copy of a project to another student. This usually does more harm than good and will always reflect in your test score. If you're getting A's on your projects but failing the exams, clearly you are copying your projects, because I base the exams heavily on the understanding of the projects.

VI. American Disabilities Act Statement:
Any student who has a physical or learning disability which requires special accommodations should make an appointment to discuss this with the instructor.
VII. Some Final Comments:
It is the instructor's intention to provide an environment that is relaxed and academically stimulating. You will be encouraged to ask questions and participate in the lecture.
It is very clear that high performance in a class is linked with consistent attendance and reasonable effort. I do expect you to attend all classes and you are responsible for knowing about any announcements or assignments made during class. If missing a class is unavoidable, the student is expected to copy the lecture notes from one of her/his peers. Handouts distributed can be obtained from the instructor during office hours.
Please do not use office hour time to make-up excessive unexcused absences. This course is taught in a lecture/laboratory style. While the instructor is lecturing, it is EXPECTED that no one will be working on the computers. It's rude and disruptive to both other students and the instructor. Students are expected to use the lab time wisely while the instructor is there assist (no Facebook or Cell phones). Additionally, you should set several hours aside each week when you can come to one of the labs (or use an adequate home system) to finish the laboratory problems. You can expect that this class will take many additional hours of out of class time to complete the projects.