4 ms·
>why not use pi + python? Do you have experience with teaching python to kids? I am afraid to try it with my son because white space is important, I tried onl
by simion314 8y ago
>why not use pi + python?
Do you have experience with teaching python to kids?
I am afraid to try it with my son because white space is important, I tried only Scratch and making him think as "a machine" is hard enough adding syntax errors on top would make the job much harder,
let me know if you have experience with this and if you think I am wrong.
- mixmastamyk 8y agoOnly the leading space is important and editors take care of it when you hit the tab key.
- ComputerGuru 8y agoOr just use a language that doesn’t have that problem, then you don’t need a magic editor.
- mixmastamyk 8y agoIt's not a problem, it's a lot simpler than typing matching braces everywhere. Python is one of the easiest languages to learn.
- simion314 8y agoI am not the person you replied but in C style syntax when you type { in an IDE the { is inserted automatically so there is no risk to forget about it, also if you copy paste a piece of code you just run the action to reformat the file or the selected code and the braces will correctly fall onto place. I am not saying that Python syntax is a big issue, but is one more thing to keep in mind and it potentially trip up children(probably something more visual that is impossible to make syntax errors is better but I did not find something that is engaging enough)
- mixmastamyk 8y agoHis point was about not needing a "magic" editor. Neither does python, it works with spaces or tabs as long as you are consistent, and tells you where you aren't.
- simion314 8y agoMy point is that if I define a metric for easier to use by a beginner programmer (child) then C syntax > Python syntax If you define a different metric, maybe pretty syntax then it would compare in reverse. Though I don't have experience or seen people testing this on children and "proving" that having to keep in mind spaces/tabs is harder then the braces and semicolumns (when using a decent IDE) so I may be wrong.
- stormking 8y ago> My point is that if I define a metric for easier to use by a beginner programmer (child) then C syntax > Python syntax That's pure speculation, not a fact.
- simion314 8y agoMy speculation is based on the FACT that python syntax involves the programmer to indent correctly where C like syntax is not , so the only way you could disagree is that maybe 1 the cost of keeping indentation in mind for beginners is 0 2 or the cost is greater then zero but there is some different cost in C like syntax that affects beginners Keep in mind I am talking about syntax here and not the C language
- knicholes 8y agoIf a kid can understand a for loop, I think the kid should be able to understand indentation.
- ComputerGuru 8y agoHardly. One you can see, one you can't. And that's without accounting for the real cause for consternation: tabs vs spaces, and tabs being magically changed to spaces or vice versa because of your too-smart-but-not-smart-enough editor.
- mixmastamyk 8y agoAs mentioned previously, Python warns about inconsistent indentation. Also, I learned programming at age 12 and understanding indentation didn't take more than a few seconds.
- kyleperik 8y agoIf you use a nice text editor, whitespace shouldn't be an issue. Even with any other language, you would want to show them how and why to indent. If it becomes an issue, they may be writing code that's too complicated. In other words, I think a child will more easily learn about indentation, than handle writing flat code, which can get difficult to understand pretty quick
- simion314 8y agoYou did not mentioned if you teach python to kids, things that are intuitive to us are not for them, yesterday I was working with my son on Physics exercise, something like how much Km are 1234cm (we are using metric system here) and in all similar exercises he did everything reversed, like a few centimeters are a few millions of Km which is obvious absurd but it was not easy for me to make him understand(plus the teacher at school). My point is that something that is obvious and simple for us for someone else makes no sense(he is 12 and I don't have experience teaching other children), For now I gave up on teaching coding to him, maybe he needs to grow a bit more to understand the abstract thinking required.
- core-questions 8y agoThis is why extremely rapid feedback is the key to learning for these kids. BASIC and Logo have a decades long proven track record for your first language as a child. Python is something a highschooler or talented middleschooler could maybe pick up, but it's not suitable for a 6 year old unless they have a very strong driving personal interest. When you're trying to get your kid into something that doesn't come naturally, they're more liable to give up quickly if they can't make rapid strides.
- setr 8y agoThat just sounds like a direct result of not memorizing the prefix orders; not of anything related to actual understanding (or failing thereof). What happens if you give him a reference sheet? (I have little experience teaching kids but I’m a firm believer in that the only good test is one where all the puzzle pieces are provided; its the composition thats worth testing, knowing the pieces by heart is just to speed things up)
- Kadin 8y agoPython seems like a nice update to what BASIC was in the 8-bit era. Real-time interpreter so you get instant feedback, including very simple imperative syntax. (IMO any introductory programming environment that doesn't let you do something like 10 PRINT BUTTS <RET> 20 GOTO 10 <RET> and get BUTTS BUTTS BUTTS... out of it is a failure to launch.) But unlike BASIC, Python will grow with you and you can use it for non-trivial projects without fighting with the language. I certainly wish my old Apple II had Python; it would have prevented the immense jump to a "real" programming language, because I kept trying to go from AppleSoft BASIC to C and banging my head into a wall, nothing about it made any sense. (Perhaps I would have had better luck going from BASIC to Pascal or QBasic, but for some reason I never thought to try it. I think because the very few computer-literate adults I knew were minicomputer people and led me to believe that C was the only thing worth learning.) Not that working up from a text prompt is the only way to learn how to interact with computers, certainly. I know a fair number of people who learned to program due to environments like HyperCard, which are much more visual, and let you start with the art and storytelling and then glue things together with code, rather than start from the code. But for some people, including myself, the feeling of interacting directly with a computer via a simple prompt, and making it do things each time I pressed the Return key, was quite powerful.
- tajen 8y agoI too regret staying for 12 years on GW/Visual Basic and never finding my path to C. How to start a programming career slowly...
- deleted 8y ago[deleted]
- dTal 8y ago>MO any introductory programming environment that doesn't let you do something like 10 PRINT BUTTS <RET> 20 GOTO 10 <RET> and get BUTTS BUTTS BUTTS... out of it is a failure to launch. But Python doesn't let you do that - there's no goto... While I'm being somewhat tongue-in-cheek, I do think it's true that while true: print("BUTTS") carries quite a bit more conceptual overhead than the BASIC equivalent, and is not exactly a "very simple imperative syntax". You don't have the simplistic and obvious "goto" - instead you have the ungrammatical and obtuse "while true". And then there's the indentation, the colon, and the parentheses around the argument to print... all explainable of course, but all requiring explanation. To fully grok it you need to understand booleans and conditions, block structure, and function calls. Of course it's all perfectly obvious to experienced eyes but remember the mountain you have to climb when you're first starting out - more than one or two seemingly inexplicable things when you're first starting out can be very discouraging. Worse, to my mind, is the loss of that small moment of enlightenment regarding complex behavior emerging from computer programs - with 10 PRINT BUTTS : 20 GOTO 10 you are composing two atomic, individually obvious statements to create something more - an infinite loop. When one of the statements is a slightly more complex line that essentially means "do an infinite loop", some of that magic is lost.
- F00Fbug 8y agohttps://www.utrgv.edu/cstem/_files/documents/snake-wrangling.pdf https://www.utrgv.edu/cstem/_files/documents/snake-wrangling...
- AzMoo_ 8y agoI run a Python user group for my city and there's a number of people who teach python to kids there. One tool that's gained a lot of traction is Pythonista (http://omz-software.com/pythonista/ http://omz-software.com/pythonista/) which kids can use to code graphical games directly on an iOS device. Code Like a Girl introduces python to kids 8-years old and up as well. Personally I've had lots of success teaching python to my 12-year old step daughter. She's being taught javascript at school through App Lab and hasn't found the transition to be particularly difficult.
- simion314 8y agoThank you for the links , I will check/try Applab in weekend, I do not have iOS so I can't try the other app.