Just wondered which computer language is best suited for preteen students. Any ideas or experiences?
I recommend telling pre-teens to leave their laptops, pcs, macs, ipads, ipods, smartphones in the box and going out to play with their friends. Eat some mud, climb a few trees, chase some cars. If my kid wanted to sit at his computer for hours at a time at the age of 12, I'd have banned him from using it and have given him a rugby ball and told him to go out and not come back until it was dark. If kids want to learn a little bit about programming later on fine, but I'd want to ensure that they were able to socialise and not be the last person to get chosen when two kids pick teams in their PE lessons. My 2p.
diafol
Keep Smiling
10,675 posts since Oct 2006
Reputation Points: 1,632
Solved Threads: 1,514
Skill Endorsements: 57
I would definetely say Flash AS2. The absolute most important part is that the students are motivated, and flash allows you to be very creative with just a basic knowledge of math. I got into programming through AS2 when I was about 12, and then started C++ a year later, which to my surprise had very similar syntax to flash actionscript. AS2 doesn't give annoying errors which will put off students, its flexible, and good practice. Since then, I've had a passion for programming because I see it as a form of art, not just a school subject.
Having now started at university, many people who have never programmed before are being forced to learn programming through dull Java console applications, it takes away the good enthusiasm I usually have when programming.
William Hemsworth
Posting Virtuoso
1,591 posts since Mar 2008
Reputation Points: 1,429
Solved Threads: 130
Skill Endorsements: 8
A good teacher can keep students interested regardless what programming language they have to use.
If I would have to teach children, I would most likely use Python because that has a turtle module (LOGO like).
vegaseat
DaniWeb's Hypocrite
6,478 posts since Oct 2004
Reputation Points: 1,447
Solved Threads: 1,612
Skill Endorsements: 37
Our education system is getting a shake up with the Computing GCSE qualification (14-16 year olds) with programming being based around Greenfoot (Java based). Anybody have any experience of this? Any thoughts?
diafol
Keep Smiling
10,675 posts since Oct 2006
Reputation Points: 1,632
Solved Threads: 1,514
Skill Endorsements: 57
On the Python front there could be worse things to do than to check about Sugar on sugarlabs.org.
http://sugarlabs.org/
In addition to being Python based and open source (ever listened "read the source"? And Python source is really easy to read when done well) there is also the Smalltalkish
Etoys on the stick.
Hope my brains are not completely destroyed from starting with assemlyrish (Had no money for printer and display was numbers only) keycode language of TI58C programmable calculator and GOTO style BASIC. ;)
pyTony
pyMod
6,312 posts since Apr 2010
Reputation Points: 879
Solved Threads: 987
Skill Endorsements: 26
Ene Uran
Posting Virtuoso
1,830 posts since Aug 2005
Reputation Points: 676
Solved Threads: 255
Skill Endorsements: 7
Java with its forced OOP is suited for simple stuff for children.
Python has been mostly used to solve adult scientific problems.
Lardmeister
Posting Virtuoso
1,939 posts since Mar 2007
Reputation Points: 465
Solved Threads: 72
Skill Endorsements: 5
Lardmeister
Posting Virtuoso
1,939 posts since Mar 2007
Reputation Points: 465
Solved Threads: 72
Skill Endorsements: 5
I started scripting around the year 2000. I had been a professional programmer for around 25 years. None of my code required a user interface and the ability to inspect/modify code at three in the morning was critical so vbScript filled the bill. It was free and required no special IDE. Had I known about Python at the time I might have used it instead of vbScript. Using Python as implemented today I could have cut my programming time in half and my consumption of antacids by even more.
However, that was because my apps required no GUI. Developing apps in Python requiring a GUI is painful in the extreme. Using wxPython, everything must be done by hand and little of it is intuitive. Developing a GUI in VB.net on the other hand is almost trivial in comparison.
Based on my experience, Python is an outstanding first language and it maintains its appeal even to veteran programmers. But if your goal is to develop any kind of serious GUI, be prepared to invest a lot of time in learning details which you should not have to be concerned about.
Reverend Jim
Carpe per diem
3,623 posts since Aug 2010
Reputation Points: 563
Solved Threads: 452
Skill Endorsements: 32
Based on my experience, Python is an outstanding first language and it maintains its appeal even to veteran programmers. But if your goal is to develop any kind of serious GUI, be prepared to invest a lot of time in learning details which you should not have to be concerned about.
A conclusion I don't agree with. IMO you are not comparing languages but the tooling support. There isn't anything inherent in VB.NET or Python as a language which makes one superior over the other when it comes to developing UI's. It's just that the tooling support for VB.NET is excelllent (Visual Studio) which makes it a breeze to create UI's. If you want to experience something similar with Python, take a look at Nokia's Qt (with QtCreator) and the corresponding Python bindings (PyQt and Pyside). Sure, the experience might not be the same as Visual Studio but is pretty decent when compared to creating UI's by hand.
~s.o.s~
Failure as a human
12,220 posts since Jun 2006
Reputation Points: 3,307
Solved Threads: 783
Skill Endorsements: 55
The only GUI development I have done using Python was with either wxPython or Tkinter. I may be mistaken but I believe you have to by QT, whereas Visual Studio Express is free. The first actual GUI app I developed was a Load Advisory Program for our control centre (in C under OS/2). No tools, and all GUI elements had to be coded by hand. It was brutal. In my opinion, the tools you use to develop programs are at least as important as the underlying language. Few would be developing VB.net apps with GUIs without using an environment that removes the grunt work of placing visual elements, or an interactive debugger that supports breakpoints and step-by-step source level debugging.
Nice to see you back. I hope the move went well.
Reverend Jim
Carpe per diem
3,623 posts since Aug 2010
Reputation Points: 563
Solved Threads: 452
Skill Endorsements: 32
My original point was that I think Python is an excellent language that, if I had been aware of it twelve years ago, I would have used instead of vbScript. It would have saved me countless hours of development. I think it is an excellent language for beginners as well as seasoned professionals. My second point was that unless you are willing to pay for something like QT, developing a GUI based app in Python can be daunting. At least that was the case for me.
You seem to feel that VB apps are to be frowned upon. I fail to see why a well written application in any language should be looked down upon. I believe Sturgeon's Law still holds. Ninety percent of everything is crap. That applies equally to VB, C, C++, even Python. Blame the programmer, not the platform.
In any case, we are probably getting off topic.
Reverend Jim
Carpe per diem
3,623 posts since Aug 2010
Reputation Points: 563
Solved Threads: 452
Skill Endorsements: 32
pySide is free even for commercial use. I was judging winner of programming contest as high school student in summer camp 1982, as I was then not inspired to code there, but concentrated on learning Lisp from book. There was 8085 assembler functional game and half finished program in QBasic, whose idea of structured programming was GOSUB 3000. That Basic code was commented however so nicely, that we where impressed more of it than nearly uncommented pages of assembler. So you can really do good programming in almost any language.
pyTony
pyMod
6,312 posts since Apr 2010
Reputation Points: 879
Solved Threads: 987
Skill Endorsements: 26
I may be mistaken but I believe you have to by QT
Jim, Qt has dual licensing of which one is LGPL which in turn in quite suitable for developing proprietary applications. The Python binding for Qt, PySide is again licensed under LGPL so developing with Qt (QtCreator) + PySide doesn't cost you anything. But I do agree that it doesn't buy you a lot if you are conversant with VB.NET and are free to use your language/tools of choice.
The first actual GUI app I developed was a Load Advisory Program for our control centre (in C under OS/2). No tools, and all GUI elements had to be coded by hand. It was brutal
TBH, I have always found UI development to be a bit brutal with varying levels of brutality depending on the toolkit you use. The trick IMO is to get into a comfortable zone with a few of them to the point that the quirks end up looking like features. ;)
Nice to see you back. I hope the move went well.
Yup, feels good to be back! :)
~s.o.s~
Failure as a human
12,220 posts since Jun 2006
Reputation Points: 3,307
Solved Threads: 783
Skill Endorsements: 55
I'll check out the LGPL version of QT in September when I get back from the cottage. A 1.7 gig download is a tad large for summer bandwidth. Thanks for the suggestion.
Reverend Jim
Carpe per diem
3,623 posts since Aug 2010
Reputation Points: 563
Solved Threads: 452
Skill Endorsements: 32