SYLLABUS FOR COBOL PROGRAMMING I

Term: Fall, 2003  (031) September 2 – December 12, 2003

Course Number:  CIS 320

Instructor:  Br. Jim Ballmann C.PP.S.

Office:  Room #410

Office Phone:  219-473-4365

E-mail:  jballmann@ccsj.edu

 

Office Hours:            Monday – Friday  8:00 a.m – 4:00 p.m.

 

Instructor Background:

1969            Professed as a Brother for the Missionaries of the Precious Blood

1972     BA in Philosophy, St. Joseph’s College

1988     BS in Computer Information Systems, Calumet College of St. Joseph

1994     MS in Education, Purdue University Calumet

 

Course Time: Thursday  7:00 p.m. - 10:00 p.m.

Class lecture is scheduled from 7:00 to 9:00 and class lab from 9:00 to 10:00.  The class lecture may extend beyond 9:00, until the topic for the class is covered.  The class lab is time for the student to work on programming assignments. The instructor will be available in the lab during the class lab.  Since the COBOL editor/compiler was purchased with the textbook, the student may elect to work on programming assignments on his/her personal computer.

 

Course Description: 

This course provides the student with an in-depth study of computer theory and structured programming with respect to business applications.  It will cover COBOL language syntax, data and file structures, report generation, control break logic, table processing, and sequential file creation and updating.

 

Prerequisites: 

CIS 125, 255

Laboratory Fee:  See current fee schedule.

 

Learning Outcomes/Competencies:

Students in this course will:       

·         Edit, compile, & run COBOL programs using Micro Focus Net Express

·         Convert flowchart & pseudocode into COBOL syntax

·         Design reports using a form

·         Code input data files & output report files in the DATA DIVISION

·         Design & code COBOL programs using a structured, top-down modular approach

·         Process an input data file & produce an output report

·         Code a program to produce a report using control break logic

·         Set up & access a single-level table

 

Textbooks:

Structured COBOL Programming, Stern, Stern, & Ley (10th Edition)

The following are bundled with the textbook:

Micro Focus Net Express 3.0 Compiler & Manual

Getting Started With Micro Focus Net Express 3.0 University Edition

 

 

Learning Strategies: Class interaction, Projects, Collaborative Learning, Lecturing

 

Assessment:

Exams (Midterm, Final)                                                              70 % of grade

Programming assignments                                                      30 % of grade

 

Programming Assignments                    30%            150 points

Exam #1                                                           10%             50 points

Exam #2                                                           10%             50 points

Final Exam                                                       50%            250 points

---------------------------------------------------------------------------

Total                           100%            500 points

 

Grading Scale:

A           =      96 - 100%     480 - 500 points

A-          =      92 - 95%       460 - 479 points

B+         =      89 - 91%       445 - 459 points

B           =      86 - 88%       430 - 444 points

B-          =      83 - 85%       415 - 429 points

C+         =      80 - 82%       400 - 414 points

C           =      77 - 79%       385 - 399 points

C-          =      74 - 76%       370 - 384 points

D+         =      71 - 73%       355 - 369 points

D           =      68 - 70%       340 - 354 points

D-          =      65 - 67%       325 - 339 points

F            =      00 - 64%       000 - 324 points

 

Class Policy on Attendance:

Attendance is part of the class. Missing several classes will make it difficult for the student to comprehend the material and complete the necessary assignments and exams.

 

Class Policy on Electronic Devices: (Cell phones, Beepers, Pagers)

Please turn off electronic devices during class.  If you receive an emergency call, leave the classroom to answer the call.

 

Course Outline:

Class Date            Topic-Assignment

#1  Sept 4      Chapter 1: Introduction to Structured Program Design in COBOL

                     Chapter 2: Identification & Environment Divisions

               Read pages 2 – 36

               Read pages 40 - 58

#2  Sept 11      Chapter 3: Data Division

               Written Assignment #1 due

Read pages 62 - 98

#3  Sept 18      Chapter 4: Coding Complete COBOL Programs: Procedure Division

                     Chapter 5: Designing & Debugging Batch & Interactive COBOL Programs

               Written Assignment #2 due

               Read pages 103 – 128

               Read pages 138 - 178

#4  Sept 25       EXAM #1

               Written Assignment #3 due

Programming Assignment #1 due

#5  Oct 2       Chapter 6: Moving Data, Printing Information, & Displaying Output Interactively

               Read pages 183 - 220                    

#6  Oct 9       Chapter 7: Computing in COBOL: Arithmetic Verbs & Intrinsic Functions

               Written Assignment #4 due      

               Read pages 258 - 294

#7  Oct 16      Chapter 8: Decision Making Using IF & EVALUATE Statements

               Written Assignment #5 due      

                     Read pages 300 – 333

               Programming Assignment #2 due

#8  Oct 23      Chapter 9: Iteration: Beyond The Basic PERFORM

               Written Assignment #6 due      

               Read pages 341 - 372

#9  Oct 30      EXAM #2

               Written Assignment #7 due

                     Programming Assignment #3 due

#10 Nov 6      Chapter 10: Control Break Processing

Read pages 382 – 425

#11 Nov 13      Chapter 11: Data Validation

               Written Assignment #8 due      

               Read pages 431 – 462

Programming Assignment #4 due

#12 Nov 20      Chapter 12: Array Processing & Table Handling

               Written Assignment #9 due      

               Read pages 467 - 511     

#13 Dec 4               Review

               Written Assignment #10 due                       

Programming Assignment #5 due

#14 Dec 11      FINAL EXAM

Programming Assignment #6 due

 

Class Participation:  The class is primarily lecture with some discussion.  Read the material to be covered during the class so that you will be able to participate in the class.

 

Written Assignments:

Written assignments will be assigned for each class. Written assignments should be completed to help review the material and prepare for programs and exams.  They will not be collected.

Class Date            Written Assignment

#1                    Page 36: True-False Questions, 1 – 10

                        Page 36: General Questions, 1 – 10

Page 58: True-False Questions, 1 – 12

Page 58: General Questions, 1 – 10

#2                    Page 99: True-False Questions, 1 – 10

                        Page 99: General Questions, 1 – 9

                        Page 100: Debugging Exercises, 1 – 2

#3                    Page 128: True-False Questions, 1 – 10

                        Page 128: General Questions, 1 – 10

                        Page 129: Interpreting Instruction Formats, 1 – 10

                        Page 178: Fill in the Blanks, 1 – 10

                        Page 179: General Questions, 1 – 3

#4                    Page 252: True-False Questions, 1 – 10

                        Page 252: General Questions, 1 – 25

                        Page 253: Interpreting Instruction Formats, 1 – 3

                        Page 254: Debugging Exercises, 1 – 4

#5                    Page 295: True-False Questions, 1 – 10

                        Page 295: General Questions, 1 – 25

                        Page 296: Debugging Exercises, 1- 4

#6                    Page 333: True-False Questions, 1 – 10

                        Page 333: General Questions, 1 – 20

                        Page 335: Debugging Exercises, 1 – 3

#7                    Page 373: True-False Questions, 1 – 10

                        Page 373: General Questions, 1 – 7

                        Page 373: Debugging Exercises, 1 – 2

#8                    Page 425: True-False Questions, 1 – 15

                        Page 426: General Questions, 1 – 5

                        Page 426: Debugging Exercises, 1 – 5

#9                    Page 462: True-False Questions, 1 – 10

                        Page 463: General Questions, 1 – 5

                        Page 463: Debugging Exercises, 1 – 4

#10                   Page 544: True-False Questions, 1 – 7, 10, 12

                        Page 545: General Questions, 1 – 3, 8 – 12

                        Page 546: Debugging Exercises, 1 – 2 

 

Programming Assignments:

Programming assignments are composed of several parts that are listed below. All parts are to be submitted on paper. Programming assignments are worth 25 points each.  If a programming assignment is submitted late, 5 points will be deducted.  Full points will be given if all parts of the assignment are included, the program is well designed, and runs properly.

 

Assignment #1

Programming source code

Report

            Assignment #2

Pseudocode used to design the logic for the program

Printer spacing chart for report

Programming source code

Report 

            Assignment #3

Pseudocode used to design the logic for the program

Printer spacing chart for report

Programming source code

Report 

            Assignment #4

Pseudocode used to design the logic for the program

Programming source code

Run this program interactively to demonstrate input & output to instructor

            Assignment #5

Pseudocode used to design the logic for the program

Printer spacing chart for report

Programming source code

Report 

            Assignment #6

Pseudocode used to design the logic for the program

Programming source code

Run this program interactively to demonstrate input & output to instructor

 

Calumet Video sells and rents videos.  When they make a transaction, Calumet Video collects the information listed in the following table.  It is stored in an ASCII data file, customer.dat.  To run the business they need several reports and other information, some from the data file and some entered from the keyboard.  In this class you will write programs to process the information that they need to run the company.

    

Field

Size

Type of Data

Location in Record

Id

3

Alphanumeric

01 - 03

Name

15

Alphanumeric

04 - 18

Address

15

Alphanumeric

19 - 33

City

10

Alphanumeric

34 - 43

State

2

Alphanumeric

44 - 45

Zip

5

Numeric

46 - 50

Type

2

Alphanumeric

51 - 52

 

 

  CO = Comedy

 

 

 

  MY = Mystery

 

 

 

  RO = Romance

 

 

 

  SF = Science Fiction

 

 

 

  WE = Western

 

Video

15

Alphanumeric

53 - 67

Transaction

1

Numeric

68 - 68

 

 

  0 = Rent

 

 

 

  1 = Buy

 

Date

8

Numeric

69 - 76

Amount

4

Numeric, 2 decimal places

77 - 80

 

#1            Calumet Video wants to know what videos and how many were rented or sold in the year 2000.  I have written a program to produce the report that the company needs.  The report is written for 80-column paper.  This program is called asgn01.cbl.

·         Key in program

·         Asterisks (*) begin in column #7

·         Compile and run the program

·         Report is asgn01.rpt

 

#2            Calumet Video wants to send two mailings to customers who purchased or rented videos this past year.  Write a program to print two labels for each customer.  Calumet Video uses one-up labels, so the two labels for each customer will be one after the other.  Labels are 40-columns wide.

·         Four lines per label with id on line #1, name on line #2, address on line #3, and city, state, and zip on line #4

·         Put a blank line between labels

·         Set up four records in the file section under the FD for report lines

·         There is one record for each of the four label lines listed above

 

#3            Calumet Video plans to increase the price of videos by a percentage this next year.  They want to compare old prices with new prices.  Write a program to produce a report to list one line for each record read (which contains an amount).  The report should be written for 80-column paper.

·         Design the report

·         Decide on the percentage increase and include it in the header line(s)

·         Header line(s) must contain the report name, report date, page number, percentage increase, and column headings

·         Detail line for each record read must contain movie, transaction, date, old amount, and new amount

·         Print header line(s) on the top of each page

·         Use the following logic for the transaction field:

IF cust-transaction = 0

MOVE “Rent” TO rpt-transaction

ELSE

      MOVE “Buy” TO rpt-transaction

END-IF

 

#4            Calumet Video wants to stock the types of video that customers are interested in.  Write an interactive program to develop a survey to accept the following data items from the keyboard: id, sex of respondent, and type of video (valid types are one of the five that are listed in TYPE in the customer data file).

·         There is no input file

·         Use only one file

·         Open the file output

·         The output record contains the three fields that are accepted from the keyboard

·         There is no report

·         Set up six counters in WORKING-STORAGE with a PIC 999 clause

·         One counter is for total records entered and five counters for each of the TYPE’s (CO, MY, RO, SF, WE)

·         Use three sets of DISPLAY & ACCEPT statements to prompt for the fields of data and accept them from the keyboard, then write them to the record

·         After writing the record, add 1 to the total count, and if conditions are met, add 1 to the appropriate type counter

·         Then use DISPLAY & ACCEPT to see if another record is to be added

·         After all the records have been entered, display on the screen the percentage of responses for each of the five types

·         Use the following formula for computing percentages:

COMPUTE identifier = counter / total-record-counter * 100

·         Use an identifier in WORKING-STORAGE with a PIC ZZ9.99 clause to display the percentages

 

#5            Calumet Video needs a report to list rentals and sales by city.  Write a program to produce a report to list total sales and total rentals by city.  The report should be written for 80-column paper.

·         Customer file is in order by city

·         Use control-break processing

·         Include a header with date, report name, and page number

·         On the summary line list the city and the number of videos rented and sold

 

#6            Calumet Video wants to survey customers to list five cities for potential expansion.  Write an interactive program using PERFORM…VARYING logic to accept five cities and store them in an array.

·         Clear the screen

Add to DATA DIVISION:

SCREEN SECTION.

01 SCREEN-1.

05 BLANK SCREEN.

Add to PROCEDURE DIVISION:

DISPLAY SCREEN-1.

·         Display the cities on the screen, one per line, using PERFORM…VARYING logic

·         Display three blank lines

·         Display on the screen the city stored in location #3

 

Center for Academic Excellence:

Tutoring assistance is free to all students of Calumet College of St. Joseph. Call the Center for Academic Excellence (CAE), to make an appointment at 473-4287. The Center has experienced and well-trained tutors in most subject areas to help students who are struggling in a course or who are doing well and would like to do better. Regular weekly tutoring sessions are likely to improve your grade