the .NET environment is vast and can be confusing, especially when new to it.
Yeah it was prompted by someone on Mastodon asking about it, and Rocky saw it. I saw the reply too, and thought it was still a little vague, then a few days later this blog post turns up :-)
BTW if anyone wants to follow him he’s Rocky Lhotka. He’s on Pixelfed too (and Bluesky), but not as much work stuff on his Pixelfed account.
I think omitting .net core is not the best decision.
Yeah that confused me a bit too, then I found he talked about it underneath the table
My high school taught Java, but I didn’t get OOP
Yes, the correct sequence of events - one thing at a time, basic programming, then OOP. :-)
Python is not that.
It’s not a lot of things, which makes it poor for a teaching language.
P.S.
not just to the point of ignoring, but actively down-voting
I’ve been downvoted when I’ve made actual factual statements (which should be upvoted!) - people do like to express their displeasure 😂
I guess this community doesn’t want this kind of content, even if it’s the official dev blog
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.
Oh, I should clarify that. Teaching Python was decided for us by admins. The course material MAY have been designed by a teacher, but then also it may have been designed for Year 9 say. It’s inappropriate to be teaching it to Year 7 as a first proper programming language, but that’s what we had to do (otherwise then we would also have to make all our own resources to do it, and don’t forget at this point that I didn’t know how to program in Python myself yet! So yes, I had to use the already made resources, which had OOP in it).
Yes, that’s exactly what I’m saying. The decision was made for us by school admins, NOT CS teachers. That’s why it was the stupid reason I had to learn Python.
P.S.
teach them c# and I guarantee they will be making executables to cause trouble
No, you’re overestimating the students ability. I taught C# in coding club (they were mostly around Year 8), and it was a struggle just getting them to understand basic programming concepts (imagine having to explain MVVM to them - they’re not good at understanding abstraction) - they wouldn’t have had a clue how to turn it into a malicious exe.
Is the fact that C# produced executables also a problem?
Trust me, the conversation never even gets that far.
just not installing the python runtime on them
We weren’t! We were using repl.it (or something very similar). I don’t know what the story was at other schools, other than many other teachers also wanted C# but had to do Python (it was when I came across this that I finally accepted defeat in trying to get another language in instead of Python. I wanted to start with Pascal and then do C#. In the end I had to do HTML and Python. i.e. the status quo).
Generally agree with you that teachers should be able to choose at least one of the languages to teach.
We’re supposed to be able to choose both languages, but school admins are taking away one of our choices.
if it includes JavaScript?
I wouldn’t do that at the same time as HTML - maybe later, separately. As I’ve said, as teachers we only teach one concept at a time.
I think they introduced the programming GCSE the year after I did my A-Levels
I was teaching the IGCSE, to students all over the globe.
you can JUST learn the programming bit
But NONE of the resources which have been provided to schools do it that way - they ALL use OOP. If that’s what your faculty has chosen to use, then that’s what you have to use. It comes back to what I’ve been saying all along - the schools are dictating to the teachers what they are to teach, and it’s NOT based on what’s best for the students educationally, but what has the least admin overhead for them. That’s the stupid reason that I had to learn Python - admin concerns!
P.S. the students aren’t going to have any tests where it matters until Year 10, and the curriculum even says that at least 2 languages must be taught (in my case we chose HTML as the second language, because…), and so even though many teachers would like to teach their students C#, the schools simply aren’t LETTING them do that. They don’t want the admin overhead that comes with teaching C#, so it’s Python and… nope, it’s just Python (and so then you have teachers opting for a second language like HTML, cos they can’t get their school/faculty to buy-in on teaching C#, simply because they don’t want the admin that comes with it. The fact that it’s a better language to learn isn’t even considered).
I learnt to program in python (in year 12)
Yes, it’s fine for Year 12 - you’ve already learnt all that stuff by then - it’s NOT fine for Year 7 as a first proper programming language, when they haven’t learnt ANY of that stuff yet.
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.
Thanks. From memory we were using repl.it, or something very similar. This made it easy for me to look at their code when they had problems (and even then, as I said to someone else, it was quite a while before I realised one of them simply had the wrong indentation on one line - I kept looking at the code and thinking I couldn’t see anything wrong with it, then eventually I realised there was a wrong indentation. If it took me that long to realise, then of course that’s something students are going to struggle with).
Most editors
Same thing still applies - you need to get it past the school admin gatekeeper.
Just to be clear, it’s not MY book, but the book of whoever’s blog that is (Michael someone) - that’s the title of the blog post “My book…”.