Back in 1978, I embarked on my final year project titled "Multiple Regression Analysis for a Survey on Housing Conditions in Sri Lanka", a significant milestone in my programming journey. The tools of my trade? An IBM 029 card punch machine and the trusty FORTRAN IV programming language. Guiding me through this endeavour were two remarkable mentors: the Late Prof. V.K. Samaranayake, who taught my Computer Programming course, and Dr. Kevin Seneviratne, my course tutor and final-year project supervisor. This project, done pro bono, also served as a consultancy for the Department of Mathematics at the University of Colombo.
| The IBM 029 Card Punch Machine at the Colombo University Museum. (Photo Archive Library (c) Turrance Nandasara) |
The Programming Process
Programming in those days was an intricate dance. First, I meticulously wrote the FORTRAN IV code on paper. Then, I used the IBM 029 card punch machine to transfer the code onto punch cards, one card per line of code. Survey data for the project was also punched onto cards in the same manner. Each punch card, comprising 80 columns, represented a single statement or data line. This process, though straightforward in concept, posed challenges in maintaining a clear overview of the entire program.
Programming in those days was an intricate dance. First, I meticulously wrote the FORTRAN IV code on paper. Then, I used the IBM 029 card punch machine to transfer the code onto punch cards, one card per line of code. Survey data for the project was also punched onto cards in the same manner. Each punch card, comprising 80 columns, represented a single statement or data line. This process, though straightforward in concept, posed challenges in maintaining a clear overview of the entire program.
Editing the program involved swapping, inserting, or removing specific cards. To safeguard against disaster—such as dropping a deck of cards—I drew diagonal lines across the card edges for sorting and relied on printed line numbers to reorganize the deck with a card sorter.
The keypunch machine functioned brilliantly, stamping holes into cards in 8-bit binary format corresponding to ASCII characters. Each character was printed on top of the card for verification. If errors occurred, the faulty card could be easily replaced with a new one. Finally, the punch cards were fed into a punched card reader, which optically interpreted the binary holes and transferred the data to a computer.
![]() |
The IBM 029 Card Punch Machine (Clear View of the Card Punch Machine) |
(Picture from Author's Image Library)

No comments:
Post a Comment