SM123 students hate Python.
Every year I have this problem.
Hardly any of them have either paired up for the peer review or requested to do the alternative. Many students are not going to attempt questions 1 and 2 of TMA4.
And then I know what happens - they turn up at their next, more advanced class and they struggle because Python is expected and they were meaning to learn over the summer and they didn't get around to it because their lives got in the way.
There's no judgement from me. I spent most of my computing lab sessions (Fortran back then) crying in the toilets because I couldn't get my code to work. Truthfully, I loathe programming. It is entirely unforgiving. And yet somehow I've spent my entire adult life either teaching programming or editing books and learning materials that teach programming.
The world is mad.
I watched a wonderful lecture recently from a professor who regularly taught programming "How to Begin Thinking like a Programmer" by Andy Harris (youtube.com) (H/T to my student Hazel who shared this in our tutor group forum). He was talking about how the department wanted to move his office and they were trying to get him to get rid of stuff. They wanted him to get rid of his whiteboard. He wasn't having it. Told them he was happy to lose his computer instead. The thing is, the core of being able to program is to think algorithmically. The first thing you need to do is work out what you need to do - in your head, on the whiteboard, using pseudocode like they teach GCSE and A level Computer Science - I know, I've edited ALL THE BOOKS. Only then can you write code. Not before. That's when you make mistakes.
But SM123 doesn't teach algorithmic thinking. It throws them in at the deep end and teaches them to run before they stand.
I wish I could fix it. But I can't. I'm a nobody.
So I tell my students the truth. It's hard. Keep at it. Don't give up. If you think you aren't capable of doing this stuff go play around with Scratch. If 8 year olds can do Scratch so can you. Scratch won't let you break it. Then when your head knows you're trying to do when you're programming, then you'll find Fortran/Visual Basic/Python/whatever-comes-along-in-the-future much less stressful.
Next year I'm gonna have to try to do this differently - I have no idea how, with no extra teaching time and no extra budget.
Comments
New comment
Hi Kate,
I agree. Structured English (pseudocode?) first, then you can code that in anything you like.
But some languages are much nicer to work with than others.
Jan - a once upon a time (1970s) programmer.
PS. I'd add, work out your test plan and get that peer-reviewed before you cut code too![smile smile](https://learn1.open.ac.uk/theme/image.php/osep/core/1724221151/s/smiley)
New comment
Hi Jan,
Yep - think I'm going to find some time over the summer to put together some resources on algorithms and writing structured english/pseudocode as a precursor to the work of programming.
If you were programming in the 70s I'm guessing whatever you were working with was not particularly user-friendly for beginners.
Kate
New comment
Hi Kate,
Anything from machine code to COBOL
.
All learned on the job. I got into Data Processing as it was then, as a trainee without any formal qualifications or A Levels: just a logical mind and a willingness to try.
I studied various courses with OU to build up a BA (all OU degrees were BA then) some years after I'd got into the job.
Actually I have a soft spot for COBOL. It earned me a good living for many years on legacy systems.
All a very long time ago now![smile smile](https://learn1.open.ac.uk/theme/image.php/osep/core/1724221151/s/smiley)
Jan