bit-tech.net

TNMOC hosts retro-coding lessons

TNMOC hosts retro-coding lessons

Students invited to TNMOC get to experience programming on the BBC Micro, in BASIC.

A select group of A-level students have been given the chance to step back in time and take part in programming lessons at The National Museum of Computing - learning to code on PDP-8s and BBC Micros.

According to a BBC article, the move comes in an attempt to teach students the underlying concepts behind computing - and to move them back from modern computers which all too often abstract the core concepts away from the user, making it harder to understand precisely what is going on.

Doug Abrams, an ICT teacher at Ousedale School in Newport Pagnell, sent a selection of his students to the Museum in order to take part in the retro lessons, and is quoted as saying that "the computing A-level is about how computers work and if you ask any [students] how it works they will not be able to tell you" - but that's something the course aims to fix.

By learning to code on older machines, a better sense of interaction with the underlying hardware can be gained - Abrams claims that "you can see the instructions happening for real with these [vintage] machines," giving students a greater understanding of how computers really work.

It's an interesting idea, and one that makes a lot of sense. Whereas modern computers dump you straight into a friendly, graphical environment where everything is a click away, the BBC Micro would present you with a BBC BASIC prompt - loaded instantly from ROM - when you switched it on. In order to make computers of that era do anything - even if it's just to start loading a game from a tape - you have to write a simple program.

Programming on the PDP-8 is an even more raw experience, without the relatively high-level BASIC language to fall back on; instead, students have to toggle switches on the front panel to set binary values directly into memory.

Although the experiment appears to have received the thumbs-up from its participants, it isn't known whether such programming classes are to become a regular occurrence at the Museum.

Would you like to experience real programming, as it was in the bad old days, or is the retro lesson nothing more than a gimmick? Share your thoughts over in the forums.

14 Comments

Discuss in the forums Reply
liratheal 26th August 2010, 11:47 Quote
Problem is, it's not going to make users do fewer stupid things.

Nice idea, if unlikely to be well received by any but us "enthusiasts"
mclean007 26th August 2010, 11:58 Quote
Awesome idea. I learnt to code on a BBC Micro, first with BASIC then with assembly language, and it really doesn't get closer to the metal than that. Even just using the machine required an understanding of using a command line. Then I progressed to the Acorn Archimedes with its RISC instruction set and learnt assembly all over again. Then I moved on to a 386 and had all the fun of dealing with the command line, batch files, extended memory headaches, qBASIC, and progressed to Pascal and C/C++. God I'm showing my age! Anyway, that basis gave me a solid understanding of the principles common to all computing systems, that anyone learning about computers by using a modern PC would simply never get.

For writing practical programs, modern systems are all very well - you can put together an app with a GUI that does something useful in about 10 lines of code, but it shows you nothing about all the stuff going on to actually make it work - memory allocation, resource management, threading / time-slicing and all the complexities of a modern multitasking graphical OS on modern hardware (multiple cores, processing on multiple platforms - GPU, CPU etc.) mean that writing in pure assembly would be totally impractical and that layers of APIs are needed to make things work, but all that abstraction obscures the important issue (for a computing student) of HOW things work.
StoneyMahoney 26th August 2010, 12:47 Quote
I promised myself I would never say anything this lame on the Internet without it somehow being sarcastic and cutting to some poor idiot, but I'm going to say it anyway.

ZOMG!! PDP-8!!!

Okay, I've got the over-enthusiasm out of my system, normal operation shall resume shortly after I find some sedatives.
phuzz 26th August 2010, 14:29 Quote
In my uni course we had a module on basic computing, we went from building a simple counting circuit (where the 'clock' was me moving a wire between two connections) up to basic coding in assembly on something so old I didn't recognise it . Really helped me get an idea of the more low level stuff.
Xir 26th August 2010, 15:24 Quote
Started with Basic on a Commodore C16 :D

But ehhh:
Quote:
In order to make computers of that era do anything - even if it's just to start loading a game from a tape - you have to write a simple program
Weeelllll, Basic does that. MS-DOS does that. HECK, Linux does that till the day of today.

They could learn this on a modern system (something unix based without the desktop loaded) :D
Gareth Halfacree 26th August 2010, 15:28 Quote
Quote:
Originally Posted by Xir
Weeelllll, Basic does that.
Yes, which was my point.
Quote:
Originally Posted by Xir
MS-DOS does that. HECK, Linux does that till the day of today.
I'd disagree: running a command isn't the same as writing a program. Sure, you can use shell scripts (or batch files, if you're a DOS-head) to do things - but that's a scripting language, not a programming language. You try doing something at an sh shell with no access to external programs - you're going to struggle!

Scripting != Programming, at least in my opinion. Your mileage may differ. Void where prohibited. Probably contains traces of nuts. Keep out of children.
WildThing 26th August 2010, 15:48 Quote
Great idea imo! This is certainly something I would benefit from. While my programming knowledge is abysmal, I would still love to learn more about how computers actually work.
general22 27th August 2010, 04:11 Quote
It's a good idea to do some low-level programming even if it's a little frustrating sometimes, it gives you a better appreciation for high-level languages and increases your knowledge of the underlying CPU and memory processes.

I think that programming in binary is a step too far and a pointless exercise at best. Programming in the assembly language of a simple RISC architecture is a better idea and teaches you the concepts of the stored program model we use on computers today. You can also do this in an emulator of some sort on any modern computer.
thehippoz 27th August 2010, 08:16 Quote
ah now that's a good class.. poke and peek registers =] when I was a kid I think I memorized most of the common registers used on the atari 800xl you had msb (most significant byte) and lsb for some and you always used variables to save memory.. fun stuff
Ending Credits 27th August 2010, 12:40 Quote
Pah, we learn assembler in electronics.

Also, since when did ICT actually become about computers?

It seems like a good idea though. More people need to learn how computers actually work.
Coltch 27th August 2010, 14:52 Quote
"Also, since when did ICT actually become about computers?"

I think since far too many people think learning office means they are a computer wizz, as that's all ICT seems to basically concentrate on.

Learnt BASIC on my Speccy, then again on the BBC, then again on the C64!! - still have my programmers reference guide for the C64. although most of the POKE and PEEK commands I used were for unlimited lives in games etc.
yakyb 27th August 2010, 15:22 Quote
Quote:
Originally Posted by Coltch

Learnt BASIC on my Speccy, then again on the BBC, then again on the C64!! - still have my programmers reference guide for the C64. although most of the POKE and PEEK commands I used were for unlimited lives in games etc.


I went Spectrum -> QBasic -> Some Casio calculator basic variant -> VBA ->SQL + C#


with the odd other little bit here and there
Fizzl 28th August 2010, 21:49 Quote
My first bit of programming was on a ZX Spectrum +3 with 128 KB RAM!

But I'm not sure you need to go back that far .. so long as you learn how to use C properly (Malloc, Pointers, Garbage Collection) you will be miles ahead of the competition.
Boogle 29th August 2010, 19:55 Quote
I think it's a fantastic idea. Although I suspect the fact the course went down well means the participants were, shall we say, 'cherry picked'.

We did assembly / binary when I was at college, and no where near enough of it imho. Still having knowledge of how things work, and the mental structure for dealing with things from the base up has really helped me immensely in the commerical world.
Log in

You are not logged in, please login with your forum account below. If you don't already have an account please register to start contributing.



Discuss in the forums