1979 - Reigate Grammar School. The school didn't offer a comp. sci. exam but we had a computer club (although no computer). I remember using a card punch to write a factorial program. I can't remember the language. The cards were taken to an insurance company down the road who did actually have a computer. A couple of days later you'd get a print-out of the compilation errors, and you'd start again. The future seemed so exiting back then. On this basis, I went to Leeds University to study computing where on the first day, they introduced us (as a prank) ... to the card punch machine.
Now get your new-fangled glass teletypes off my lawn!
It's much like an astronomy club without a star or planet. You study the theory and hope to see the practice one day.
My junior high (in Finland) had some programming lessons included in the mathematics classes in circa 1981. Fragments of ALGOL and such. Got the first computers in 1982.
(They were Swedish ABC-80's; Z80, 16 K RAM, black and white displays with block graphics, one machine equipped with a disk drive, others with a "local area network" implemented with the cassette tape interface which was transmitting and receiving an FSK signal at something like 300 bits per second so you could transfer programs between the units. Far more advanced than paper punch tape, which I only learned to use with a telex & encryption machine in the army...)
It was actually pretty common at the time. At my school, we used electrographic cards (basically a cross between a punch card and a MarkSense test card, where you coloured in the dots with an Electrographc (#2, HB) pencil¹). We used either the local university's computer or one of INCO's, depending on their own needs at the time. (Not ony were computers expensive, they were also quite slow, so INCO's would be off-limits during quarterlies and at tax time and the university's during enrolment/scheduling and exams.)
¹ No, that didn't mean less work, since electrographics didn't tolerate erasures well. You still had to throw away the card and write a new one.
Wow. Back in the spring of 1971, thanks to NSF a number of high school students and teachers, I one of the former, got to go for a few weeks to the University of Oklahoma where Dr. Richard V. Andree would lecture us on BASIC programming and the fundamentals of numerical methods on Saturdays and then on other days through the week we each got our hands on an ASR-33 hooked up to a Data General Supernova that could have four people running the BASIC interpreter at a time (!). After that, I kept a notebook that I would write programs in in BASIC with no chance of running them and sucked down the computer-related books in the school and town library, including one English book with such exotica as Extended Mercury Autocode. After a junior year with no computer access, vo-tech school exposed me to unit record machines and an RCA 301 (ended up writing self-modifying code to do a decimal multiply) and eventually RPG on the OKC public school system's 370. On to OU, where the undergraduates all had to use punched cards--it was an IBM shop, so it was the horrors of JCL again, though I hadn't seen anything else but the Data General, so I didn't know any better.
First program: Sieve of Eratosthenes in ALGOL 60, typed onto paper tape on a Friden Flexowriter and run (ran first time too) on an Elliott 803. Year was 1963. I did get to touch the cabinet, but was not allowed to mount the tape.
First computer: 1967, Elliott 4130, from the inside out as commissioning tech employed at Elliott's in Elstree. 1000 cps paper tape readers were quite something. Especially when they failed.
Elliotts computers absorbed into ICL 1968/9. So any schools using 903's had to be using old refurnbished units. I would have thought.
1968: same time, evening degree at Birkbek College, prepared CS projects on IBM punched cards and handed the stacks to the priesthood via a little hole in a wall for running on the Atlas. 2 day turn-round. A step backwards, for me, after such intimacy wth the 4130. Fun fact: the course was not called CS in those days, not yet. So I got Mathematical Sciences with Physics on my piece of paper.
1979 - We were hand writing Fortran out on cards, there was a two week turn around to find out if we had made any mistakes (or the operator had miss-typed the code). I have no idea where they went to be executed.
A couple of us used to go to the computing teaching centre in Oxford University where they let us write BASIC on a system called the mod-one, I've no idea who made it.
The legend is that Bill Gates and Paul Allen wrote BASIC on a punchtape for the new Altair microcomputer while at Harvard, flew the punchtape to Albuquerque, and had the BASiC running on the first day of debugging. They had written a CPU emulator on a Harvard computer and their BASIC on top of that. So the morale is you didnt need a lot of punchtape iterations if you did it carefully. Todays semi-compilation as you type in the code may contribute to a certain intellectual laziness. It easy to recompile hundreds of times during development.
Back in 73/74 we had to send out code off on coding sheets that where processed at the local college.
The first language we learnt was a cut down training assembly language CECIL we moved on to BASIC the next year.
BTW I was the CSE lower stream ie the exams for those leaving at 16.
Funny thing was as computers where the maths department as I only did a CSE I wasn't allowed to do the A level computing in the 6th form - even though I got the highest possible grade in my CSE maths.
1975 - writing as a coursework assignment a keyboard driver in assembly code for a PDP minicomputer. Pressed keys would set up interrupts, be interpreted, and printed back on the teletype. Got the instructions down to the minimal two metres of paper tape, read it in, and it worked! Worth 5% of one module of a computing course :)
The most impressive thing about it all was how fast the paper tape reader has read it in.
Not related directly to computers, but related to the use of cardboard representations in learning models:
I took piano lessons on lunch hour once a week in elementary school. For those students without a piano at home, they distributed a fold-out cardboard piano keyboard. The kid was supposed to practice on the cardboard keyboard all week, and then play an actual piano once a week during the lesson.
We were fortunate and had an upright piano at home. I tried out a friend's cardboard keyboard a couple of times out of curiousity - pretty unsatisfactory feedback loop, to say the least.
Looking at the link for CARDIAC provided above, I think that approach might have actually worked not badly. You could learn all the core concepts, hand assemble a program, and then 'execute' it by moving the values through the cells. Not the most glitzy experience, but the fundamentals are there.
I can't say the same for the cardboard keyboard; not hearing what you're 'playing' is a pretty big obstacle.
This is a tragic tale. I think I would have enjoyed a Cardiac to learn machine code. I first learned code from copying listings on Teletext, they called it Telesoftware [1] into a book. I had no access to any computers.
1979 - Reigate Grammar School. The school didn't offer a comp. sci. exam but we had a computer club (although no computer). I remember using a card punch to write a factorial program. I can't remember the language. The cards were taken to an insurance company down the road who did actually have a computer. A couple of days later you'd get a print-out of the compilation errors, and you'd start again. The future seemed so exiting back then. On this basis, I went to Leeds University to study computing where on the first day, they introduced us (as a prank) ... to the card punch machine.
Now get your new-fangled glass teletypes off my lawn!