True story:

1974 in high school, the first "math lab" was a storage closet with a live telephone and an old ITT (International Telephone and Telegraph) teletype terminal with paper tape puncher and (pneumatic) reader attached on the side. It used an integrated accoustic coupled modem; the kind with two rubber cups that you put the telephone hand unit into after you dialed up a remote mainframe manually! This was in St. Louis county, Missouri, USA. St. Louis was and is the home headquarters of the aerospace industry giant McDonnell-Douglas Corporation. So we dialed up this free phone number that they had "donated" to public schools access, to connect to their McDonnell-Douglas Automation Division (the data processing division).
The modem was probably only around 200 baud rate (max?) and when it printed out, the terminal made the characteristic chinka-chinka-chinka sound across the paper.
I (and my math wiz buddies) learned BASIC programming by individually working through a long series of programming tutorials (maybe 20 or 30, kindly provided by McD-D-A.) "online", dialed up to the remote host mainframe computer. Each took maybe an hour to complete. The only visual I/O we had was the paper print (tractor pin-feed) in front of us coming out of the teletype. So the Read, Q/A format was very stop and go, as we typed in answers, and waited for the send, analysis, and reply to come back over the phone and slowly print out on the teletype, read that and continue, stop and wait, type, enter, stop and wait, etc.
All programs had to be typed in first on it's "console" (no video display of any kind) which was like a stiff electric typewriter keyboard with a few extra mystery keys (non-printing characters, or whatever). Then you'd have to "save" your program input by sending the listing to the paper tape hole puncher mounted on the console side. It probably only punched out just a few characters (a column of 8 holes each) per second. So a long program could take maybe half an hour to auto-punch as the 1 inch wide yellow paper ribbon roll spit out the punched tape in a "spaghetti" pile on the floor. To take it with you (for later input) you had to wind it up by hand into a loop (about the size of a shot glass) and fasten it with a paper clip to keep it wound up. Storage was problematic. A few of us quickly realized that a gazillion tiny paper "chads" quickly collected in a waste hopper under the paper puncher, and salvaging that replenishing stash of confetti for later pranks was easy!
To input any stored program, we had to manually feed the lead-in of the paper ribbon into slot and the pinhole tractor feed chugged the paper through the reader passing each column of holes (1 ASCII character byte each) in series across a line of air-jet holes that aligned with the holes (or unpunched paper bits) in the paper ribbon. The logic was obviously binary, with a bit hole either unpunched or punched, and the corresponding bit jet of air was then either blocked (high pressure at sensor) or unblocked (relative low pressure at the airjet sensor). And so the "program" was read in one byte at a time serially, as long as the paper ribbon continued to chug past the pneumatic sensor "reader". I guess the last code or two was probably an EOF = End-Of-File code. Before long we buddies got to where we could just visually inspect the linear series of hole grids and "read" decode them mentally, or else transcribe them with a pencil, writing each column character out 1 by 1 on the ribbon itself. It was the pinnacle of uber-geekness back then, and impressed (or else really scared) our classmates, and rightly earned us Geek Gods status.
Later in college courses we "used" (i.e. programmed) DEC PDP-11 mini-computers, but the storage medium was the then-standard IBM style punch cards, and we carried our "programs" around in cardboard boxes containing precisely sequenced, and neatly stacked rows of huge stiff paper cards, each about the size of a business mailing envelope. Woe and severe misery befell any unfortunate or clumsy oaf who didn't tape his/her card box closed, and happened to accidentally drop it, spilling the contents out randomly or scattering them across the road or parking lot in a strong wind. There was no recovery and resorting your scattered cards if any program was longer than about a dozen or so cards. Typically a "program" was hundreds or even thousands of cards long, and a semester course's final project program might well fill 2 or 3 boxes. Also there may have been several shorter programs organized in a single box, and once those cards got dumped and mixed up together, forget it. You had to scrap all of them!
The only recourse if yours got spilled, lost, stolen, damaged, etc. was to trek across campus to one of the keypunch utility rooms and feed stacks of blank stock cards in the input hoppers of those monstrous noisy machines (about the size of 2 office desks stacked together) and wait while your program slowly punched out again, and then ever-so-carefully, manually pick up the stacks of punched cards and correctly sequence and physically orient them, chunk after chunk, as you filed them back in your cardboard storage box. That chore made for a lot of desperate middle-of-the night panic sessions at the punch stations. (A particularly mean prank was to surreptitiously insert a discarded waste card randomly into someone's boxed row of cards when they were not looking. If you were smart, you kept an eye on your box, kept the cover closed at all times, and never left it unattended.)
Of course the payoff was at the end of the semester after your last programming project was graded, you might be one of those few celebratory (or else frustrated) geeks who trekked up to the roof of your dorm or tallest accessible building on campus with your card boxes under arm, and waited for a strong wind, and then opened and emptied box after box of the fleet of flying cards to the four winds and watched them fly away far and wide. It wasn't an uncommon sight and the knowledgable upper classman knew when and where to watch for these "sky shows".
Just don't get caught by the campus cops for littering! (They knew where to camp out in wait for those perps coming down off the roofs, so it was sort of a semester end party for them too, I guess.)
But then after graduating college, I got a job and the first micro I owned, programmed, and used extensively for years was the Commodore 64 "home computer". I still have 1 or 2 working units in storage!
Over & ouch,
L.