PDA

View Full Version : The easiest way to learn how to program



T.Jackson
- 3rd April 2008, 12:33
I'm learning an educational programming environment called "Alice" at the moment for uni. Alice allows you to build 3D programs by dragging & dropping items as apposed to written syntax. I think this is a fantastic way to learn object orientated programming. Alice is free and can be downloaded here; http://www.alice.org/ I think this is definitely the future of programming in many years to come.

T.Jackson
- 3rd April 2008, 12:55
Sorry, make that "object based" programming.

mackrackit
- 3rd April 2008, 12:59
From the web site

Alice is a freely available teaching tool designed to be a student's first exposure to object-oriented programming.
I think you were correct the first time.

This looks like fun. Might be the thing for one of my kids. Thanks!

T.Jackson
- 3rd April 2008, 13:16
From the web site

I think you were correct the first time.

This looks like fun. Might be the thing for one of my kids. Thanks!

Definitely not bud. Strict rules apply for any language to be classified as object orientated. This includes having polymorphism and inheritance traits. Wikipedia confirms this. Alice is object based at best. OOP was a typo.

T.Jackson
- 3rd April 2008, 13:44
Differences between the two: http://stason.org/TULARC/software/object-oriented-programming/1-15-What-Is-The-Difference-Between-Object-Based-And-Object.html

Alice has taught me nothing about inheritance or polymorphism yet, but I'll keep at it (might be there somewhere) :D

rhino
- 3rd April 2008, 18:13
This includes having polymorphism and inheritance traits.

FYI, I found this at alice.org -

Does Alice support polymorphism?
polymorphism

Unfortunately, Alice does not support this sort of functionality directly. There are a few ways around this, but they aren't nearly as elegant as the solution you're looking for. The first way to do this is to write a method external to the objects in the list (off of world) that takes an object as a parameter. If then go to any object's questions and scroll down to "other", you'll find the question called "object"'s part named "key". This question lets you any part on an object--whether it's there or not (it will throw an error if you try to reference a part that doesn't exist, so be aware of that when using it). You can then write a generalize method that takes in any given chicken and has it look for food. If you don't want to deal with the "part named" question, then the other option is to write a similar function but use if/else statements to determine which chicken is passed in.

T.Jackson
- 4th April 2008, 05:57
FYI, I found this at alice.org -

If then go to any object's questions and scroll down to "other", you'll find the question called "object"'s part named "key". This question lets you any part on an object--whether it's there or not (it will throw an error if you try to reference a part that doesn't exist, so be aware of that when using it).

Thanks for pointing that out. Has a sort of like "instance of" function I guess. It's quite confusing the way that's worded, seems like there's missing words or something.

rhino
- 4th April 2008, 17:46
It's quite confusing the way that's worded, seems like there's missing words or something.
No kidding! None the less.... I downloaded Alice storytelling for my 12 yr old and he loved it. He's never been exposed to any programming, except the stuff I do around the house. (Which nobody in our household finds cool, but me) He would have been working with it until midnight if we let him. I'm hoping it will give him a foundation for programming even if he doesn't realize it. Thanks for posting the link!

T.Jackson
- 5th April 2008, 04:44
No kidding! None the less.... I downloaded Alice storytelling for my 12 yr old and he loved it. He's never been exposed to any programming, except the stuff I do around the house. (Which nobody in our household finds cool, but me) He would have been working with it until midnight if we let him. I'm hoping it will give him a foundation for programming even if he doesn't realize it. Thanks for posting the link!

No problems. I certainly feel very good knowing that I've made someone happy. Shame the project is no longer being updated.

mackrackit
- 5th April 2008, 05:33
I have three kids playing with this. They think it is much more fun than blinking LEDs :eek:
Thanks for sharing it Trent.

But I wonder what you mean.

Shame the project is no longer being updated.
When I read this.
http://www.alice.org/index.php?page=alice3_progress_report

T.Jackson
- 5th April 2008, 05:43
I have three kids playing with this. They think it is much more fun than blinking LEDs :eek:
Thanks for sharing it Trent.

But I wonder what you mean.

When I read this.
http://www.alice.org/index.php?page=alice3_progress_report

No problems. Opps, I think I jumped the gun with that statement about it no longer being updated. The splash screen is dated 2005, so an assumption was made.

mackrackit
- 5th April 2008, 05:59
No problems. Opps, I think I jumped the gun with that statement about it no longer being updated. The splash screen is dated 2005, so an assumption was made.
Well I would have been disappointed if you were correct. I can see this being I will use with my kids even if they did stop development.

Another interesting thing. The system requirements state Win 200, XP, Vista. Storytelling Alice also runs on Win98. The box has a 266mhx cpu and 96 mb ram.

Now I know what to do with my junk pile. I will soon have the neighbor hood kids busy.

T.Jackson
- 5th April 2008, 06:18
Very impressive -- definitely part of what the future holds. Unfortunately Alice isn't a commercial programming language, it's purely intended to be an educational "tool".

mackrackit
- 5th April 2008, 06:30
Very impressive -- definitely part of what the future holds. Unfortunately Alice isn't a commercial programming language, it's purely intended to be an educational "tool".
Thats what I mean. Set up a few of these old machines, haul then to the local library (not allowed to install programs on theirs) and have kids come in and play. The librarian is cool with it too.


The only thing I hope to gain personally from it is a little more floor space in my shop. :D

T.Jackson
- 5th April 2008, 06:33
Here's another one similar to Alice except that it's more specific to games rather than just an educational tool. Game maker can create standalone executables. http://www.download.com/Game-Maker/3000-2121_4-10070683.html

Personally, I prefer written syntax, probably because I've been programming for so many years and have become a bit "stuck in my ways", and I find visualizing written syntax problems far easier. Once again -- probably because I've been programming for so long.

But yesterday I finished my first assignment for Alice, hoping for a good mark :)

mackrackit
- 5th April 2008, 06:45
Personally, I prefer written syntax
Me too. Command line on my linux boxes are my friend.:)
But seems like most young people these days need the visual.

T.Jackson
- 5th April 2008, 07:25
I reckon it'll be many years before Alice like programming becomes commercial and widely accepted as the way of doing things. Game Maker has a hybrid like schema whereas you can use a combination of drag-and-drop plus written syntax. I think this is the way to go.

mackrackit
- 5th April 2008, 07:40
I reckon it'll be many years before Alice like programming becomes commercial and widely accepted as the way of doing things. Game Maker has a hybrid like schema whereas you can use a combination of drag-and-drop plus written syntax. I think this is the way to go.
I don't know... rhino might think differently with his ladder logic Rockwell icon.
http://www.ab.com/programmablecontrol/plc/pico/picosoftpro.html

T.Jackson
- 5th April 2008, 07:58
Like anything I guess -- there has to be a business need for it to begin with (this is the first part of the SDLC -- Software Development Life Cycle), and secondly it takes time to catch on. Won't be easy getting so many people to switch over from product that they're already satisfied with. Costs big money to have people retrained. Alice will remain a toy for at least the next decade.

rhino
- 7th April 2008, 05:04
I don't know... rhino might think differently with his ladder logic Rockwell icon.

I certainly think there is a time and place for it. For example... the ladder logic, designed specifically for electricians. I haven't met one yet who hasn't taken to it and wanted to learn more about programming with it. But on the other hand, to me.... it "feels" like you have more power at your disposal in a syntax driven environment. Not sure that's true in all cases.