EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Isn't this all too complicated?

Mon Feb 13, 2012 2:38 pm

I came across this in another thread:

http://www.scirra.com/construc.....leases/r78

Forget that this is windows only for a moment and let me argue my point if you will...

Javascript is a pretty simple language when you get to the root of it. Hello world is like this:

alert("hello world");

Is any other language so simple, and if so is if so cross format? Javascript runs on almost anything with a browser. Linux, Mac, PC - even my blumming TV has a web browser in it and can run some of my basic javascript applications.

No input or output steams, no header files, no libraries needed and no compiling. It is also memory managed and has a similar structure to most C derived langages. You can manipulate visuals very easily with it.

The goal here is to get kids to code. Kids hate boring lines of text, word and big scary terms like  "kernel panic". Kids love games. Most of us started to learn coding because we like games or wanted to make games. Games are the answer here.

Construct 2 can work entirely drag and drop, but it teaches you the very basic logic (if, and, else etc) as well as loops and how objects work. This is more than enough for a starter, and you can edit the actual script when you get to that point if you want, but it is optional. It is the perfect way to get kids started. I suggest we contact the design team and ask them if they could do a linux version or look for a linux alternative - they must exist.

I think this is the best way forward. We do need to obscure the HTML/Markup though, kids don't need to be confused by the differences between a markup/programming language at the starting gate.
Hello!

Pirx-Danford
Posts: 62
Joined: Thu Oct 06, 2011 2:05 pm

Re: Isn't this all too complicated?

Mon Feb 13, 2012 2:40 pm

I might have been a bit unclear about game environments, so please let me elaborate on that. Oh and of course I am only speaking for me, from my point of view and from my experiences, hopefully I don't need to put this disclaimer into every posting

Essentially what I mean are fake environments.

Back in school in many subjects like math, chemistry and physics the teachers intentionally used "simpler" explanations for teaching the materials we were supposed to learn. The intention was to first make it easy and later maybe give the full explanation, when we were "smart enough" to understand the real facts.
In reality we had to completely relearn stuff, first that was we learnt before was wrong and then that the real explanation was completely different.

[Sarcasm]The good lesson we kids got from that was that adults are lying very often and are too stupid to understand the massive contradictions between the wrong (easy) explanations and the right explanations.[/Sarcasm]

So what I want to say is if you want to learn coding you want to learn with real tools not with fake ones. This will only hinder your abilities later on.

To make the introduction to and accessibility of environments like Eclipse easier to get into would be pretty gainful for all sides involved - students as well as us coders in the wild.

A faked shell scripting language would be as bad... or maybe even a teacher seriously teaching with the lolcode language (http://lolcode.com/).

So in a nutshell my point of view is that the whole premise of providing an "easier way" by dumbed down explanations or unrealistic environments might be meaning well but is a completely and utterly wrong approach.

Alchemy
Posts: 92
Joined: Mon Jan 30, 2012 2:10 pm

Re: Isn't this all too complicated?

Mon Feb 13, 2012 2:59 pm

Pirx Danford said:


So what I want to say is if you want to learn coding you want to learn with real tools not with fake ones. This will only hinder your abilities later on.


Thanks for explaining where your beliefs come from. I'm not sure I know where mine come from.

But before September lots of real wannabe programmers will say what they tried and if it worked. So that will tell us what works and what doesn't.

I learned on the Spectrum it seems so long ago. I feel it had no bearing at all on how I code today.

User avatar
rurwin
Forum Moderator
Forum Moderator
Posts: 4258
Joined: Mon Jan 09, 2012 3:16 pm
Contact: Website

Re: Isn't this all too complicated?

Mon Feb 13, 2012 3:06 pm

Alice is not a fake environment. Alice is Java. Albeit Java with a certain class structure predefined.

adlambert

Re: Isn't this all too complicated?

Mon Feb 13, 2012 4:01 pm

Ignoring object for a minute, most programming has input, output, loops and conditional branches. Plus the ability to declare a word that stays the same  whilst representing values that can change (variables). Each language might or might not use different words to do those things.

One small step along from that is grouping "blocks" of code together to organise your program and allow re-use. Then add to that the ability to pass data between these blocks and variable scoping.

Perhaps it is possible to  teach these principles regardless of chosen language?

I mean on a more codeish level than just flow-charts.

Being able to think a complex program in your head that has multi-object instances and multi threads and things are happening in micro-seconds is a discipline that comes with practice. We work up to these things with experience, just like learning a musical instrument and we raise expectations of new programmers that they will be running ahead of walking.

Alchemy
Posts: 92
Joined: Mon Jan 30, 2012 2:10 pm

Re: Isn't this all too complicated?

Mon Feb 13, 2012 5:17 pm

adlambert said:


We work up to these things with experience, just like learning a musical instrument and we raise expectations of new programmers that they will be running ahead of walking.


Phase 1) teach basics statements, flow, structure, programming is fun.

Phase 2) complex algorithms everyone knows, programming your own ideas.

Phase 3) Getting  age 10 programmers to not stop. So they become masters.

Phase 3 requires the schools continue to use technology in projects. Or the parents who were poor are now rich and can afford 3D printers and robot kits( Yeah I can see phase 3 being difficult not going to lie. )

sisk
Posts: 32
Joined: Thu Jan 12, 2012 5:04 pm

Re: Isn't this all too complicated?

Mon Feb 13, 2012 5:33 pm

A little background here: I've been a programmer for about 10 years now, when I got my start by jumping head first into a chat room written in Perl. Over the years I've learned half a dozen languages and have written programs for Windows, Linux, and, more recently, Android.

Allow me to assure you that Linux is nowhere near as difficult to use as its reputation would have you believe, especially not now that several major distros have been focusing in improving the user experience for the last few years. As far as programming goes, it's actually easier in some ways to program for Linux than it is for Windows, but it all depends more on the language you use than the OS you're on. Python fills the role for a beginning language nicely.

andyl
Posts: 265
Joined: Tue Jan 10, 2012 11:05 am

Re: Isn't this all too complicated?

Mon Feb 13, 2012 5:54 pm

Pirx Danford said:

So what I want to say is if you want to learn coding you want to learn with real tools not with fake ones. This will only hinder your abilities later on.
To make the introduction to and accessibility of environments like Eclipse easier to get into would be pretty gainful for all sides involved - students as well as us coders in the wild.


That is just teaching a particular tool - albeit a programming tool, and not Microsoft Word - which is bad, bad, bad. It is something that we should not be advocating. Teaching someone who is in year 4 or 5 Eclipse (I'm not sure if it will run on a PI but if it does it will run like a dog) will be pointless. By the time she is 21 and ready to enter the workforce we will not be using Eclipse (or at least we will have moved on in that time).

Secondly realistic isn't just tools, but also practices, for example unit-testing etc. It is far more important to teach practices rather than tools.  Most tools can be picked up very quickly IME.

Pirx-Danford
Posts: 62
Joined: Thu Oct 06, 2011 2:05 pm

Re: Isn't this all too complicated?

Mon Feb 13, 2012 6:26 pm

andyl said:


Pirx Danford said:


So what I want to say is if you want to learn coding you want to learn with real tools not with fake ones. This will only hinder your abilities later on.
To make the introduction to and accessibility of environments like Eclipse easier to get into would be pretty gainful for all sides involved - students as well as us coders in the wild.


That is just teaching a particular tool - albeit a programming tool, and not Microsoft Word - which is bad, bad, bad. It is something that we should not be advocating.



Yeah I know this argument and I am standing on the other side of that fence.

With the stance not to pick a given tool that is used in reality you do:
1) Require the creation of a more abstract tool
2) Require the need of a complete line of documentation for that tool

While any abstract tool will probably be as outdated in relation to future software as any real tool after school ends it also will be different to use in school as out of school.

So really what I am saying is that building on existing stuff is not evil!

If Alice is basically Java in the inside than that is a beautiful example of how rewarding it could become for a student to jump over the prohibitory line. They might download the source code and change something and it will even be working in the real world. The stuff they learn in school can be applied outside as well and any benefit teaching on an abstract system to force the student to think more abstractly is greatly outshined by how much impression the transfer of learned materials will have.

I claim that anyone that has a slight knack for coding will not require being forced into abstract thinking, no that constraint will alienate them and make them take the teacher less serious.

Also having abstract tools is a weak excuse for lazy teachers not to deal with real world problems... because times are changing the abstract software is just a time capsule you enter and drag your students into as well.

Be honest about it and if you have no access to new things then you are teaching COBOL-85, which might even be great for some students cause some employers do still require this sort of knowledge! (Not a joke!)

Not teaching a particular tool is just a misconception, which if applied results in that you teach a particular tool... in the worst case one that only exists in your school and has no use in the real world at all and might even differ from any form of standard.

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Isn't this all too complicated?

Mon Feb 13, 2012 8:31 pm

Pirx Danford said:

Back in school in many subjects like math, chemistry and physics the teachers intentionally used "simpler" explanations for teaching the materials we were supposed to learn. The intention was to first make it easy and later maybe give the full explanation, when we were "smart enough" to understand the real facts.
In reality we had to completely relearn stuff, first that was we learnt before was wrong and then that the real explanation was completely different.


Personally, I think it can be extremely useful to to start with a simplified model to teach principles and then point out later when the simplifications no longer apply.  Let's takes physics for example.  In algebra class you learn distance = speed * time.  This allows you do do those nasty problems with two trains leaving two cities at different times running at different speeds and meet at a location and time to be calculated.  The Simpsons has a wonderful example of Bart trying to work through such a problem.  His teacher's command "Visualize it, Bart" only makes things worse (and funnier).

But of course distance = speed * time assumes a fixed speed.  It's really distance = integral v(t) dt.  But that's not all!  We have to adjust v(t) and t for relativistic effects if we really want the right answer.  And even that may not be correct, because relativity is only a theory.

Now for the purposes of teaching people to think about distance, speed, and time, and the more general skill of taking a physical situation and converting it into equations that can be solved, constant rate and classical mechanics are perfectly fine provided that you make it clear at some point when these approximations are appropriate.

Similarly, when you drop a ball near the surface of the Earth you can assume a constant gravitational acceleration.  It's not really true -- as you move away from the center of the Earth gravitational acceleration falls off, and if you really start booking you get relativistic effects, but you'll hit terminal velocity in the atmosphere long before that.

Now, does it really make sense to add these complications right from the beginning?  I don't think so.  It's not lying as long as you state your assumptions clearly at some point.

I'll also talk about electrical circuits.  In a first class on linear circuits, your components are resistances, capacitances, and inductances.  It's misleading to call them resistors, capacitors, and inductors, since the physical parts are actually complex circuit elements with non-linear resistance, stray capacitance, and extra (mutual) inductance on every wire.  A resistor typically increases in resistance as it gets warm, so a simple linear circuit analysis is misleading if your resistor packages can't dissipate enough heat.  But if you have reasonable voltages and currents, the linear approximations are close enough to build useful circuits.

Should all this get dumped on circuit theory students right from the beginning?  I don't think so -- the basics are hard enough without bringing in the complexities, which are hard to appreciate without first building a foundation in the basics.


So what I want to say is if you want to learn coding you want to learn with real tools not with fake ones. This will only hinder your abilities later on.


I see nothing wrong with teaching good programming practices with a language designed for it, such as Pascal.  Once you have the basics -- preferably learned with good programming practices -- picking up other languages is usually pretty simple.

TheManWhoWas
Posts: 50
Joined: Thu Feb 09, 2012 9:11 pm

Re: Isn't this all too complicated?

Mon Feb 13, 2012 9:43 pm

I do agree that ideally the language and techniques taught would be "real world", but I also think it is important to provide engaging and accessible environments.

In 1982 just owning my own computer was engaging, and it was accessible because it was so simple.

In 2012 owning a computer is commonplace, and the accessible and engaging stuff isn't programming related.

So to make more kids more interested in programming, you need to make the "output" of the programs more exciting. So in RobotC that means you write C... and then it makes a simulated 3D robot move around on Mars! Or you can download the same program to your real Lego Mindstorms and it will move around your living room!

You can save learning about databases for later.

User avatar
rurwin
Forum Moderator
Forum Moderator
Posts: 4258
Joined: Mon Jan 09, 2012 3:16 pm
Contact: Website

Re: Isn't this all too complicated?

Mon Feb 13, 2012 11:17 pm

Pirx Danford said:


If Alice is basically Java in the inside than that is a beautiful example of how rewarding it could become for a student to jump over the prohibitory line. They might download the source code and change something and it will even be working in the real world.


The instructions in Alice have a one-to-one relationship to Java lines of code, and you can program Alice in Java text by simply selecting that in the options. There is no need to delve into its inner workings.

TheManWhoWas said:

So in RobotC that means you write C... and then it makes a simulated 3D robot move around on Mars! Or you can download the same program to your real Lego Mindstorms and it will move around your living room!
But at least my Lego Mindstorms set isn't programmed in C; it's programmed in something very similar to Scratch. And Scratch has all the words and the ability to control a real robot using real motors and sensors moving around your living room, and by extension, on Mars.

What I am saying is that there are no fake languages. Every computer language is as real as any other. The only difference is how useful they are, and some are more useful than others only by reference to the situation in which they are used. Scratch is a bad language only if you want to do stuff that it is bad at. For moving objects around in two dimensions and having them interact, Scratch is a very good language and C is pretty abysmal. Of course for other jobs the situation is reversed, and some of those jobs include those where having a huge interpretive environment is a disadvantage. It may include those where you want the pedagogical ability to dive into stepper-motor control functions. But I would argue that that would be a level of detail that you only want to delve into fairly late in any course. In which case a discussion of levels of abstraction may have pedagogical value of its own.

tsetliff
Posts: 8
Joined: Sun Jan 22, 2012 7:28 am

Re: Isn't this all too complicated?

Wed Feb 15, 2012 4:53 am

Shameless self promotion of my own project http://www.raspberrypi.org/for.....n-platform

I think programming a Raspberry Pi can(and will be if I don't run into any hangups) be made a lot simpler.  If I can distribute that program as an image that you just put on the Pi, plug things in with usb, then configure with the web UI I think people can do a lot with it and never crack open a text editor.

Let me know if you want to help

MegaGumbo
Posts: 94
Joined: Mon Feb 13, 2012 4:45 pm

Re: Isn't this all too complicated?

Wed Feb 15, 2012 9:27 am

I really don"t see a difference between "our" 1980s and today"s kids. Yes, computers have become more complex. But also way more common than in, say, 1892. Not every kid back then got an interest im computers, many were just playing games. Just like today. Back then you went to user groups or joined computer clubs once you got problems with your computer or were looking for advice in coding. Today kids will probably do the same on the web. I think the big problem in the discussion here is that we resemble these 1980s kids and as today"s adults we make the same mistake our parent"s generation made with us: underestimate us and our talents. There"re teenagers coding games for mobile phones and there are teens who prefer to just play a game on their Xbox. Just like back then. I think by generally declaring something too difficult for today"s kids, we really do them wrong big time.

TheManWhoWas
Posts: 50
Joined: Thu Feb 09, 2012 9:11 pm

Re: Isn't this all too complicated?

Wed Feb 15, 2012 10:23 am

MegaGumbo said:


There"re teenagers coding games for mobile phones and there are teens who prefer to just play a game on their Xbox. Just like back then. I think by generally declaring something too difficult for today"s kids, we really do them wrong big time.


Kids today have more access to more computers and are more comfortable using them. But fewer learn to program them, and often not until they go to university.

That's not because they are less talented, or even that they don't want to know how to program. A lot of them really would like to make their own games rather than just play them, but they don't know where to start and nor do their parents, teachers or friends.

So I do think they need something that fills the gap left by the demise of the "home computers" of the 80's and I hope the Raspberry Pi can be made to be that.

Pirx-Danford
Posts: 62
Joined: Thu Oct 06, 2011 2:05 pm

Re: Isn't this all too complicated?

Wed Feb 15, 2012 10:40 am

rurwin said:


Pirx Danford said:


If Alice is basically Java in the inside than that is a beautiful example of how rewarding it could become for a student to jump over the prohibitory line. They might download the source code and change something and it will even be working in the real world.


The instructions in Alice have a one-to-one relationship to Java lines of code, and you can program Alice in Java text by simply selecting that in the options. There is no need to delve into its inner workings.

[...]

What I am saying is that there are no fake languages. Every computer language is as real as any other. The only difference is how useful they are, and some are more useful than others only by reference to the situation in which they are used.


First, sure most kids won't delve deeper into the inner workings.

But in the programming courses I was at, the tools used by the teachers always reached their learning potential very fast for me. Mind you we had no internet available back then, so the first time this happened I just sat there playing Lemmings all the time.

The second incident a few years later I was more knowledgeable and instead of doing useless things with COBOL I brought my own deveopment environment with Turbo Pascal and did useless things with that.

What I meant was also not that the coding language might be fake. The history of Pascal shows you how something that was only designed for teaching purposes can be tweaked into something that is useful beyond that. Keep in mind that the Turbo Pascal IDE by Borland was a lot better than other editors, so tools are key.

And this is what I mean with fake, very limited tools that are restrictive to the pupils.

After seeing that Alice is open source I must say this project impresses me a lot.

Sure you might say a kid must not delve into the inner workings, but imagine the nerd kid that always knows more than the teach.
This kid now is greatly annoyed by this or that thing in the editor and instead of sending this kid away to play browser games or stuff now the teacher might encourage it to have a look at the Alice sourcecode and just change it.
Thats not unrealistic by the way, I would have done it back then, heck as soon as I understood what kernel compiling was about I tried it out, just because it was possible

MegaGumbo
Posts: 94
Joined: Mon Feb 13, 2012 4:45 pm

Re: Isn't this all too complicated?

Wed Feb 15, 2012 7:28 pm

TheManWhoWas said:


MegaGumbo said:


There"re teenagers coding games for mobile phones and there are teens who prefer to just play a game on their Xbox. Just like back then. I think by generally declaring something too difficult for today"s kids, we really do them wrong big time.


Kids today have more access to more computers and are more comfortable using them. But fewer learn to program them, and often not until they go to university.

That's not because they are less talented, or even that they don't want to know how to program. A lot of them really would like to make their own games rather than just play them, but they don't know where to start and nor do their parents, teachers or friends.

So I do think they need something that fills the gap left by the demise of the "home computers" of the 80's and I hope the Raspberry Pi can be made to be that.


I agree on that, especially the guidance part. I think it's very important to help educational staff in getting familiar with the Raspberry Pi and supply them with documentation that will also help and motivate those who did not yet encounter Linux or embedded devices. And that's probably something everyone here in the forum can help with. That's also the reason I joined this forum, to try to help make the whole idea a success.

cheapskate
Posts: 9
Joined: Tue Feb 07, 2012 11:18 am

Re: Isn't this all too complicated?

Thu Feb 16, 2012 11:34 am

Well if you want really simple, try this:

http://sites.google.com/site/l...../fignition

In the spirit of us who built our ZX80/81s, this is a kit with real through-hole components.You plug it into your telly, and write Forth on it.

I got my 11-year-old daughter one for Christmas. She's currently soldering it herself, and in a few weeks she'll be able to write programs.

</proudDadMode>

User avatar
abishur
Posts: 4477
Joined: Thu Jul 28, 2011 4:10 am
Location: USA
Contact: Website

Re: Isn't this all too complicated?

Thu Feb 16, 2012 2:22 pm

cheapskate said:


Well if you want really simple, try this:

http://sites.google.com/site/l...../fignition

In the spirit of us who built our ZX80/81s, this is a kit with real through-hole components.You plug it into your telly, and write Forth on it.

I got my 11-year-old daughter one for Christmas. She's currently soldering it herself, and in a few weeks she'll be able to write programs.

</proudDadMode>



Okay first, that looks really awesome   Second kudos to you for teaching your daughter how to solder at a relatively young age!

That said, it seems like something you have to solder together might be a couple degrees more difficult than downloading a file and running a program to install the image onto an SD card (or being *really* lazy and just buying an SD card from the RPF with the image already on it).  With the image on the SD card you just put it in the r-pi and turn it on.  No installation woes, no hardware setup, just a fully operational OS ready to be used, that seems like a not at all complicated process
Dear forum: Play nice ;-)

MegaGumbo
Posts: 94
Joined: Mon Feb 13, 2012 4:45 pm

Re: Isn't this all too complicated?

Thu Feb 16, 2012 3:02 pm

cheapskate said:


Well if you want really simple, try this:

http://sites.google.com/site/l...../fignition

In the spirit of us who built our ZX80/81s, this is a kit with real through-hole components.You plug it into your telly, and write Forth on it.

I got my 11-year-old daughter one for Christmas. She's currently soldering it herself, and in a few weeks she'll be able to write programs.

</proudDadMode>



Amazing, reminds me of the Jupiter Ace (always wanted to have one). I started to learn Forth on the Atari ST reading Leo Brodies book. Never got too far though ...

error404
Posts: 351
Joined: Wed Dec 21, 2011 11:49 pm

Re: Isn't this all too complicated?

Thu Feb 16, 2012 7:10 pm

Abishur said:


That said, it seems like something you have to solder together might be a couple degrees more difficult than downloading a file and running a program to install the image onto an SD card (or being *really* lazy and just buying an SD card from the RPF with the image already on it).  With the image on the SD card you just put it in the r-pi and turn it on.  No installation woes, no hardware setup, just a fully operational OS ready to be used, that seems like a not at all complicated process


Soldering is not at all difficult. A 5 minute lesson on technique and reasonably labeled parts bags / silkscreen and anyone can do it. It is fun, new, and provides a sense of accomplishment and excitement.

I don't really buy the idea that kids will be intrigued and excited by archaic and arcane languages that are awful to use, but building their own computer from 'scratch'? Definitely. Or I know I would have been - and was, though for me it was more managing to scrape together enough XT-era modular components to build a working computer.

Very nice find, cheapskate. I hope your daughter enjoys it.

eric_baird
Posts: 37
Joined: Sun Dec 04, 2011 3:42 pm
Contact: Website

Re: Isn't this all too complicated?

Thu Feb 16, 2012 11:34 pm

Have they produced a "friendly" environment for Python yet?

You know, one that lets you run programs directly from memory without having to first save them to a specified system path or specify a filename, and with a nice big friendly button with a "play" symbol that lets you run your code?

The last few times I tried to download and install Python, some aspects of it still seemed to be a little bit 1960s. Maybe things have improved.

gimliflea
Posts: 76
Joined: Fri Nov 18, 2011 4:14 pm

Re: Isn't this all too complicated?

Thu Feb 16, 2012 11:56 pm

With Idle you have buttons and fkeys for save and run. Geany is a bit heavier but allows running without saving. Most linux distros include Python as standard so no downlaod required  I understand that on windoze it may be more difficult. With the rpi we should be easy.

Edit: this link runs it in your browser http://www.learnpython.org.

hellsing
Posts: 7
Joined: Thu Jan 05, 2012 4:11 pm

Re: Isn't this all too complicated?

Fri Feb 17, 2012 2:59 pm

I discover programming with my ti-86 and its associated manual.

Sure it was only ti pascal, and only a few command were available.

And it wasn't easy at all, so a linux with dedicated tool can't be harder.

Jaseman
Posts: 302
Joined: Tue Jan 10, 2012 12:59 pm
Contact: Website

Re: Isn't this all too complicated?

Sat Feb 18, 2012 11:20 am

Here we are 12 pages later.

To go back to the original question - No it isn't too complicated.

Return to “General discussion”