Re: [Pythonedu-wg] A new, kid-friendly Python editor - big buttons / other features
Here are my thoughts – I’ve trimmed some of the quotes to reduce the size of the email (although it’s still very long).
“I am afraid that I am not convinced that Puppy is heading in the right direction though. Has anyone asked kids what they want - perhaps at the recent UK Pycon? It might be that I am simply out of synch with the group (if so I will just back out politely and wish you all good luck) but I do not see there being a very large group of students around the world that want a really paired down editor with big icons: I don’t think there are many 8 year olds that actually could or should be learning Python. 10 and 11 year olds are already used to more sophisticated interfaces than Puppy”
I think it’s difficult to ask someone that is just starting in programming what they need and they honestly don’t know. They wouldn’t be able to tell you what features they would like as they don’t know enough about what they will do. It is however possible to see when children are getting confused around the current interface and that provides a basis that can reduce the barriers to entering programming.
The current interface of IDLE is confusing and does get in the way of them learning programming. It’s not just the children that struggle with this either, the parents do too. I spent a few minutes explaining the different windows to one parent at Pycon UK on Saturday who was unable to help their child as they were confused.
Regarding the size of the buttons, I don’t think the buttons need to be particularly big, but what is needed is to limit the number of buttons and make it easy for them to know which button does what. For example there should be just one button for RUN and not have to know it’s Run Module rather than Run Shell.
“Thinking student first though, we would realise that font size buttons are for the teacher not the students, therefore this facility should be included and made easy for teachers to implement but probably in a View menu and with sensible shortcut keys.”
Font size is useful for several people. Clearly it makes it easier for the teacher when projecting on a screen, but it’s also useful for children with a visual impairment, or just to make it easier when pair programming. Being able to shrink the size is good when you start writing longer programs as it allows one to easily see the rest of the code to remember the variable name etc.
“My students would want help with the indent problem, therefore I would add easily accessed indent, dedent and reformat (for pasted code) buttons and insist that there are only 4 spaces allowed, no choice. Personally I would prefer a simplified frame system which also gets rid of the long line of code problem; getting rid of this problem means that students can be encouraged to use meaningful variable names with out worrying about code clutter. They would also like help with avoiding syntax errors in the first place rather than having them pointed out at run time.”
Indent is certainly one of the things that trips young (and old) programmers up, so a good consistent indent system is needed. I personally think spaces is better and would agree with that. Being able to select a chunk of code and move it to the next indent is very useful especially when copying and pasting sample code.
“There are many other things I know my students would like to see (and that I would like to see for them) but, just out of interest, their number one priority would be a deploy/share menu so that they can share applications they make with their friends and relatives on any platform without having to ask them to install Python first. Probably the hardest thing to implement!”
A good point, but potentially a conflict with Python itself. One of the benefits of an interpreted language is that the code is portable and compiling to a binary would go against that. It may make it easier to run on Windows, but then stops it working on other systems. Or you end up bundling the Python interpreter with the code which turns into a huge wasteful package. Perhaps if there was a python-lite that was just a python installer that installs Python from the web that would be a compromise, but personally I’d prefer a README file with a link to https://www.python.org/downloads/
I do think that compiling to micro:bit /codebug is a little different as that is coding for a very specific platform which has to be compiled and obviously that fits in with the educational aim.
“I would like to see a more ambitious IDE developed.”
I would also like to see a more ambitious IDE for Python, but I don’t think that would meet the aims of this list which is focussed on making it easier for those new to programming. Something that goes beyond what IDLE does but not as complex as Eclipse would be great for those looking to progress upwards from the kids editor, and useful for professional programmers, but beyond the scope of this group.
“Really sorry if I have offended anyone. (I know some people have already put in a lot of work.)”
I’ve not been involved in the development work, but I don’t think your email should have offended anyone. I do think you raise some good points, I think there are many that would prefer a more advanced editor.
Personally I think that the current suggestions are good and have a realistic chance of being implemented within a reasonable time.
“I think my problem comes down to this: Is this group going to be focussed on producing only what can be done by a group of enthusiastic but time-limited enthusiasts or is it able to, within a year say, create something that is as professionally produced for students as the many commercial tools available to developers?”
I don’t think it’s about commercial funding vs volunteer effort. There are a huge number of open source projects that have never had any commercial funding, but are every bit as professional as commercial software. Many of the tools I use for development are based upon open source non-commercial software.
-- Stewart Watkiss @stewartwatkiss @penguintutor http://www.penguintutor.com
participants (1)
-
stewart@penguintutor.com