ORIS 3l6 was designed as a core course to teach COBOL programming language and Business Information Systems to students majoring in Business Computer Information Systems. Students from other areas such as Mathematics, Computer Science, Sociology, Economics, Political Science, Marketing, Accounting, Management, etc., take this course to enhance their employment opportunities. Most of the students who take this course have some knowledge of some computer programming language, especially in FORTRAN. In the last four years, I have taught this course eight times. In the beginning, perhaps like many other instructors have done, I took the normal path to teach this course. This path was more or less influenced or determined by some textbooks or manual references. These text and manual references have different approaches; however, to teach the COBOL language, all of them agree on one point, namely, to present the PERFORM statement, the tool of structured programming in COBOL, in the late sections of their texts. And of those sources which I'm familiar with, none had the structured programming approach. This path led to offer the PERFORM statement somewhat late in the semester. This had several drawbacks; among them were: 1. Students were not able to write acceptable topdown programs and were deeply influenced by the spaghetti-type programming style. 2. Students did not have enough time to comprehend the modular programming concept. 3. Their program documentation and style were affected because their programs were not modularized and compact. 4. Their approach to system design was also affected because once the PERFORM statement was introduced, they had to think in a way different from what they had been used to. Because of the popularity of structured programming.especially in the business data processing environment, and since many of our students start their professional work as a programmer or as a systems analyst, it was determined that the structured programming technique and modular programming concept should be introduced as early as possible in the semester. This has been done in the last three offerings of the course and the results have been impressive. Students' evaluations of the same instructor and the same course were considerably higher than before and their response to the new approach has been encouraging. Below are a few samples of their comments for the course evaluations; 1. Structured programming is fun. 2. Programming in the structured programming style is easier than the ordinary type of programming. 3. Sometimes the EXIT statement in the PERFORM statement is confusing; otherwise everything is fine. 4. Modular programming helped me design a "better system with less effort and in an easier manner. 5. Making changes in the program is much easier with modular programming. 6. The cross-reference directory in the REMARKS section is very helpful with modular programming. 7. Now I see the advantages of documentation. 8. Now I see in the business environment why structured programming is preferred. 9. I still think structured programming is harder than ordinary programming. And there were many other responses. However, it is worthwhile to mention that over 90% of the students preferred the new approach. THE APPROACH: The goal of introducing the concepts of structured programming and modularized programming early in the semester was achieved "by teaching the following five items in their respective order during the first twelve contact hours. The distribution time for each subject is shown with each topic. 1. Introduction. 2 hours. A. The needs and goals of Information Systems. B. Tools and methods for designing Information Systems. C. Why the COBOL language? D. COBOL character set, Reserved Words and programmer-supplied words. E. Organization of COBOL programs and usage of the four divisions of COBOL programs. F. Review of program and system flowcharting. 2. First COBOL program (see the sample). 3 hours. A. All paragraphs of the IDENTIFICATION DIVISION. B. ENVIRONMENT DIVISION. 1) CONFIGURATION SECTION. SOURCE-COMPUTER and OBJECT-COMPUTER paragraphs only. 2) INPUT-OUTPUT SECTION. FILE-CONTROL, SELECT and ASSIGN clause, definition of the files and records, device names for the card reader and line printer. C. DATA DIVISION. FILE SECTION, FD entry: the clauses LABEL RECORDS ARE OMITTED and DATA RECORD IS; definition of fields; what is a data name; the relation between the field (item), record and file; level number 01-49. D. PROCEDURE DIVISION. Paragraph and section names in this division. Simple format of the OPEN, READ, CLOSE, STOP RUN, MOVE, WRITE and GO TO statements. 3. Structured Programming. 2 hours. A. Why structured programming? B. Modular programming. C. Simple format of the PERFORM statement with UNTIL option. D. Second program: Redo the first program using the structured programming technique (see the sample). 4. WORKING-STORAGE SECTION. 1 hour. A. Level number 77 and elementary and group items in general. B. Update the second program to write headings. 5. Sequential and Direct (Random) Files. 3 hours. A. Mass storage devices. B. Organization and access of sequential files on mass storage devices. C. Organization and access of random files. D. Program number four: create a sequential and random file. E. Program number five: update the sequential and random files. It should be emphasized that the approach is problem oriented. Namely, the syntax of the language items are explained whenever the item is encountered in the sample program. Thus, after topic one, the first program is immediately introduced and while this program is discussed, the materials of topic two will be discussed as well. The order of the material in topic two is the same as the order of their appearance in the program. This technique was used to cover all five topics after which the students know enough about the COBOL language, structured programming, and modularized programming that the remainder of the COBOL language material can be covered in any order the instructor wishes. However, early presentation of the simple format of the OCCURS clause is recommended. Three general recommendations were made about the usage of the GO TO statement. 1. Try not to use the GO TO statement; however, if by not using the GO TO statement the program is unreadable or is unreasonably complicated, use the GO TO statement after observing recommendations 2 and 3. 2. Always use the GO TO statement to send control forward; never use it to send control backward. 3. Never use the GO TO statement to send control outside the paragraph which contains the GO TO statement.
CITATION STYLE
Khailany, A. (1976). An introductory COBOL course with structured programming. In Proceedings of the ACM SIGCSE-SIGCUE Technical Symposium on Computer Science and Education, SIGCSE 1976 (pp. 11–16). Association for Computing Machinery, Inc. https://doi.org/10.1145/800107.803441
Mendeley helps you to discover research relevant for your work.