Would you choose C#...
-
...as the language for teaching newcomers? That what they did at my daughter's school... She asked me if it is a good one - I told it is, to not to confuse her, but to be honest I'm not sure of it entirely...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
language is not that important. It's the manner it is taught that is more important.
CI/CD = Continuous Impediment/Continuous Despair
-
...as the language for teaching newcomers? That what they did at my daughter's school... She asked me if it is a good one - I told it is, to not to confuse her, but to be honest I'm not sure of it entirely...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
There is a beginner programming language called Karel from Stanford University. Which I got to know from this course Stanford Engineering Everywhere | CS106A - Programming Methodology[^] The language itself is very simple with about twenty or so commands. But the process of problem solving using these 20 commands is what the school student learning is all about. So according to me, it is Karel.
-
Do we live in the same country? :laugh: (I used to be like her - it wasn't easy on me, so I decided to try and lead her on different paths...)
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
Kornfeld Eliyahu Peter wrote:
Do we live in the same country?
Geographically - yes. :)
Kornfeld Eliyahu Peter wrote:
(I used to be like her - it wasn't easy on me, so I decided to try and lead her on different paths...)
At age 58, I am like her. As you say, it's not easy, but all I need out of life is to support my family and enjoy my hobbies. World-conquering can wait. :) My biggest problem is managers who see my age and experience, and want to "promote" me from specification, design, and coding to a managerial or a "people-facing" position. :omg:
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.
-
Kornfeld Eliyahu Peter wrote:
Do we live in the same country?
Geographically - yes. :)
Kornfeld Eliyahu Peter wrote:
(I used to be like her - it wasn't easy on me, so I decided to try and lead her on different paths...)
At age 58, I am like her. As you say, it's not easy, but all I need out of life is to support my family and enjoy my hobbies. World-conquering can wait. :) My biggest problem is managers who see my age and experience, and want to "promote" me from specification, design, and coding to a managerial or a "people-facing" position. :omg:
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.
Daniel Pfeffer wrote:
My biggest problem is managers who see my age and experience, and want to "promote" me from specification, design, and coding to a managerial or a "people-facing" position.
Hit them hard and run!!!
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
-
Absolutely: respect is something you earn, not deserve. Being treated respectfully until you prove yourself unworthy is a different thing altogether. Generally speaking, those who demand respect are the least worthy of it in my experience.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!
Please be more respectful :-D
-
...as the language for teaching newcomers? That what they did at my daughter's school... She asked me if it is a good one - I told it is, to not to confuse her, but to be honest I'm not sure of it entirely...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
Probably not. Even basic concepts require teaching too much about syntax. I'd actually start with Python and cover the basics of data types, functions, and objects. Yes, I know many people hate the indentation but it's common in functional programming languages and is visually simpler than nested curly braces, IMO.
Latest Article:
Create a Digital Ocean Droplet for .NET Core Web API with a real SSL Certificate on a Domain -
Absolutely: respect is something you earn, not deserve. Being treated respectfully until you prove yourself unworthy is a different thing altogether. Generally speaking, those who demand respect are the least worthy of it in my experience.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!
OriginalGriff wrote:
Generally speaking, those who demand respect are the least worthy of it in my experience.
I'm reminded of a story from *years* ago--I *think* it was from someone here on CP - who was riding a subway, and witnessed some sort of altercation, where one of the guys involved at some point just blurted out, "show some respect, I'm a manager"... Somehow that one always stuck with me :-) (I'll be impressed if someone manages to dig it up based on only that...)
-
Scratch[^] remains my choice for so many reasons, mainly because learning about sw engineering is not about learning a programming language, but learning about programming theory. Then C# is a good high level language to start with. As would by Python. I started with assembler, and this taught me far more than programming : a lot of computer architecture knowledge, which I still find useful today.
Scratch is good, especially for elementary age learners, some adults too. My wife was (retired now) the gifted teacher at an elementary school and was given the edict to teach about robotics and programming. She was able to learn then teach Scratch to her kids. They took off on it, as you would expect with gifted kids.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
-
...as the language for teaching newcomers? That what they did at my daughter's school... She asked me if it is a good one - I told it is, to not to confuse her, but to be honest I'm not sure of it entirely...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
It used to be Pascal; then Java. Not a big leap to C#. The (NET) "framework" elevates it to a platform versus a simple language. They won't hit any walls.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
-
...as the language for teaching newcomers? That what they did at my daughter's school... She asked me if it is a good one - I told it is, to not to confuse her, but to be honest I'm not sure of it entirely...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
It's not; it hinges on the concept of OO. Objects are hard conceptually, classing variables and methods into logical entities. For a kid, I'd recommend procedural languages; I did AMOS growing up, a kind of basic. It allowed to write instructions and play with parameters, and soon I started on my own Eliza-clone (which is totally doable in Basic and a fun exercise). Problems arose when my I got pages worth of procedures, largely copy/pasted. At that time, I was ready for OO and inheritance. Teach her a procedural language and things that give quick reward. Once she knows about variables and procedures, give her a challenge that requires too much writing, and after a day or three, introduce OO and inheritance.
Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
-
...as the language for teaching newcomers? That what they did at my daughter's school... She asked me if it is a good one - I told it is, to not to confuse her, but to be honest I'm not sure of it entirely...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
Any language would be good to teach programming. It may be difficult to really stick with the basics with C#, not only because of the syntactic sugar, but also because of in-built functions. You can also argue against using Visual Studio or PyCharm or JetBrains as a beginner's IDE. They are a bit too helpful at times and there is nothing better than learning by oneself (even if it is very slow). Eclipse may be a good choice (or maybe VS Code), wouldn't go as far as text-editor only, like Vim.
-
...as the language for teaching newcomers? That what they did at my daughter's school... She asked me if it is a good one - I told it is, to not to confuse her, but to be honest I'm not sure of it entirely...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
It's certainly not bad. You can do low-overhead programs in C# just like you can do in Python (which, I presume, is what they're doing for teaching purposes), you can go fully-blown structure like you'd do in Java. Speaking of structure, C# is well-structured and allows learning concepts without delving too much into the implementation. Which is, as far as I'm concerned, a good way to learn such things. Too many co-workers of mine tend to get lost in the details, missing the big picture, as if they never learned to think outside of low-level details...
-
Was thinking exactly about that - how to build the lessons...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
It's possible to set the C# language version on the project, version 7.0 should provide a good baseline for students.
-
...as the language for teaching newcomers? That what they did at my daughter's school... She asked me if it is a good one - I told it is, to not to confuse her, but to be honest I'm not sure of it entirely...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
As C# includes many features that you also have in C++ and C, you could use C# as a language for absolute beginners, as long as you start with a very small subset of everything that's possible in C#. No lambda expressions, no null propagation, no classes, no properties etc., just some loops and branches, and maybe some functions. And then you can slowly work your way up to the more advanced features.
-
...as the language for teaching newcomers? That what they did at my daughter's school... She asked me if it is a good one - I told it is, to not to confuse her, but to be honest I'm not sure of it entirely...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
I would recommend it. If they offer it in the school, probably they know how to teach it. But the other questions are for all programming languages they teach: Do they teach it right, whatever it is? Do they teach it the way, to be open to use other languages or whatever language you choose, would you be taught that it is the only and best language? You can try it yourself that it is easy Hello World - Introduction to C# interactive C# tutorial | Microsoft Docs[^] and surprise your daughter with your knowledge :) or be step ahead?
-
I would recommend it. If they offer it in the school, probably they know how to teach it. But the other questions are for all programming languages they teach: Do they teach it right, whatever it is? Do they teach it the way, to be open to use other languages or whatever language you choose, would you be taught that it is the only and best language? You can try it yourself that it is easy Hello World - Introduction to C# interactive C# tutorial | Microsoft Docs[^] and surprise your daughter with your knowledge :) or be step ahead?
Vaso Elias wrote:
If they offer it in the school, probably they know how to teach it.
You are probably live in an utopian state... :-D
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather
-
It's not; it hinges on the concept of OO. Objects are hard conceptually, classing variables and methods into logical entities. For a kid, I'd recommend procedural languages; I did AMOS growing up, a kind of basic. It allowed to write instructions and play with parameters, and soon I started on my own Eliza-clone (which is totally doable in Basic and a fun exercise). Problems arose when my I got pages worth of procedures, largely copy/pasted. At that time, I was ready for OO and inheritance. Teach her a procedural language and things that give quick reward. Once she knows about variables and procedures, give her a challenge that requires too much writing, and after a day or three, introduce OO and inheritance.
Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
Eddy Vluggen wrote:
For a kid, I'd recommend procedural languages; I did AMOS growing up, a kind of basic. It allowed to write instructions and play with parameters, and soon I started on my own Eliza-clone (which is totally doable in Basic and a fun exercise).
This! Start the class with Notepad, command line compilation, and console applications. No IDE, no GUI, no classes. Just learning to think logically and solve problems. C# will work for this, but I'd probably use something different. My sons took programming-type classes in high school and college -- they spent more time making pretty output than they did making correct output. This was typical for these classes. Folks often think of OO as the Holy Grail. It's not -- I've dealt with far more badly designed class structures than I have badly designed procedural programs. When the only available tool is a hammer, everything look like a nail.
-
I would recommend it. If they offer it in the school, probably they know how to teach it. But the other questions are for all programming languages they teach: Do they teach it right, whatever it is? Do they teach it the way, to be open to use other languages or whatever language you choose, would you be taught that it is the only and best language? You can try it yourself that it is easy Hello World - Introduction to C# interactive C# tutorial | Microsoft Docs[^] and surprise your daughter with your knowledge :) or be step ahead?
Vaso Elias wrote:
I would recommend it. If they offer it in the school, probably they know how to teach it.
Not necessarily. I recall a couple of classes where the instructor was learning the material a day ahead of teaching it, and a lot of the professors had no idea how to teach. Many moons ago a coworker did a tech interview for a college professor who wanted to leave academia and get into consulting. She failed the tech interview in a language she had been teaching for 5 years. She could explain language syntax, but had no idea how to program anything of any complexity.
-
Vaso Elias wrote:
I would recommend it. If they offer it in the school, probably they know how to teach it.
Not necessarily. I recall a couple of classes where the instructor was learning the material a day ahead of teaching it, and a lot of the professors had no idea how to teach. Many moons ago a coworker did a tech interview for a college professor who wanted to leave academia and get into consulting. She failed the tech interview in a language she had been teaching for 5 years. She could explain language syntax, but had no idea how to program anything of any complexity.
I had the same experience myself when I was studying at university, however we had also teachers who knew way too much and they did teach us lot :) There are always good and experienced teachers and then those who need to work more on their teaching skills :).
-
...as the language for teaching newcomers? That what they did at my daughter's school... She asked me if it is a good one - I told it is, to not to confuse her, but to be honest I'm not sure of it entirely...
“Real stupidity beats artificial intelligence every time.” ― Terry Pratchett, Hogfather