CS 255B


Instructor | Texts | Objectives | Why | Class Structure | Grading | Policies | Submissions | Readings

Last updated 2/18/14


NOTE: We will be using the free Open-Cobol developed and supported by the GNU Foundation. See or click below for software installation.



Loren Rhodes
Office: C208 BAC,
Office phone and voice mail: 641-3620
Home phone: 643-6002

Office Hours

are kept current on my home page. See the home page or my office door for recent changes; others office hours may be arranged by appointment.

Required texts

Open Cobol Installation

COBOL is not as common language as in earlier times and finding a student/learning version is very limited. Fortunately GNU foundation has and open source version that should suffice for this course.

You will need to install a Unix subsystem called Cygwin on your windows machine, unless you are already running Linux or Mac. These instructions are for the Windows-Cygwin system.

The most complete instructions to install all the components are at this site by Bill Klein:

Essentially you need to install a cygwin system which is very large in its entirety. So you must choose only what you need. The site will guide you in what to download. If you miss something you can go back and get only the missing pieces.

After you load cygwin, you can download open-cobol-1.1 as directed and install.

These instruction also explain how to compile and execute a cobol program, but the instructor will help with that as well.

Note that while you can use Notepad or some editor for source development, you may have to convert the Windows DOS format to Unix. If so, use the unix dos2unix command on the files to be converted.


The objectives of this course include the following:

The student should develop or enhance skills in the following areas:

Why study COBOL???

"From the Dustbin, Cobol Rises"
eWeek (05/28/01) Vol. 18, No. 21, P. 58; Wilkinson, Stephanie

The IT industry is suffering an acute lack of programmers who know Cobol, the 40-year-old language in which much of the world's business data is written. Gartner Group reports that 200 billion lines of Cobol code existed as of last year, with an expected growth of 5 billion lines of code per year for the next four years. At the same time, Gartner reports, as of last year there were only 90,000 Cobol programmers in North America, and that number will fall as those programmers retire or pass away. As Gartner reports that Cobol houses 60% of the global code base and 85% of global business data, the decline in programmers could soon present a severe problem to firms in nearly every sector. Complicating matters further, few universities still teach Cobol as part of their computer-science curriculum, and few students seem interested in learning the language. "You can't get the new kids--the dot-commers--to take a second look at Cobol," says Bill Payson, the president of the Senior Staff Job Information Search. "It's far easier to teach a Coboler the dot-com stuff than vice versa." However, Payson says his company's database has some 2,500 Cobol programmers, and he believes that as many as 10,000 retired but still employable Cobol programmers currently live in the United States. Paul Halpern, director of traditional solutions marketing at Cobol firm Merant, says businesses in need of Cobol programmers might want to look at community colleges, where computer-science departments are more likely to teach students tools that are in demand by local businesses.,11011,2764006,00.html

Class structure

PLEASE NOTE: This is a self paced course with no formally scheduled class meetings. There may be an occasional meeting to discuss issues and approaches to some of the projects. Success in this course depends highly on your self discipline.  Office hours are to be used to ask questions and clarifications. Individual  meetings with the instructor may be required to go over work in progress.

The student is expected to do the reading as specified below prior to developing the associated program--the decidedly best use of your time.  There is often a choice of program for each week's assignment. The student must submit the assignment by Friday noon of the week via e-mail. The "how to submit" is described below.  The instructor will review the program by compiling and running the program with his own data set and reply with suggestions for improvements.  A grade will not be given on a per assignment basis.   If warranted, the assignment may be revised and resubmitted.

Comments and directives regarding each assignment will be posted on a personalized web page to which you will have a URL.  I will send by email the URL for your access.  It will be your responsibility to review the comments and make the corrections suggested.

At the end of the course, submit a 2-3 page reflection paper electronically.  See below.


The reading will comprise of roughly 50 pages per week from Stern & Stern. Since you should have had programming experiences prior to this course and that this COBOL text assumes no such background, the reading should be relatively easy. Programming is highly encouraged to be done on the Sun workstations. Using the Unix development environment is your main task for the for first assignment.


Being a self-paced course, some information may not be understood from the readings. The instructor is available during office hours for individual help on these matters. Be sure that you have identified at least one office hour per week that you can regularly come for questions and have programs reviewed. We may be able to do some of the discussion and program review by email. Let me know of the hour you are available as soon as possible.

E-mail is an ideal and preferred communication medium for short questions or clarifications. A question asked by e-mail can easily be posted to this Frequently (Fearfully?) Asked Questions web page, for all in the course to see the questions and answers. The posers of questions will remain anonymous in the FAQ page.

Please send any questions with the subject line COBOL QUESTION so that I may more easily respond and organize the emails and FAQ's.


The "portfolio method", analogous to the writing portfolios used in College Writing Seminar, will be used in this course. Students are required to submit programs to the instructor on a regular basis for review and critique according to the syllabus. The instructor will review your programs electronically with written critiques through a web page. Each critique will be linked directly off of your personal portfolio page.

The first submission of each completed and documented program must be received by the instructor by no later than noon of the weekday designated below in the reading and assignment table. They must compile cleanly and be a viable solution to the problem. Programs may then be revised to include the suggestions given from the review and resubmitted.

There is a 1 percentage point deduction from the final grade for each day late per program. If the program does not compile, nor is appropriately documented, nor is a reasonable solution to the problem, the program will be rejected as a submission, and could be considered late.

When subsequent revisions are requested, they are due in one week from the time of the review. Be sure you check your comment page regularly.

Course policies

These standard course policies are described on this web page. Please read them carefully, especially on academic integrity. Exceptions to my standard policies are given below.


Does not apply, but you must submit the COBOL programs on a regular basis.

Late program policy

Late first submissions will have a negative effect on your final grade. A penalty of 1% per school day late is deducted from your final grade. So a single program 10 school days (2 weeks) late will reduce the final grade by a whole letter grade. However, extensions may be given in warranted situations that are agreed upon at least one day prior to the due date by instructor and student.

Please note that a program submitted which

will be rejected as a submission and therefore considered late. 

Program submission details

Tentative reading and assignment schedule

Please note the projects are the same across the editions, please be sure you are doing the assignment according to your edition. The data files should be already available but are also found on the CD or floppy you have with the book.

Due Date


Project Options


week 1

11th/10th: 1-33

9th: 1-30

11th and 10th: p38  #5 or p39 #6

9th: p33 #2 or #3

Submit, with your running program, written descriptions of the input, output and the processing as mentioned in parts (a)-(c) of the assignment.

week 2

11th/10th: 40-93

9th: 35-97

11th and 10th: p101-102 #7

9th: p98 #7

Enter and debug your program, create a short sample data set of your own, and run this program.

week 3

11th/10th: 104-123

9th: 100-119

11th: p134 #7 or p135 #8

10th: p133  #7 or p134 #8

9th: p128 #7 or p129 #8

Sample data are available at these links:
data/ch0408.dat, respectively.

weeks 4- 5

10th/11th: 138-178 and 183-252

9th: 132-184 and 188-245

(SCREEN facilities do not apply to the Suns)

11th: p257 #2 or #4

10th: p 255-256  #2  or 256  #4

9th: p248 #2 or p 249 #5

Please note that microFocus DOES NOT SUPPORT INTERACTIVE SCREENS with cursor control!!

Submit a hierarchy chart with your program. Sample data are available at these links:
data/ch0402.dat or data/ch0604.dat, respectively. For problem #4, assume 6 lines of printable space per label

week 6

11th: 260-288 and 302-329

10th: 258-287 and 300-326

9th: 250-286 and 292-330

11th: p339 #4 or p340-341 #6

10th: p 336-337  #4  or p 337  #6

9th: p331 #4 or p334 #10

Sample input data can be found at
for #4 (You might not be able to use the SCREEN section on the Suns)

week 7

11th: 344-375

10th: 341-372

9th: 335-366

11th: p378-379 #3 or p379-380 #6

10th: p375-376 #3 or p367-377  #6

9th: p 367 #3 or p368 #5

Input data can be found in files ch0903.dat and ch0906.dat.

week 8

11th: 386-429

10th: 382-425

9th: 374-417

11th: p431 #2 or p432-433 #3

10th: p427 #2  or p428-429  #3

9th: p418 #2 or p419 #3

Input data is found in ch0402.dat and ch1003.dat, respectively.

weeks 9- 10

11th: 435-460 and 472-537

10th: 431-455 and 467-531

9th: 422-452 and 456-531


11th: p552-553 #2

10th: p547-548  #2

9th: p532 #2

Input data is found in ch0402.dat and for the tax table.

weeks 11-12

11th: 562-601

10th: 556-595

9th: 540-584

11th: p613-614 #1 or p615-616 #2

10th: p607-608  #1 or p609 #2

9th: p 584 #1 or p585 #2

This is a very important type of file processing in COBOL and weighs heavily in your grade. Input files are ch1301.mst and ch1301.trn for #1 and ch1302.mst and ch1302.trn for #2.

weeks 13-14

11th: 617-636 and 645-682

10th: 611-635 and 639-690

9th: 588-622 and 625-688

Create an indexed file of your own choosing to track a very small database of 4-5 fields, indexed on two fields. Clear your design with the instructor. Write the program to interactively manipulate (update and retrieve) data in the file. Be sure to apply data validation techniques covered in chapter 11. This program is also significant in your final grade.
Friday of Finals
  Reflection paper