123
you are viewing a single comment's thread
view the rest of the comments
[-] SmartmanApps@programming.dev 25 points 2 months ago* (last edited 2 months ago)

I, as a teacher, have had to learn several languages, but that's not the dumb reason bit. The dumb reason bit was WHY I had to teach Python, which once I learnt it (so I cold teach it) I could see right away was NOT a suitable language for teaching to Year 7 (who up to now have only used Scratch). I was teaching the U.K. curriculum, and I found out that teaching C# was also allowed - still not ideal, but better than Python for learners -but pretty much all schools were teaching Python. When I dug into it I found I was far from alone in not wanting to use Python... and I also found out the reason schools were teaching Python. It was because from an ADMINISTRATIVE point of view it was much easier for the schools to have us teaching Python. In other words, the office-workers who didn't have to teach it, only had to admin it, were forcing everyone to teach Python because they wanted the lower overhead that came with installing/maintaining that vs. C#. ARGH! All the teachers who wanted to teach C# were running into exactly the same road-block.

[-] iknowitwheniseeit@lemmynsfw.com 10 points 2 months ago

I'm curious why you think Python is unsuitable. Both of my kids picked up Python pretty easily.

[-] SmartmanApps@programming.dev 18 points 2 months ago
  • object-oriented (this is their FIRST proper programming language - they don't even know how to write loops yet and you want us to teach them OOP at the same time?! And as it turns out, I had one student who literally could NOT work out how to use a loop - kept writing 20 variables for 20 iterations. i.e. her variables never varied!)
  • variables are weakly-typed (use it for anything, whether it's what you first used it for or not, Python doesn't care)
  • indentation has to be exact (i.e. no brackets, just exact indentation). I had one student whose program wasn't working, and it even took ME a while to find what was wrong with it (a missing space).

I think there was more, but that's what I remember off the top of my head. If it was up to me then I would've used Pascal - that's what it's designed for! But at least C# has strongly-typed variables, and doesn't care about your indentation (and unfortunately there was no non-OOP language choice available - I'm not sure how this got in the curriculum when every teacher knows you only teach one concept at a time). As I said, many other teachers felt the same way, but couldn't get it past their school admin's.

[-] uthredii@programming.dev 3 points 2 months ago* (last edited 2 months ago)

object oriented

Python does have OOP but you are not at all forced to use it. You can write code in a functional or even procedural style.

typing

I do hate that python doesent have proper support for typing but I think weakly typed variables will actually help beginners as it is less to think about to start off with.

indentation

I think there are pros and cons here. In other languages it is considered good style to use indentation anyway.

I'm sure it is difficult to teach a large class like that though. It was hard enough for me to learn with a much more favourable teacher to student ratio than you probably have. Sorry but honestly I do sympathise with admin as well.

[-] SmartmanApps@programming.dev 6 points 2 months ago

Python does have OOP but you are not at all forced to use it.

Not as an individual, but I'm talking about a situation precisely where the individual choices of teachers are ignored, in some cases by school admins, in some cases by faculty choices. Fortunately I also ran a computing club, in which I was autonomous with how I ran it, and I taught my computing club students C#/MAUI... but even then still saw some of the issues you run into with teaching students. e.g. I told them to install Visual Studio ready for next week, showed them where it was, what workloads to install, and then the next week one of the students had installed Blend for Visual Studio, not Visual Studio. "Look, it has Visual Studio in the name!". (sigh)

I think weakly typed variables will actually help beginners as it is less to think about to start off with

No, that's exactly the problem to start with. Another rule of teaching (see below for the full list I'm quoting these from) is "never let the first impression be a wrong one". If you let students think they can use variables for anything, then you run into problems when they can't. This is why teaching them with strong types first is better - they learn you need to be careful with how to use them, THEN maybe you can let them have some more freedom like Python allows.

In other languages it is considered good style to use indentation anyway

Yes, but in those languages it's optional. In Python it's mandatory, and if someone's code isn't working it's far easier to spot a missing bracket than a missing space.

[-] JackbyDev@programming.dev 5 points 2 months ago

It's odd to me that you're disagreeing with their actual experience teaching.

[-] SmartmanApps@programming.dev 3 points 2 months ago* (last edited 2 months ago)

Thanks. It's a very 21st Century phenomenon that I've unfortunately run into many times

[-] Nighed@feddit.uk -1 points 1 month ago

Lots of us have the experience of being the kid in that situation though. I learnt python in secondary school.

[-] JackbyDev@programming.dev 4 points 1 month ago

They've been through the other side of this experience multiple times though.

[-] SmartmanApps@programming.dev 3 points 1 month ago* (last edited 1 month ago)

have the experience of being the kid in that situation

Which kid? The gifted one, the one who didn't understand loops and used 20 variables for 20 iterations, the one who didn't understand how to write pseudo code, the one who was dyslexic,.....?

I learnt python in secondary school

Which Year? I didn't say it wasn't appropriate for high school, I said it wasn't appropriate for Year 7 as a first programming language.

[-] SmartmanApps@programming.dev 2 points 1 month ago

Lots of us

Also, who do you mean by "us"? Programmers? Not all the kids in class want to be programmers, and this isn't a programming class - it's Computer Science. We cover topics like hardware, the Internet, Cybersecurity, the history of computers, data analytics, etc. Not only do not all of them want to be programmers, not even all of them want to be in I.T. - they're just, you know, interested in computers (or in some cases they're in the course because their parents think they should be in it - I've had a couple of those students). We only spend 6 weeks on programming (we spend 6 weeks on each topic), or sometimes we might do it twice and spend 12 weeks on it, and that's it for the year! You can't teach Year 7 kids algorithms, pseudo code, basic programming concepts (variables, branches, and loops) and OOP as well in one year. Especially when not even all of them are interested in programming. It's just one topic we cover. OOP is something that shouldn't be covered until at least Year 8, preferably Year 9 (by which stage students have decided if they want to continue on this path or not, and the ones we still have left we start getting more hard-core... which is where the "us" I presume you're referring to come in).

load more comments (25 replies)
load more comments (25 replies)
load more comments (44 replies)
this post was submitted on 20 Jul 2024
123 points (96.9% liked)

Programming

17025 readers
395 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS