Hero roadmap: the whole course on one page
All 50 lessons
All 50 lessons live on the course index as a chapter tree. Each chapter below starts at its first lesson - open it and follow the chain to the end of the chapter:
Check yourself: install
Which command compiles a free-format program to an executable? (lesson 3, flags)
What does the -x flag do, and when would you use -c instead? (lesson 3, compile modes)
Check yourself: first steps
Which division is required in every COBOL program? (lesson 5, ident)
Where do file descriptions live, and where does the file get wired to its name? (lesson 17, layout)
Check yourself: data
What does PIC 9(7)V99 describe, and where is the decimal point stored? (lesson 6, picture)
Which USAGE keeps exact decimal values for money, and which is fastest for counters? (lesson 7, comp3)
How does a level 88 condition name change an IF sentence? (lesson 10, condition88)
Check yourself: procedures and IO
What is the difference between PERFORM UNTIL and PERFORM VARYING? (lesson 12, varying)
Why does a subscript start at 1 while a C array index starts at 0? (lesson 13, subscript)
Which verb appends to a log file, and why not OUTPUT? (lesson 40, open)
Check yourself: objects and tooling
How does COPY REPLACING rename a copybook prefix? (lesson 20, replacing)
What does the -g flag add, and which debugger uses it? (lesson 27, compile)
How does INTEGER-OF-DATE make date subtraction possible? (lesson 29, arithmetic)
Check yourself: enterprise world
Why does a CICS program end with EXEC CICS RETURN instead of STOP RUN? (lesson 42, difference)
What does FILE STATUS 35 mean, and where do you declare the status field? (lesson 19, status)
In an embedded SQL loop, which SQLCODE ends the FETCH loop? (lesson 45, pattern)
Check yourself: finish
Which capstone used EVALUATE, and which used a control break? (lessons 46 and 47)
Name one performance fix that touches USAGE and one that touches I/O. (lesson 48)
Where to go next
Practice: rewrite a lesson program from memory, then change one thing and predict the output before running it. The assembler course on this site teaches what the compiler does with your divisions, and the Ruby course is the fastest way to see how a dynamic language handles the same ideas.
For the job market, learn the platform around COBOL: JCL for batch scheduling, Db2 for embedded SQL, and CICS for online transactions. The language itself you already know.
Next: Install COBOL on Windows 11
Article author: Arthur Isaev