Beginners projects

Hello, my name is Steve.

I have managed to get myself a university placement year working on a mainframe using COBOL.
I begin my job in September and have purchased a book I was recommended by a former COBOL dev.

I want to learn the language by coding and I would like to write programs that are not from the book (Murachs Mainframe COBOL). However, I am not sure what ideas I could program as a beginner to the language. I see most systems are for transactions and number crunching, however, I am stuck on a few ideas.

Any help is greatly appreciated as I am enjoying writing the language and understanding the different concepts to modern languages. Also, apologies if this is not the correct place to post this. It seemed like the correct place.

Best regards,



Hey Steve, welcome aboard :slight_smile:

I don’t think there can be any real projects at the very beginner level, as a real project requires a deeper dive into creating a full system, but that shouldn’t stop you from playing around, creating programs, seeing where you get the results you meant to get and where things crash and burn (you usually get more satisfaction from the previous and learn far more from the latter).

I’m assuming you’ve gone past the “hello world” stage… Try cruising the net for interview questions - there are lots of programming exercises there. He’re an basic example, and how to extend it:

  • How would you implement a FizzBuzz system (count from 1 to 100, replacing every multiple of 3 by “Fizz”, every multiple of 5 by “Buzz”, and every multiple of both by “FizzBuzz”)?
  • What would change if you need to switch your output from a standard display to a flat file? to a VSAM? to a database?
  • What would happen if instead of stopping at “100” you’d go up to a value given as an input parameter? How can you retrieve this input, and where can it come from?
  • What about making the “3” and the “5” base parameters input parameters? and the “Fizz” and the “Buzz”? Does it matter if they are in increasing order?
  • What if you get some of your input from one source and some from another? And if you want to enable a variable number of base parameters (3 is Fizz, 5 is Buzz, 7 is Kuku, etc)?
  • What input checks are needed?
  • Advanced issues: Can you make it run faster? Can you make it consume less CPU? Can you get it to use less memory at runtime?
  • Critical issue: a couple of weeks after writing your program and not touching it, using just your code, can you figure out what it does?

Good luck and best wishes,



Hello Michael,

Thank you for your reply.

I will have a go at doing this, it should give me a good insight into the language beside my book.



1 Like

Hello Steven,

Welcome to the group.

I’m almost in the same position as you are. During this COVID-19 lockdown, I’ve taken the opportunity to familiarize myself with COBOL again. In days of yore, I used the language on various Honeywell mainframes, and a DEC Alpha system, too.

If you want to build your own repository of data, visit Our World in Data. For example, you could download some daily COVID numbers, update your master file, and run reports from that. That will give you exposure to JCL, too, which in my case is the bigger challenge.

If you haven’t already done so, check out IBM’s COBOL Fridays webcast series.

Good luck and best wishes,

1 Like

Hello Peter,

I will look at these links you suggested.

Good luck in your re-teaching of COBOL.

Best regards,


Dear Steven,
I saw you mention that you were learning COBOL. I haven’t code COBOL in 8 years. I am unemployed for that amount of time too. Nevertheless, I have time and would like to offer to help you. You can contact me for a meeting via email or linked at

Thank you,
Cameron Browne.