Calumet College of St. Joseph

 

SYLLABUS FOR COBOL PROGRAMMING I

 

 

Term: Spring, 2001-2002  (012)  January 7 – April 20, 2002

Course Number:  CIS 320 – Directed Study

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 – 10:00p

 

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

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: Interaction, Projects, Collaborative Learning

 

Assessment:

Exams (Midterm, Final)                                                              60 % of grade

Quizzes                                                                                     20 % of grade

Programming assignments                                                      20 % of grade

 

Quizzes                                                            20%            120 points

Programming Assignments                    20%            100 points

Exam #1                                                           10%             50 points

Exam #2                                                           10%             50 points

Final Exam                                                       40%            200 points

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

Total                           100%            520 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:

Meetings will be arranged with the instructor on an as-needed basis to review homework, answer any questions, and take quizzes and exams.  Exam weeks are scheduled in the meeting dates.

 

Course Outline:

Class               Topic-Assignment

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

               Read pages 1 – 31

               Written Assignment #1

               Programming Assignment #1

               Quiz #1

#2                 Chapter 2: Identification & Environment Divisions

               Read pages 35 – 54

               Written Assignment #2

               Quiz #2

#3                 Chapter 3: Data Division

               Read pages 58 – 95

               Written Assignment #3

               Quiz #3

#4                 Chapter 4: Coding Complete COBOL Programs: Procedure Division

               Read pages 100 - 123

Written Assignment #4

Programming Assignment #2

Quiz #4

#5                 Chapter 5: Designing & Debugging Batch & Interactive COBOL Programs

               Read pages 132 – 182

               Written Assignment #5

               Quiz #5

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

               Read pages 188 – 244

               Written Assignment #6

               Quiz #6

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

               Read pages 250 – 286

               Written Assignment #7

Programming Assignment #3

Quiz #7

#8                 Chapter 8: Decision Making Using IF & EVALUATE Statements

               Read pages 291 – 326

               Written Assignment #8

               Programming Assignment #4

               Quiz #8

#9                 Chapter 9: Iteration: Beyond The Basic PERFORM

               Read pages 335 - 364

Written Assignment #9

Quiz #9

#10                Chapter 10: Control Break Processing

Read pages 374 – 416

Written Assignment #10

Programming Assignment #5

Quiz #10

#11                Chapter 11: Data Validation

               Read pages 422 – 450

Written Assignment #11

Quiz #11

#12                Chapter 12: Array Processing & Table Handling

               Read pages 456 – 505

               Written Assignment #12

Programming Assignment #6

Quiz #12

 

Class Participation:  Meetings are set up so that the student may discuss any problems with the reading, written, or programming assignments.

 

Quizzes:

A quiz will be given for each chapter.  Each quiz consists of five multiple-choice questions and each question is worth two points.  Quizzes total 120 points, each quiz is worth ten points and there are twelve quizzes.  Only 100 points from quizzes are necessary for an “A”, so two quizzes may be skipped or taken for extra credit. 

 

Written Assignments:

Written assignments will be assigned for each chapter. Written assignments should be completed to help review the chapter and prepare for the quizzes and exams. 

Class               Written Assignment

#1                    Page 31: True-False Questions, 1 –7

                        Page 32: General Questions, 1 – 7

#2                    Page 54: True-False Questions, 1 –12

                        Page 55: General Questions, 1 – 10

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

                        Page 95: General Questions, 1 – 9

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

                        Page 123: General Questions, 1 – 6

#5                    Page 182: Fill in the Blanks, 1 –13

                        Page 183: General Questions, 1 – 2

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

                        Page 245: General Questions, 1 – 25

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

                        Page 286: General Questions, 1 – 10, 14 - 20

#8                    Page 326: True-False Questions, 1 –10

                        Page 327: General Questions, 1 – 14, 17 - 20

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

                        Page 364: General Questions, 1 – 7

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

                        Page 416: General Questions, 1 – 4

#11                   Page 450: True-False Questions, 1 –10

                        Page 450: General Questions, 1 – 5

#12                   Page 529: True-False Questions, 1 – 5

                        Page 529: General Questions, 1 – 3

 

Programming Assignments:

Programming assignments are composed of three parts to be submitted on paper:

1)      Programming source code

2)      Report (unless the program interactive with screen display)

3)      Flowchart or pseudocode used to design the logic for the program

If the program is interactive, it must also be run online to display input & output.  Programming assignments have the following point values:

#1            05 points

#2            15 points

#3            20 points

#4            20 points

#5            20 points

#6            20 points

 

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

·         You do not need to turn in a flowchart or pseudocode with this assignment

 

#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

·         In addition to handing in the source code and flowchart or pseudocode for this program, demonstrate the program on-line

 

#5            Calumet Video wants to open a second outlet.  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 ten videos that they would like to rent or buy.  Write an interactive program using PERFORM…VARYING logic to accept 10 videos 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 videos on the screen, one per line, using PERFORM…VARYING logic

·         Display three blank lines

·         Display on the screen the video stored in location #9

·         In addition to handing in the source code and flowchart or pseudocode for this program, demonstrate the program on-line

 

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.

 

Statement of Plagiarism:

If an instructor or other Calumet College of St. Joseph personnel find that a student has plagiarized or been involved in another form of academic dishonesty, the instructor or other personnel may elect to bring the matter up for judicial review. The maximum penalty for any form of academic dishonesty is dismissal from the College. The procedures for judicial review are listed under the section of CCSJ handbook that addresses student grievances.

 

Citation Guidelines:

Calumet College of St. Joseph adheres to citation guidelines as prescribed by the particular discipline (i.e., MLA, APA, Chicago Manual of Style or Turabian.).  All of these guidelines are available in the Calumet College of St. Joseph library or bookstore.