8
5
3
3
2
0
1
2
1
[-] SmartmanApps@programming.dev 1 points 5 days ago

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.

[-] SmartmanApps@programming.dev 3 points 5 days ago

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

4
6
.NET Terminology (blog.lhotka.net)

Maybe something to add to the side-bar?

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

Why do you even have to mention OOP?

Because I was saying why it's a bad choice to teach to Year 7. I already said if it was up to me I'd teach them Pascal.

C# is object oriented too

Yes, I know, but in this case it's the lesser of 2 evils, for the other reasons I gave.

Python is comparatively easier as it’s nearly literally pseudo-code

And as I just said to someone else, students even struggle with pseudo code.

e.g no need for semi-colon, brackets

And I already said that's one of the drawbacks - indenting has to be EXACT or your program doesn't work anymore.

As for indentation being exact, IMO that’s on you

It's not on me - it's in the language itself to begin with. I have no control over it.

Beginners should be given a proper development environment to work in that helps them as much as possible. Modern editors and IDEs point out syntax errors and indentation errors are incredibly basic

Now see if you can get the school admin's to install those ones. As I said, that's the root issue to begin with - the school admin's.

If they are working in an environment that doesn’t even point that out to them, they have been setup incorrectly

Now see if you can get the school admin's to fix it. Welcome to the struggle the teachers face in teaching what WE want to teach them.

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

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

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

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

[-] 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.

[-] 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.

[-] SmartmanApps@programming.dev 11 points 4 months ago

For the people saying Python is beginner friendly, no, it isn't. I had to teach it to high school students (I had no choice in the language). Having to have exact indenting, whilst also not caring at all about how you use your variables, not to mention is OOP, is all a bit much for some students, some of whom don't even fully grasp how to use loops yet. One step at a time.

[-] SmartmanApps@programming.dev 8 points 7 months ago

People also forget that smartphones existed before iPhones and MP3 players existed before iPods.

[-] SmartmanApps@programming.dev 12 points 7 months ago

I actually was a teacher for a while (Computer Science and Maths), and I still do tutoring. When I started working with Xamarin, with no prior .NET/C#/GUI experience (just shell scripts and programs in DOS and Unix), it became clear as day to me that no-one at Microsoft had the slightest idea how to teach things. That hasn't changed even now. The documentation is horrendous - they don't even follow basic grammar rules like spell out an acronym in full the first time, so first time you hit one and you don't know what it is, now the document is useless (because they haven't linked to any assumed background knowledge either - have you tried Googling COM to find out what it is?). When I told someone there (who I won't name) they said "it's near impossible to cater for all levels". No it isn't - you start with the fundamentals (or link to them) and build your way up to the more advanced.

Microsoft documentation...

Here's my blog on writing a MAUI UI in C# which illustrates how to write a document (though I realised later I missed linking a few things and still need to go back and fix those) - Creating MAUI UI's in C#

It's also an issue with their templates - there's no such thing as a "blank" MAUI app. They stuff a bunch of stuff in there which violates "teach one concept at a time". I was so relieved when I found out how to make my own templates! (shell be gone! XAML be gone!)

Here are the basic rules of teaching...

I would add to that (for documentation) always spell out your acronyms in full the first time, link to any assumed knowledge, have step-by-step instructions, and make sure you cover different uses from basic to advanced (and don't damn well use Foo Bar - use a real world example).

[-] SmartmanApps@programming.dev 10 points 7 months ago

This whole thread is about buttons

view more: next ›

SmartmanApps

joined 10 months ago
MODERATOR OF