Hero roadmap: the whole course on one page

Contents
All 50 lessons
Check yourself: install
Check yourself: first steps
Check yourself: data
Check yourself: procedures and IO
Check yourself: objects and tooling
Check yourself: enterprise world
Check yourself: finish
Where to go next

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

Related articles
COBOL
COBOL course: zero to hero in 50 lessons
What is COBOL and where it runs
Install COBOL and check the version
cobc: the COBOL compiler
Your first COBOL program
The four divisions
Variables and PICTURE clauses
Numbers: USAGE, COMP and COMP-3
Alphanumeric fields (strings)
Constants: level 78 and VALUE
Conditions and relation tests
IF, ELSE and EVALUATE
PERFORM loops
Tables: OCCURS arrays
INDEXED BY and OCCURS DEPENDING ON
Paragraphs and sections
STRING and UNSTRING
Files: SELECT and FD
Sequential files: READ and WRITE
Error handling: USE and DECLARATIVES
Copybooks and COPY
OO COBOL: classes and objects
Inheritance in OO COBOL
Intrinsic functions
COBOL idioms and clean code
Build tools: make and cobc flags
Testing COBOL programs
Debugging: cobcdebug and -g
Encodings: EBCDIC, ASCII and UTF-8
Date and time
JSON and XML
Calling C functions
Subprograms: CALL and USING
SQL with EXEC SQL
DISPLAY and formatting
ACCEPT and the SCREEN section
The Report Writer
Sorting with the SORT verb
Command-line arguments
Environment and RETURN-CODE
Logging to files
CSV parsing
CICS overview
Batch processing and JCL
File status and transactions
Db2 in practice
Capstone: CLI calculator
Capstone: fixed-width file processor
Performance: tuning COBOL
Modern COBOL tour (2014+)
Hero roadmap: the whole course on one page
Install COBOL on Windows 11
Install COBOL on Ubuntu
Install COBOL on Rocky Linux
Install COBOL on macOS
Install COBOL on FreeBSD
COBOL in Docker
COBOL on mainframes

Search this site

Channel @aofeed Chat @aofeedchat

Contacts and cooperation:
I recommend our hosting beget.com
Write to info@aredel.com if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: