COBOL Education: An Interactive Hands-on Experience

Written by Ahmed Eid and Hartanto Ario Widjaya, Open Mainframe Project 2021 Summer Mentees for the COBOL Programming Course

We are spending our summer as Open Mainframe Project Mentees – working under two amazing mentors: Sudharsana Srinivasan from IBM and Michael Bauer from Broadcom. Our mentorship is with the COBOL Programming Course, and through a series of blogs, we will share more about our progress, challenges and milestones.

The need for COBOL

Most financial organizations, banks, insurance companies, retailers and governments need systems that must flawlessly handle huge volumes of transactions every day and mainframes have been quietly managing this process for decades as their reliability, availability, security, scalability, and performance cannot be matched. 

A huge part of the core systems is COBOL, which helps run some of the most mission-critical services applications at the world’s largest companies.

There are hundreds of billions of lines of COBOL in use today, and recent events have showcased a continued need for developers skilled in this language.

COBOL Education

With more than 1.9k stars on GitHub, the COBOL Programming Course is a popular initiative hosted by the Open Mainframe Project. It aims to offer free and accessible education for individuals interested in learning COBOL on z/OS architecture. To ensure that, we leverage available modern tools such as Zowe Explorer to allow course takers to access the z/OS system using Microsoft’s Visual Studio Code for free.

The course materials provide an overview of COBOL with real-life labs of Enterprise COBOL on a mainframe for course takers to work on, with the aim of educating and training the next generation of mainframers to address employer needs for mainframe application developers. 

The course itself is divided into three parts, an introductory course, an advanced course, and an additional course on testing. At the moment, only the introductory course is officially released, with the other two still in development.

Updating the Course

The course was first developed almost two years ago, so it contains references to older versions of Zowe Explorer. Therefore, one of our primary goals for this mentorship program is to update all existing images on the course document to reflect any changes to the tooling we referenced and to ensure that the image is of a higher quality.

Another part of our mentorship is the second course, which contains more advanced COBOL topics. The course has been in incubation for quite a while, and if possible, we will bring it to production soon! We are actively adding new content to both courses 1 and 2, and we will be publishing another version of the course at the end of the mentorship program.

Now, we have contents such as tables, dynamic-length items, UTF-8 data, and multithreading merged into the respective courses. But more topics are being added. Stay tuned for other content such as subprograms, ABEND handling, sorting, merging, and object-oriented programming.

CICS Transaction Server

One of the most highly requested additions to the course is CICS. CICS Transaction Server is a mixed-language application server with exceptional transactional throughput. It is said that CICS can process 1.1 million transactions per second. Given the demand, we are actively looking into adding the interaction between COBOL and CICS to our course.

There are hurdles along the way, such as how we can configure CICS regions to handle thousands of users while preventing users from stepping on each other’s feet. But we have excellent Subject Matter Experts who are helping us to make this possible. So, stay tuned for the next blog where we will talk further about COBOL and CICS!

More about the Mentees

Ahmed Eid

I’m a computer engineering student from Egypt that joined the mentorship to learn more about the mainframe and to gain more experience contributing to open source under the guidance of the mentors. I think the COBOL Programming Course and its labs that run on a mainframe will be the entry point for a lot of students to learn more about COBOL and the mainframe and I will like to help improve it as much as possible.

Hartanto Ario Widjaya

I’m a Computer Science student from Singapore that was first introduced to mainframe around a year ago, and after feeling welcomed by the community, I decided to stick around and help others. For me, COBOL is a wonderful programming language that works well for business applications, and seeing the lack of young application developers, I thought it would be great to help on the COBOL Programming Course project.

Learn more about Ahmed, Hartanto, Sudharsana, Michael or any of our other 2021 Summer Mentorship participants in this blog.