this post was submitted on 20 Jul 2024
123 points (96.9% liked)

Programming

17497 readers
28 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 [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] SmartmanApps 18 points 4 months ago (28 children)
  • 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.

[–] [email protected] 0 points 4 months ago (10 children)

I learnt to program in python (in year 12). It was pretty good:

  • less intimidating than the languages full of braces/brackets.
  • as it's also a scripting language, you can ignore OOP and just write code.
  • has lots of kid friendly drawing libraries (tortoise.py anyone?) so they can make things they can see on screen etc
[–] SmartmanApps 4 points 4 months ago (9 children)

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.

[–] SmartmanApps 1 points 4 months ago (1 children)

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).

[–] [email protected] 1 points 4 months ago (1 children)

Is the fact that C# produced executables also a problem? With python you can 'protect' non lab computers at the school by just not installing the python runtime on them. Teach them c# and I guarantee they will be making executables to cause trouble.

Generally agree with you that teachers should be able to choose at least one of the languages to teach. basic web dev stuff is probably pretty useful to them though if it includes JavaScript?

[–] SmartmanApps 1 points 4 months ago (1 children)

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.

[–] SmartmanApps 1 points 4 months ago

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.

load more comments (7 replies)
load more comments (7 replies)
load more comments (24 replies)