Learning how to program - Retro programming with LOGO on a BBC Micro
Are you a programmer? Are you learning how to be one? Come to think of it, how do you even learn how to think like a programmer? There's more to programming than typing in lines of code after all.
Back in the 80s people had ideas on how best to teach programming and while most focused on learning a language there were a few who went a bit deeper and tried to understand how to teach what we now call "computational thinking" - how to think up algorithms in the first place.
Come with me as I play around using LOGO on my BBC Micro, following some things from Seymour Papert's Mindstorms book, as I explain how I use LOGO today to help teach kids how to become programmers and computer scientists.
There are a lot of videos on how to program, or how to learn Python for example. They all mostly focus on how to work through a series of exercises to learn a particular language's syntax and this is great if you do want to learn Python or JavaScript. They don't always go into ways to think for yourself - how to decompose a problem into parts, or how to structure an algorithm.
Let’s briefly look back at last year and see what things were like, then look forward to the coming year and what I want to achieve. I did this last year too, and I’ve just been reading that.
So previously I was quite pleased at hitting 1000 subscribers on my YouTube channel, and by the end of the year had 1300 or so. This year I seem to have gained another 1000 as I’m somewhere around 2300.
Most of my videos last year were Spectrum Next related as I tried to work out how to program it, and then explain what I’d learnt to others who might be interested. I quite like learning things and then explaining what I know, I also seem to like telling stories of how things were.
It doesn’t feel like I did much else. I know I did far too much sitting in front of my TV watching YouTube, rather than making my own content but I guess that’s what happens when you do a full time job during the day. Doing more work at home seems like too much effort. Especially when it’s dark in the evenings and the space you work in is a bit of a complete mess.
So let’s look forwards then and see what I want to do in the coming year.
Making things easier is a goal. I’ve ditched my Hugo powered static website and moved everything back to WordPress. It’s just easier being able to type directly into the editor and hit “Publish” compared to the equivalent of compiling my text into a site.
I also really need to improve the place I work in for these videos and my own projects. The desk is all wrong, things are randomly put on the walls with no actual thought, it’s just sort of evolved over time.
Something I did do last year was tidy up my main workshed and put in better benches, and that’s improved things a lot. I will do the same in here.
I also find it really hard to make videos on a consistent schedule because most of my content is based on me explaining something I’ve been learning. Trying to figure something out can take weeks or months to complete, and I never liked releasing half finished videos.
I’m going to change things a bit this year and have a bunch of background, long term projects that I’ll make videos on as and when I feel the need, and then some easier to make videos each month.
Another thing I’m doing is resurrecting my blog and website to make it more useful. Previously it was just a place to dump the video description and a link to my videos in the hope someone Googling would find my content.
Now I want to actually write proper posts here. They might take the form of random waffle like this, or notes from the projects I’m working on. I can also use my site as a place to put the detailed, complex information I sometimes need to explain without trying to put it in a video. Yes, I’m just as annoyed as you are when Google directs me to a video on something I want to know, and I have to sit through ten minutes of YouTube fluff when a 30 second blog post could have told me the same thing.
I also want to try less structured vlog style videos on random topics that I’ve found interesting. I think I’ve figured out how to read a script to the camera, now I want to learn how to just switch one on and talk at it without going off topic or forgetting what I was trying to say.
Blog Post: https://ncot.uk/2022-review/
...
https://www.youtube.com/watch?v=rcRx8TRpe_M
In the 1980s the UK government had this horrible realisation we knew nothing about computers, and that they were slowly taking over our lives.
I have a look at what the BBC Micro is, what the BBC's Computer Literacy Project was and then do some programming.
Video Timings:
0:00 - Intro
1:54 - Z80 vs 6502
3:52 - The Computer Literacy Project
4:48 - BBC Micro Hardware
7:28 - The display
9:38 - BBC Basic
13:00 - 6502 Assembly Language
16:40 - Next Video
...
https://www.youtube.com/watch?v=wF70y7RwA_c
I'm a programmer, the CPU is a mystic black box that gets fed instructions. I'm trying to learn and work out what the CPU really does. Here I build a system to control and watch the Z80's functions.
This was inspired by Ben Eater's 6502 and 8Bit CPU videos, and is what I based my Arduino code on.
...
https://www.youtube.com/watch?v=zELXowjGiwQ
My OneGameAMonth.com January entry
http://error-success.piku.org.uk/2014/02/01/my-1gam-january-entry-is-complete/
...
https://www.youtube.com/watch?v=LhEpgrJrOlk
Let's investigate CP/M on my RC2014 Z80 based computer.
CP/M was an operating system before MS-DOS existed, and it requires surprisingly few resources to run. This computer runs at 7MHz and has 64K of RAM. CP/M itself fits into just 8K!
If you want the code for the Pascal Mandelbrot program, it's on this pastebin URL https://pastebin.com/ALGdMnbs
...
https://www.youtube.com/watch?v=PAEgnbD0Z6g
Messing around with Processing.org, trying to create a roto-zoom effect. There is a slight bug in the code.
...
https://www.youtube.com/watch?v=hpSea7FjdBQ