Alice Community  

Go Back   Alice Community > Alice 2 > How do I...?

Reply
 
Thread Tools Display Modes
Solutions to many problems are in Storytelling Alice
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default Solutions to many problems are in Storytelling Alice - 08-20-2007, 10:47 AM

Many of the projects that people post questions about here may be much easier to create using "Storytelling Alice" (STA) See http://www.alice.org/kelleher/storyt.../download.html to download.

Although I haven't spent a lot of time looking at it, STA provides a lot of capabilities that are not included in Alice 2.0.

For example, there are a lot more characters and scenes. In addition, there are a lot more higher-level methods for each character than is the case for Alice 2.0. There may also be some capabilities in Alice 2.0 that are not included in STA, but if so, I haven't identified them.

For example, a quick scan shows the following additional methods for the Coach character:

Custom Methods

do jumping jacks
do toe touches
cheer

Primitive Methods
walk to
walk offscreen
walk
sit on
lie down
kneel
fall down
straighten up
look at
look
turn away from
touch
keep touching
constrain to face away
constrain to point at

Apparently all of the characters have the above set of new primitive methods. Different characters have different custom methods. For example, the DewdropWillowwind character has the following custom methods:

wink
look embarassed
look happy
look angry
blink
shrug
close eyes
look disappointed
flapWings

In addition, STA has a new capability that allows you to incorporate multiple scenes into the world.

Problems

Occasionally, I am unable to get either Alice.exe or SlowAndSteadyAlice.exe to load. When that happens, I have to go to the task manager, end the task manually, and try again.

There is also a file in the Required folder named IfAliceVailsTryThis.exe.

Nothing obvious happens when I run it, so I don't know what it does.


I will be interested in hearing what others learn when they start using STA.

Dick Baldwin
   
Reply With Quote
First experience with Storytelling Alice
Old
DrJim
Guest
 
Status:
Posts: n/a
Default First experience with Storytelling Alice - 08-20-2007, 11:10 AM

I was a bit surprised to see that my experience when I first used it was essentially the same as that Caitlin Kelleher observed with her trial groups - namely that I spent more time programming and less time positioning objects on the screen than a I did with regular Alice. Since I'm about as far from the demographics of the test group as you can get, I suspect she has discovered something pretty basic.
   
Reply With Quote
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 08-20-2007, 11:24 AM

The thing that made me think about it was reading another posting this morning where someone was complaining that his Ninja wouldn't fall down reliably. I remembered that StorytellingAlice has a primitive method to cause a character to fall down, plus lots of other primitive methods to control the behavior of characters.

Dick Baldwin
   
Reply With Quote
Old
lanceA
Guest
 
Status:
Posts: n/a
Default 08-20-2007, 02:39 PM

Are you suggesting that possibly StoryTelling Alice would be a better introductory tool to use for CS1 ? I've always viewed it as a tool for young children - middle school or younger.
   
Reply With Quote
Old
islandfever
Guest
 
Status:
Posts: n/a
Default 08-20-2007, 02:54 PM

STA sounds cool and useful, but it can make video games too?
   
Reply With Quote
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 08-20-2007, 03:19 PM

No, I'm not suggesting that at all.

Many of the questions that I see posted on this forum are posted by people who appear to be trying to create the next Doom game using Alice. I'm not sure what their status as a student is, or if they are even students at all.

Many of the things that they seem to want to do and ask questions about are already coded as primitive or custom methods in Storytelling Alice. This includes questions about writing code to make a character walk, or fall down, etc. I'm simply suggesting that Storytelling Alice may be a better platform for that sort of thing than Alice 2.0. At least, Storytelling Alice makes it possible to create more animation with less code.

I don't see those high-level methods as being beneficial for use as a teaching tool for CS0, although I suppose that having them available doesn't do any harm either. They may be useful for demo purposes to show what can be achieved by someone who is willing to expend the effort to write complex methods for walking, etc.

Note that I changed the nomenclature from CS1 to CS0 (CS-zero). Although the course that I teach using Alice is referred to as CS1 in some quarters, it clearly doesn't prepare a student to pass the College Board AP exam for CS1 credit. Therefore, I consider it to be a CS0 course. If I were teaching a true CS1 course, I would want to teach it using Java because the AP exam is based on Java.

I too have tended to think of Storytelling Alice as having a younger target audience than Alice 2.0 because it was apparently developed with a younger audience in mind. However, it is probably more accurate to say that it has a more specific target audience, not necessarily a younger audience. For example, given the ability to convert the animation into an online movie (using movie capture software), it could be very useful for an adult who wants to produce online animated political comic strips (such as an animated version of Doonsberry).

I haven't spent any significant amount of time with Storytelling Alice, but so far I haven't identified any V2.0 capabiities that were excluded from Storytelling Alice (although there may be many). If no V2.0 capabilities were excluded, then it's probably safe to say that Storytelling Alice is capable of being used for any program that can be written using V2.0, plus it has many more primitive methods and some additional capabilities (such as multiple scenes). (However, the gallery may be much smaller.)

Storytelling Alice appears to based on Java v1.5 whereas V2.0, as I recall, is based on Java v1.3. That is probably a positive sign.

On the downside, there is no support for Storytelling Alice and there are no textbooks. However, I haven't been overwhelmed by the amount of support that is available for V2.0 and I tend to develop all of my own curricular materials anyway so neither of those would be a show stopper for me.

I guess that's about it. I just wanted to point out that if someone is writing a program that involves a lot of character activities that match the following methods (plus many other character-specific custom methods), Storytelling Alice may be worth looking at.

walk to
walk offscreen
walk
sit on
lie down
kneel
fall down
straighten up
look at
look
turn away from
touch
keep touching
constrain to face away


Dick Baldwin

Last edited by DickBaldwin; 08-20-2007 at 05:35 PM. Reason: minor corrections
   
Reply With Quote
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 08-20-2007, 04:46 PM

IslandFever wrote "STA sounds cool and useful, but can it make video games too?"

As far as I know right now, Storytelling Alice can be used to program any project that can be programmed with v2.0 (except that the gallery is smaller.)

However, I haven't made an extensive comparison between the two. I will be interested in hearing what others determine in this regard.

Gabe, do you know if any V2.0 capabilities were excluded from Storytelling Alice?

Dick Baldwin
   
Reply With Quote
Solutions to many problems are in Storytelling Alice
Old
hgs
Guest
 
Status:
Posts: n/a
Default Solutions to many problems are in Storytelling Alice - 08-21-2007, 05:14 AM

Agreed, a lot of the higher level functionality available makes animation much easier, in particular avoiding that tedious mucking about with joint angles. But there are weaknesses in this as a teaching tool for programming, I believe, but that said there are plenty of similar weaknesses in other languages used for teaching.

In particular: There are no lights, making interesting illumination difficult, constraining what can be seen from certain positions. The lamp model in the gallery can't be turned on.

At the programming level, whilst the humanoid characters have more methods, and have them in common with other humanoid characters, methods specific to a role are tied to that instance. For example, the brainwashing method of the lunch lady cannot be given to the Mrs Miller character. This seems like a missed opportunity to provide Ruby-like modules for mixing in, or some other inheritance model.

One important thing to learn about programming is the Don't Repeat Yourself (DRY), or Single Point Of Truth (SPOT) rule, because this removes tedium from development, writing code twice or more, debugging it in two or more places. It seems difficult to create a method that would apply to all humanoids, even given the uniformity improvements in body structures, without writing it more than once.

The only other thing that would help in this regard would be to get the programs in and out as plain text when one wishes to. Then if one had to copy and paste methods about the place, one could at least write some code to manipulate the text before re-importing it, to change the character it refers to. This would open up scope for metaprogramming. Yes, it would
introduce the possibility of syntax errors, which is maybe why it is not available.

Being able to pass functions around, or use blocks would be nice as well, but too advanced a concept for the target audience, possibly, although I think Logo has this.

I still think it is an impressive tool. It will be interesting to see what lessons the developers of Alice 3 took from both of these.
   
Reply With Quote
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 08-21-2007, 09:22 AM

To hgs.

Good information.

By the way, since writing my earlier post, I have determined that Storytelling Alice suffers more problems in the array area than v2.0. However, because of the array problems in v2.0, I don't consider v2.0 to be very useful for teaching arrays in a CS0 course. (I posted some info on the array problems earlier. They will be in the archives if anyone is interested.)

Thanks,
Dick Baldwin
   
Reply With Quote
Comments on Storytelling Alice
Old
DrJim
Guest
 
Status:
Posts: n/a
Default Comments on Storytelling Alice - 08-21-2007, 07:42 PM

Since I don't teach CS or really have much to do with CS education in general (other than paying school taxe$$ - unfortunately nobody around here wants to teach for free), I generally don't comment on this subject. In this case, however, I have put in a good bit of time working with Storytelling Alice and therefore am going to add a couple of comments that might help others evaluate the various options without having to invest a similar amount of time.

First - while I very much like Storytelling Alice - it is the type of code one develops for a thesis, not code that is intended for a general teaching tool. The notes with the release make that perfectly clear and also highlight one of the problems - it is targeted for a specific machine and software package. There are also inconsistancies in the internal structure that are (probably) due to experiments to find the best implementation options for various features - again great for thesis research, but probably a problem in a general teaching environment.

I also get the impression Storytelling Alice crashes even more than regular Alice, which itself is pretty bad. (If you disagree, try working with another memory intensive application program for a while (say Photoshop with 20M image files) and then come back to Alice. Speaking for myself, I find it a shock every time I do.) Bottom line, even if you like some of the (great) feature in Storytelling Alice - I would strongly recommend waiting for Alice 3.0 for classroom use (and even then, don't use it if your primary goal is to teach game design - or make cartoons - since there are much better tools. But that's another discussion).

The second set of comments applies to the characterization of Storytelling Alice as "a tool for young children - middle school or younger." I think this characterization tends to obscure the key result from Catlin Kelleher's research - namely when students are provided with higher level programming construsts, they spend more time programming and less time manipulating the application data directly. I believe this will be found to be true regardless of the age of the student - I certainly found it true and I haven't been a middle school student for over half a century.

Also, if Alice 3.0 is going to specifically target the "middle school and younger" group (which I don't really think it is), it should follow Scratch's lead and stick to 2D geometry, etc. Why we would need two tools to address this age group, however, is beyond me, particularly when Scratch itself is free - and a wide range of excellent, free and age-appropriate support materials (that won't be outdated in a year or two) are also available.

I would suggest that the better target groups for Alice as it evolves are (1) high school and first year college students, especially those who are not interested (at least at the time) in becoming CS majors and (2) continuing education students who work in other fields, but who would like to pick up some more advanced computer concepts. As is is, many in these groups really have no good options other than Alice 2.0.

Forcing everyone in these groups to jump into C# or Java - though a necessity (in my opinion) for CS majors - makes everyone suffer through memorizing endless obscure (but important) syntax conventions, typing and scope issues, task scheduling, IDE and/or compiler conventions, etc. - all the things that characterize a modern high level programming language and it's associated support environment but are of little interest to the non-programmer. (Note Alice would still be useful for CS majors, but in parallel with learning the "nuts and bolts" of Java or C# in a separate portion of the cirriculum.)

It seems to me that it would be better to offer these particular groups an exposure to the power of some advanced programming options through a user friendly environment such as Alice. It won't make most them programmers - but it might give them a better idea of what good programs (and good programmers) can do for them. It might also give them some ideas for more efficient use of the application programs that they do use (say custom scripting) - or (who knows) even interest them in exploring higher level programming concepts.
   
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Copyright ©2021, Carnegie Mellon University
Alice 2.x 1999-2012, Alice 3.x 2008-2012, Carnegie Mellon University. All rights reserved.