πŸ’‘πš‚π—†π–Ίπ—‹π—π—†π–Ίπ—‡ π™°π—‰π—‰π—ŒπŸ“±

@πŸ’‘πš‚π—†π–Ίπ—‹π—π—†π–Ίπ—‡ π™°π—‰π—‰π—ŒπŸ“±@programming.dev
9 Post – 282 Comments
Joined 12 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.

18 more...

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

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.

4 more...

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

8 more...

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

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

4 more...

Look for every time Apple has said "reimagined" and you'll find a feature that Android had 5 years earlier.

Pascal was designed for beginners, so I'd start there. Get a handle on the basics before you move onto something which is using object-oriented programming, as that's a whole thing to understand in itself. One step at a time (I'm a teacher, and we always only teach students one concept at a time). And once you've got the basics then C# in a Nutshell series of books (one for each version of C# as new features come out) is very good with explaining the next level stuff and not rehashing the basics (there may be similar books available for other languages, but that's outside my area of expertise).

5 more...

Yeah, people were saying that when dotnet.social launched as well, despite that not being an official MS server either.

The disagreement was actually all over whether the question was about a switch or a button, and so some people were answering as though it was a switch, and some people were answering as though it was a button - switches and buttons do indeed have opposite approaches usually (a switch usually shows the current state - such as "on" - but a button shows what action will be triggered by pressing it, such as "play").

1 more...

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!

The source is Maho. He's a Microsoft employee who has added ActivityPub (via the Wordpress plug-in) in his spare time. The 2nd person to follow it was also a Microsoft employee - @DevLeader@programming.dev - who I'm sure would be happy to clear up anything about it (I'm not sure if Maho himself is on here,, but Nick is).

4 more...

It’s like going to a mathematics forum and declaring β€œGuyz I forgot to carry a 1, screw Maths.

You may think you're joking, but as a Maths teacher I can tell you I have seen a lot of posts where someone makes a mistake with their signs, then uses their wrong answer to declare "The rules of Maths are wrong! Look - different answer!". Yeah umm, try working on getting your arithmetic right first before claiming to have "proved" something. πŸ˜‚

But it wouldn't only work on Android. It would also work on Windows and Unix and any other niche operating system that can run a browser (my Blu-ray recorder has a browser in it). There's a whole world outside Apple/Android. This message brought to you by a browser running on Windows...

3 more...

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

Of course, I rarely hire unteachable folks,

There's not really any such thing as unteachable, just people who are too stubborn to admit they could learn a thing or two (or even worse, those who rebel against being told what to do).

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.

5 more...

That doesn't make them trend-setters though - that just makes them big spenders on marketing. i.e. Android wasn't following what Apple did - they'd already been doing it first!

1 more...

People complain that there’s β€œtoo many parentheses”. People like to complain about dumb stuff.

πŸ˜‚I'm off on a tangent here, but this made me laugh so much! As a Maths teacher I see all the time people complaining about "this is ambiguous - add more parentheses for clarity!" when the reality is Maths is never ambiguous and they've just forgotten 2 of the most important rules of Maths (meaning we already have the correct amount). πŸ˜‚ These very same people often put the brackets in the wrong place anyway when they do add them adding/removing brackets

Again you're talking about switches. The thread is about normal buttons which have 2 states (the example being given is a button which can be a play button or a pause button depending on the current state). Buttons aren't like check-boxes, switches are. A button triggers an event, check-boxes don't. e.g. on a settings page, you tick all the check-boxes you want first, then click on the Save (or Cancel) changes button - one event for multiple changes. You don't tick a check-box to start playing something, you press a play button (which in this case would then change into a pause button).

1 more...

Not if the globe has blown out, in which case you need the switch to indicate which state it is in (unless you like to live dangerously and change globes in lights that may be still on :-) ).

Yeah I'll pop the link to the recording in after, but the advance warning is for anyone who wants to watch live to be able to ask any questions at the time (and also to share the link with anyone who might benefit from watching it. e.g. those still stuck over in the other places).

2 more...

Oh! I just remembered this video. If you wanna know how students can struggle with pseudo code, watch the video. I use this video when I teach algorithms (students are even worse at that than pseudo code).

don’t have to learn about indenting until you cover flow control

Which is one of the very first things they're taught - "hello world", variables ("Enter your name", "hello {name}"), branches, and loops, in that order.

I’m not sure I can think of a language that would be better suited to learning

Pascal - it's what it was designed for. Variables, branches, and loops, with strong types and optional indenting. Once people have a handle on that, THEN move onto OOP.

2 more...

YIj54yALOJxEsY20eU has compromised on their privacy values by not including a special character in their username.

They're just trying to convey they're not THAT strong. πŸ˜‚

That's ok. Thanks for being big enough to admit you were wrong - these days a lot of people aren't!

This would be correct if the post was about switches (which TBF many people made that mistake, including me initially), but it's about buttons - buttons should show what action will result from clicking on them. e.g. "Cancel" on a button which is going to cancel your process. For a play/pause button it should show play if you're paused (if I click on this it will start playing) and pause if you're playing (if I click on this it will pause).

1 more...

Some of my intended audience don't know about Lemmy yet... hence the talk. :-)

16 is the right answer if you use PEMDAS only: (8 Γ· 2) Γ— (2 + 2)

You added brackets and changed the answer. 2(2+2) is a single term, and if you break it up then you change the answer (because now the (2+2) is in the numerator instead of in the denominator).

1 is the right answer

The only right answer

both are correct answers

Nope, 1 is the only correct answer.

this is also one of the reasons why postfix and prefix notations have an advantage over infix notation

Except they don't. This isn't a notation problem, it's a people don't remember the rules of Maths problem.

infix doesn’t have any ambiguity either if you parenthesize all operations like that

There isn't any ambiguity even if you don't.

Ditto for Sharp. It's really only Texas Instruments that is the ongoing exception to the rule.

TI calculators disobey The Distributive Law and give the wrong answer when a bracketed term has a coefficient.

Not sure what exactly this convention is called

It's 2 actual rules of Maths - Terms and The Distributive Law.

never ambiguous

Correct.

there is no right or wrong

Yes there is - obeying the rules is right, disobeying the rules is wrong.

8 / 2 * (2+2)

When you added the multiply you changed the answer, because the (2+2) is now in the numerator instead of in the denominator.

The real answer is that anyone who deals with math a lot would never write it this way

Yes, they would - it's the standard way to write a factorised term.

but use fractions instead

Fractions and division aren't the same thing.

1 more...