Jump to content
IGNORED

"Alice" - from Carnegie Mellon; has anyone looked at this?


almightytodd

Recommended Posts

A recent "Prime Time" television program on ABC featured Randy Pausch, a professor of computer science who is dying from cancer. While the TV program focused on his outlook on life, and his delivery of his philosophical "Last Lecture", his story also brings to light a method of teaching programming concepts that is a part of his legacy.

 

There is a promotional video and demonstration here: http://www.alice.org/index.php?page=what_i...e/what_is_alice

 

<rant>

The promotional video quotes statistics such as "Incoming computer science majors declined more than 60 percent between 2000 and 2004". They are trying to make the case for the way computer science is taught. However, I think the fact that
unemployment
among college-educated professionals (...the majority in technical or technical management fields) increased by
300%
during that same period might have had something to do with that. Also, the Bureau of Labor Statistics estimates for the most in-demand professions shifted from having three computer-related careers in the top-10 in 1999 to
NO
computer-related careers by 2002. The computer-related careers were replaced by increased demand for such exciting careers as waiter, cashier, nurse, and elementary school teacher.

 

This is all rather personal for me as I, as well as my two college-educated younger brothers, were all unemployed for a good portion of 2002.

</rant>

 

Anyway, the Alice programming environment teaches object-oriented programming concepts by being coupled to 3D rendered visual environments with objects in them. The programming is done by dragging and dropping instruction constructs into a sequencer, and making selections of numeric values from drop-down lists. This makes it so the student "can't make a mistake", which is apparently supposed to reduce the frustration associated with learning programming in traditional ways.

 

I'm wondering about the source of the rendered environments. If there are tools to create these included in the Alice system, it might be useful for prototyping Atari type games by creating simple graphics to be manipulated from an overhead view. Doing that might even be useful for teaching the concept of separating presentation from program logic; the same logical control "engine" should work for moving objects in the same way, whether they are immersed in a 3D rendered world, or simple two dimensional objects viewed from overhead.

 

Any thoughts?

Link to comment
Share on other sites

Any thoughts?

 

The demo movie of Alice reminds me of Logo, a 1980's application that allowed you to move a turtle to draw things; you could rotate the turtle in what ever direction you wanted as well as moved forwards/backwards(?) to draw pictures. I know that's not what Alice is about though.

 

I think that when you create a tool for development of the logic of an application (whether it be for game development, or otherwise), if you restrict the user so they "can't make any mistakes" (or at least not any syntactical ones) the developer will soon tire of the tool. On the other hand, if you provide them full flexibility, but it takes too much work to produce results, then that solution will likely be avoided. However, if you just provide a high-level language environment where the developer can make mistakes, has a good level of control for almost anything you want to do with it, but can develop efficiently, that tool/language will eventually win out (assuming it is acceptably robust, etc. and becomes commonly used).

 

In the 80's there were a few applications, Garry Kitchen's GameMaker and Arcade Construction Kit, which would let you develop games in a structured environment, and that was pretty fun. But after a while I always got bored because of their limitations. I spent many more hours back then programming in BASIC, because I could develop things quickly and it was pretty wide-open. I started going down the road at the time of getting into assembly/machine language, I could never get into it (when things get to a low enough level, my brain stops making sense of it, unfortunately).

 

After somewhat of a hiatus of programming for several years after, I got into Java, which I found was a very powerful language, but high enough level to make sense of it.

 

I've had jobs where I dealt as a developer with workflow UI applications to handle login and they ended up eventually being rejected because they make it harder to get the work done.

 

In some cases the application can make it easy and provide some structure/restrictions on part of its development while still allowing you to customize it with your own code/services. As long as the application has the right balance in such a scenario, it can be wildly successful (like SalesForce for example which started off with a webbased software as a service where you could define/remove fields/move some fields around in the CRM, etc. but also provided an API into their application and the ability to link off to your code to then in turn call their API to do whatever you wanted, almost. It evolved a lot since then, but the reason it had that flexibility is a primary reason it was so widely adopted, even if it was a bit clunky at times).

 

But back to game development, I think for the near future, using a high-level language will continue to work best for freeform development and game development, in-general. The general approach that works best is for the tool to help you work more efficiently, but not *force* you to do things the correct way. Good IDEs like IntelliJ IDea do this, and high-level languages that aren't *too* high-level like Java are great.

 

For 2600 development at the moment, I think bB (batari Basic) is the best choice considering this.

Link to comment
Share on other sites

I have used Alice, and didn't like it. I'll skip the long review, and I like GameMaker 7 a lot more. Easier to use and understand, much more so than Alice. I get the feel from it that you are supposed to be taught stuff in a classroom environment to use it effectively. On my own, I was able to get GM7 to do much more ( I didn't take the Alice class).

 

Nathan

Link to comment
Share on other sites

It might be pretty good once the Sims stuff is added:

 

http://www.atariage.com/forums/index.php?s...t&p=1367485

Wow, a thread from August of 2007... ...I guess I should probably search the existing topics before reopening one that's already been done. Along with the addition of the Sims objects, it looks like they're planning on integrating the Java language (...or at least provide some kind of translation/mapping of Alice constructs) to Alice, to make it more useful beyond the teaching environment. I have experience in C++, Delphi, and Java, which are all object oriented languages; so it's basically different syntaxes trying to solve the same problems. Of course, none of this is of much use in programming for Atari computers or consoles. I salute all you 6502 assembler programmers out there. That is a truly awesome skill.

Link to comment
Share on other sites

It might be pretty good once the Sims stuff is added:

 

http://www.atariage.com/forums/index.php?s...t&p=1367485

Wow, a thread from August of 2007... ...I guess I should probably search the existing topics before reopening one that's already been done. Along with the addition of the Sims objects, it looks like they're planning on integrating the Java language (...or at least provide some kind of translation/mapping of Alice constructs) to Alice, to make it more useful beyond the teaching environment. I have experience in C++, Delphi, and Java, which are all object oriented languages; so it's basically different syntaxes trying to solve the same problems. Of course, none of this is of much use in programming for Atari computers or consoles. I salute all you 6502 assembler programmers out there. That is a truly awesome skill.

 

You should really give batari Basic a try if you're interested in programming for the 2600. If you can do C++, Delphi, and Java then you can definitely handle it. It takes a little bit of "unlearning" of OO concepts to get back into procedural mindset, but isn't hard. The forum for that is here: http://www.atariage.com/forums/index.php?showforum=65

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...