Difference between revisions of "languages for learning programming"
Jump to navigation
Jump to search
(→Links) |
(→Overview: BASIC links) |
||
Line 1: | Line 1: | ||
=={{hide|navbar}}== | =={{hide|navbar}}== | ||
[[computing]]: [[software]]: [[programming]]: [[programming languages|languages]]: [[languages for learning programming|for learning]] | [[computing]]: [[software]]: [[programming]]: [[programming languages|languages]]: [[languages for learning programming|for learning]] | ||
+ | ==Related Pages== | ||
+ | * Flawed as it is, [[BASIC]] remains the classic "language for teaching programming" (especially for kids); several free, full-featured versions are now available (some with source code). | ||
==Overview== | ==Overview== | ||
There is a need for a programming language and environment that is suitable for teaching beginners – including children – to program. | There is a need for a programming language and environment that is suitable for teaching beginners – including children – to program. | ||
Line 6: | Line 8: | ||
Some key features: | Some key features: | ||
* (Ideally) Available pre-installed on all popular [[operating systems|OSs]]; next-best would be availability for free on the internet, in versions pre-compiled for all popular OSs | * (Ideally) Available pre-installed on all popular [[operating systems|OSs]]; next-best would be availability for free on the internet, in versions pre-compiled for all popular OSs | ||
− | * BASIC-like in certain ways: | + | * [[BASIC]]-like in certain ways: |
** must have an "interactive" mode, where you type a line and the computer immediately executes your instructions | ** must have an "interactive" mode, where you type a line and the computer immediately executes your instructions | ||
** must have simple graphics ability readily available (where "readily" can be defined as "you can plot a pixel in a single line of code, where lines which include external libraries count as additional lines of code") | ** must have simple graphics ability readily available (where "readily" can be defined as "you can plot a pixel in a single line of code, where lines which include external libraries count as additional lines of code") | ||
Line 14: | Line 16: | ||
See also Wikipedia's [http://en.wikipedia.org/wiki/Educational_programming_language Educational Programming Languages] page, which has a few more choices than mentioned below. | See also Wikipedia's [http://en.wikipedia.org/wiki/Educational_programming_language Educational Programming Languages] page, which has a few more choices than mentioned below. | ||
+ | |||
==Resources== | ==Resources== | ||
* [http://www.quitebasic.com/ QuiteBasic]: BASIC on the web; created in response to [[David Brin]]'s "Why Johnny Can't Code" article | * [http://www.quitebasic.com/ QuiteBasic]: BASIC on the web; created in response to [[David Brin]]'s "Why Johnny Can't Code" article |
Revision as of 16:34, 1 January 2007
computing: software: programming: languages: for learning
Related Pages
- Flawed as it is, BASIC remains the classic "language for teaching programming" (especially for kids); several free, full-featured versions are now available (some with source code).
Overview
There is a need for a programming language and environment that is suitable for teaching beginners – including children – to program.
Some key features:
- (Ideally) Available pre-installed on all popular OSs; next-best would be availability for free on the internet, in versions pre-compiled for all popular OSs
- BASIC-like in certain ways:
- must have an "interactive" mode, where you type a line and the computer immediately executes your instructions
- must have simple graphics ability readily available (where "readily" can be defined as "you can plot a pixel in a single line of code, where lines which include external libraries count as additional lines of code")
- simple, non-picky syntax (syntax error messages should be informative and on-target, to reduce the learning curve)
This need has been brought up in different contexts and discussed a fair amount; for now, I'm just going to post some links. --Woozle 21:27, 14 September 2006 (EDT)
See also Wikipedia's Educational Programming Languages page, which has a few more choices than mentioned below.
Resources
- QuiteBasic: BASIC on the web; created in response to David Brin's "Why Johnny Can't Code" article
Languages for Kids
- Alice
- BASIC-256 (formerly KidBASIC), also inspired by "Why Johnny Can't Code"
- Logo
- references: CS for Kids
- Python
- references: Python for Educators | Python: A Multimedia Approach | Python Bibliography | PyroLiveCD
- Ruby
- Scheme
- references: Dr. Scheme | How to Design Programs | Teach Scheme Project
- Squeak Smalltalk
- references: Squeakland | FreeDuc LiveCD with Squeak
Links
- 2003-10-14 Teaching Kids to Program by Joshua Marin
- 2005-2-20 Teaching My Kids to Program by Don Box
- discussion: lambda the ultimate
- 2005-2-26 It's Down to Scheme or Logo by Don Box
- 2006-09-14 Why Johnny can't code by David Brin
- discussion: |slashdot| |Contrary Brin|: the latter includes a suggestion to use Python in a particular configuration; perhaps this configuration could be preconfigured and packaged?
- A Very Quick Comparison of Popular Languages for Teaching Computer Programming
- Kid's Programming Language: free, but requires Microsoft Windows
- Phrogram: free version; also a commercial version that supports add-in libraries, requires Microsoft Windows, same team that created Kid's Programming Language
- Commodore 64 emulator (eventually, create Commodore 64 emulators page and link with emulators)