"The problem," Alex's guidance counselor explained, "is that you simply do not have enough elective credits to graduate high school."

In the latter half of the 80s the US was into terrible music and leaving children behind. Schools weren't run on standardized tests, but on credits and coursework. Alex had bounced around through a few school districts before landing in the River City Schools "Talented and Gifted" magnet school. He enrolled specifically because the district assured his family that the program would give him enough credits to graduate on time.

"But," his counselor continued, "I do have some good news. A seat just opened up in our summer school's computer programming course. It's an advanced placement program, which means the credits will transfer to any state school. You'll still be able to start college in the fall and you'll be ahead of the game when you get there. How does that sound? I hear they've even stocked the lab with a few Ataris so people can program them."

It sounded pretty good. Alex signed up. The lab itself was fairly modern. The room was filled with Ataris, alright- Atari ST computers. Alex took an empty seat in front of one and got ready to learn some awesome computer programming tricks.

He opened the dittoed, comb-bound course book. It briefly discussed some core concepts, and then discussed the setup for the course. "Step 1) Find the disk labeled 'KERMIT'." That didn't sound like any programming language Alex had ever heard of, and as he followed the steps, he rapidly understood that it wasn't a programming language at all- it was a terminal emulator and file transfer protocol.

The school district was heavily committed to teaching basic programming using COBOL. The desktop computers were connected to a microwave antenna on the roof of the school. That antenna was oriented towards the district's main office a few miles away where another antenna rested. That antenna was wired to a Tandem mainframe running COBOL-68.

As Alex and his fellow students delved into the course material, they learned that this particular communications infrastructure offered special challenges. Bad weather could kill the connection, and the entire class would be disconnected mid keystroke. Good weather could kill the microwave link. Tuesdays could kill the microwave link, or a stray tree branch in the wind. One overly flatulent pigeon, in the right place at the right time, could kill the link for hours at a go.

Alex wasn't given free reign on the mainframe. All of the course material needed to be executed inside of a special sandbox tool call "COBOL68-RIVERCITY-ACADEMIC-PROCESSOR". Combined with the book, the course was meant to be largely self-taught and overseen by a substitute teacher more qualified for teaching a keyboarding class than a computer science class.

For the first few weeks of the summer semester, progress was slow, but possible. Around the third week, Alex started getting logged off of the system when he ran his code. It wasn't the microwave link- the other students remained online. No, something else was going wrong. He kept playing with the book code samples, he reviewed his typing, he checked and triple checked his code. Eventually, Alex called the main office and explained his problems to the district's computer operator.

"What chapter did you say you were on?" the Op asked. "Really? Hunh. Nobody's ever actually gotten that far in the course before. You're the first person I've heard of trying those samples. I don't know what to say, except 'good luck'. There's a program called FE001 that will let you write bugs into a file, but I wouldn't bother. We're planning on retiring the mainframe next year. Nobody wants to learn COBOL anymore."

Alex struggled through the remaining weeks of the course, earned his credits, and ran off to college confident that he would at least be a few credits ahead. When he discussed transferring credits with his advisor, the professor laughed at him.

"Son, that was a COBOL course. We have no equivalent on the program. If you want CS credits, you're going to need to take something in C."

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!