How are formal semantics used in programming?

What is the best computer programming language that could be used to teach kids programming in primary schools?

  • Please explain why this particular language and if you've chosen a language that is used in education (like Logo) please explain your reasons (and vice versa if you've chosen a language that is used in the industry).

  • Answer:

    A nice graphical language like Scratch is a good choice. It provides both visual and textual cues to what's going on, which is very useful for beginners. Additionally, the environment is set up so that you can get cool results—like pretty automatically generated pictures—with minimal fuss, which lets you keep the kids motivated. I think that http://byob.berkeley.edu/ from Berkeley, which is an extension of MIT's Scratch, is a particularly good choice. It was developed in part by Brian Harvey, who was easily the best educator I've ever met. He used it for a very gentle introductory class targeted at non-majors, which tried to impart the beauty of CS on people with no programming experience. It is also used for a proposed new AP CS course. It should be reasonably easy to retarget much of that existing material at an even younger audience.

Tikhon Jelvis at Quora Visit the source

Was this solution helpful to you?

Other answers

I Would suggest Python. It sufficiently abstracts many things like pointers, arrays and memory allocation and is quite easy to read, almost like pseudocode. Python also forces people to use proper indentation. I helped grade homeworks in a PHP class and a lot of students didn't bother to use proper indentation. The code often consisted of a single column. In addition to all that, Python allows functional and object oriented programming styles. No need to switch to another programming language when you start teaching OOP.

Mario Magdic

Honestly, I wouldn't choose a language at all. I would choose Scratch to teach first, and then if students showed interest in the subject they could progress to Python, C++, or web development lanuges like CSS, HTML, or Javascript. Scratch is a program that teaches the fundamentals of programming such as variables and decision statements to make animations, games, and other small projects. Here's a link: http://scratch.mit.edu/

Anonymous

Scratch, or Logo. Be wary of Logo's power - one might think it's simply a turtle graphics tool but it builds and paves the way for powerful programming concepts. For instance, you wouldn't believe me, and you'd have to try it to see it, but you can write recursive functions and build data structures in Logo!

Arvind Badri

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.