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).
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.
Thanks. It’s a very 21st Century phenomenon that I’ve unfortunately run into many times
that’s not a problem unique to python
No, but it’s a bigger problem for C# than is is for Python (though this is changing now), so all the U.K.-based schools were teaching Python, rather than the more-appropriate C#. That was my original point - that’s the dumb reason I had to learn Python, school admin’s wanted the lower overhead of the worse language.
…and riding a bike is easy. Now go watch some kids who have never ridden a bike before and see how that’s working out for them.
Most editors
Same thing still applies - you need to get it past the school admin gatekeeper.
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.
Well, I’m only speaking here for my experience with teaching the U.K. curriculum, but probably the same thing applies elsewhere. I know this much - as a teacher, it’s very frustrating!
It looks like pseudo code
P.S. as a teacher, I can tell you I have seen students who even struggle to write pseudo code. It’s like trying to teach them Greek (not all students, but some, and we need to cater to the lowest common denominator).
As it is, when we had to teach them HTML, the resources we were given were using PHP at the same time, so I scrapped that and just taught them HTML myself. We never teach more than one concept at a time, so I don’t know how these other things found their way into the curriculum/resources.
I just replied to someone else with the same question. Less can go wrong (but in either case a non-OOP language, like Pascal, is a much better starting point. You should only ever teach students one concept at a time).
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.
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.
I came here because I noticed I wasn’t getting the posts from here on Mastodon anymore, since sometime a day ago (newest post in my Mastodon “Programming.dev” List says 1 day old). Sounds like the same issue, but thought I’d add this info as all the other comments are about not getting posts from other places here, but I’m not getting posts from here at Mastodon.
10x = 0.999… + 9 (true by algebraic manipulation)
No, you haven’t shown that, because you haven’t shown yet that 9x=9. Welcome to why this doesn’t prove anything. You’re presuming your result, then using it to “prove” your result.
What we know is that the right hand side is 10 times 0.9999…, so if you want to substitute x=0.99999… into the right hand side, then the right hand side becomes 10x (or 9x+x)… which only shows what we already know - 10x=10x. Welcome to the circularity of what you’re trying to achieve. You can’t use something you haven’t yet proven, to prove something you haven’t yet proven.
According to me, talking about the origin of the 0.999…
Right. So not according to the meme, which doesn’t tell us where the 0.999… comes from. Nor the 1 - could be an integer, floating point, or an estimation. Thanks for playing.
And if you don’t then you can no longer claim they are still equal.
you can substitute anywhere
And if you are rearranging algebra you have to do the exact same thing on both sides, always
This isn’t about limits of accuracy
According to who? Where does it say what it’s about? It doesn’t.
please show me how basic arithmetic can make 0.999
You still haven’t shown why you’re limiting yourself to basic arithmetic. There isn’t anything at all in the meme to indicate it’s about basic arithmetic only. It’s just some Maths statements with no context given.
then a correct use of the system must be applicable to everything, right?
Different systems for different applications. Sometimes multiple systems for one problem (e.g. proofs).
You shouldn’t need a new system like algebra to be correct, right?
Limits of accuracy isn’t algebra.
Yes, the correct sequence of events - one thing at a time, basic programming, then OOP. :-)
It’s not a lot of things, which makes it poor for a teaching language.