PDA

View Full Version : is Alice appropriate?


mullins
11-17-2007, 12:33 PM
Hello all,

This is intended to share some data and ask for some input...

At my 4 year, state university we are currently using Alice in our equivalent of Cs101o. We use Java in CS102o and CS103o. Obviously the truly OO topics are moved into CS102o & CS103o, but we are able to move graphics, multimedia and user interface topics into the Alice course. The second two courses are thus the equivalent of a traditional CS1 & CS2 in content.

We are in our third semester of a two year experiment using Alice and from the beginning there has been significant resistance to using Alice. The argument is essentially that Alice is not a "real" language and that programming in Alice is not "real" programming.

The objections moved from our own department to the sciences and mathematics, carried by skeptical colleagues. Our current advising system lets any student that has taken OO programming previously and, more recently, the science & math majors to skip the Alice course.

As general information the Alice course (or a replacement) are a required part of the major curriculum in CS, IS and IT along with an "emerging technology" program in another department. Other departments have in the past required or recommended the course. It also counts as a liberal studies course.

For those interested in how we are doing so far, enrollment in the Alice course has increased both years (Spring registration just ended) despite declining enrollment of CS, IS and IT majors. The withdrawal rate declined significantly. More women are taking the course also. Pass rates are not stable enough to be certain, but appear to be increasing also.

I agree with the skeptics in one regard. Very open ended assignments are not necessarily teaching traditional programming skills. I have found myself specify a skeleton structure that must be implemented and upon which students can then elaborate to make the program their own. I believe this is working.

In a recent interim report, I pointed out the above data (They got charts.) and mentioned several "real" programs that I use to demonstrate topics and capabilities to students. These are mostly not intended as code for the students to dig through, though advanced students often do. The list I provided includes:

54 self-paced tutorials written in Alice on Alice
Graphics, syntax, variables, recursion, lists…

Recursive square root (Newton’s method) - error shown graphically
Bubble sort based on object properties – array visualization
Entirely event-based chase with random movement – hawk & mouse
Bouncing ball – basketball starts in free fall accelerated by gravity
Backtracking through a maze
Projectile motion – drop causes a splash
Sci. Visualization – heat diffusion in thin metal bar, reconfigurable finite elements (event-based)
“IQ Test” peg game w/ heuristics
Tic-Tac-Toe: 1 or 2 player
Donkey Kong level 1

There are many more that are specific to Alice, such as turning the drop and splash into a special effect animation, but I don't think they make the case for being able to write "real" programs in Alice.

Since these are all things I have thrown together myself. I thought many of you might be able to extend this list of "real" programs implemented in Alice. I would greatly appreciate a quick response if you care to share what you or your students have written.

BTW, noting that version 3 is on the horizon brought a sour look the faces of the skeptics. :D

DickBaldwin
11-17-2007, 01:34 PM
All that I can offer are my online teaching materials at http://www.dickbaldwin.com/tocalice.htm

Unfortunately, I am familiar with the skeptics. I have a large army of skeptics beating up on me all the time. One of their main arguments is that the drag and drop approach doesn't teach students how to write "real code." The best counter-argument that I have been able to come up with is to ask how many of them know how to start from scratch write the "real code" required to create a graphical user interface in C++, C#, VB.net, or Java without using the drag and drop features of Visual Studio, NetBeans, or Eclipse. Unfortunately, that argument hasn't been very successful and I fear that I am losing the in-house battle even though my retention rates are up in my Alice course.

Dick Baldwin
Free Alice tutorials: http://www.dickbaldwin.com/tocalice.htm
Free programming tutorials: http://www.dickbaldwin.com/toc.htm

mullins
11-17-2007, 03:28 PM
Thanks, Dick. Your online tutorials are the first place I look for answers these days.

I would like to say I have completed this experiment, but my first report to our board of industry advisors was in the middle of my first semester of teaching Alice and I have never returned to it. I compared the compared the number of conditionals, loops, variables (properties), functions & methods, parameters, events, and concurrency used in a typical assignment solution (C++ vs. Alice). They were significantly higher across the board in the Alice program. To me this indicates students are programming at a much higher level of complexity.

I also compared the typical output generated by the programs (C++ vs. Java vs. Alice). Even using a simple graphics library for Java, there was no real comparison: text "images" vs. 2D graphics vs. 3D animation. See below.

I also pointed out that any modern syntax-directed editor removes much of the concern over placement of semicolons and usually suggest how to complete lines of code as they are entered. Then they immediately point out syntax errors (with suggested corrections). Some provide options like "create all accessor and mutators" methods.

The Alice environment prevents many errors, but those who use it are familiar with its syntax requirements. Try using the world equality function to compare objects. Or try dragging a statement using an index from one loop to another.

It's too bad experts in our field believe programming somehow equates to typing.

Someday, perhaps, I will complete the experiment by assigning the "same" project in Alice that I used in C++ or Java to directly compare results. The most difficult part is finding an assignment that lends itself to all three. Currently, I have student code compared to my own solutions for the first round of Craps. The dice are displayed along with the percentage of wins and losses. Anyone care to take this on? I'm sure Dick and I are not the only ones with this problem.

Paul.Mullins@sru.edu

http://cs.sru.edu/~mullins/pics/craps/craps1.jpg

http://cs.sru.edu/~mullins/pics/craps/craps3.jpg

http://cs.sru.edu/~mullins/pics/craps/craps2.jpg

lanceA
11-18-2007, 07:40 PM
Computer Science is about solving a problem using a computer.

The fact that most students can not deal with the abstract is what makes ALICE a great tool.

Just my 2

dadcat
11-20-2007, 10:15 AM
The problems with colleagues who object to "drag and drop" programming came as a surprise to me.
My own colleagues tend to consider this a strength, not a weakness, as it allows/forces the students to think about the process of the program rather than the details of exactly HOW to write the command.
My own problems have to do with structuring my course so that it better prepares students for courses in our existing program.
I am continually frustrated by the refusal to permit list or array items to access user defined methods. This forces me back to procedural programming techniques, and away from object oriented thinking.
I am also unhappy with all of the example programs which have object/method names containing spaces and beginning with uppercase letters.
I can simpathise with the skepticism exhibited by colleagues when Alice 3.0 is mentioned. After a year and a half with no reports of any kind of status/progress, the project is rapidly approaching the status of vaporware (in my humble opinion.)

DickBaldwin
11-20-2007, 12:49 PM
...I am continually frustrated by the refusal to permit list or array items to access user defined methods. This forces me back to procedural programming techniques, and away from object oriented thinking. ...

Although it is not pretty, it is cumbersome, and it is clearly not polymorphic, there is a workaround for many of these problems at the following URL:

http://www.dickbaldwin.com/alice/Alice0930.htm#Processing_parameters_and_list_items _of_type_Object

Dick Baldwin
Free Alice tutorials: http://www.dickbaldwin.com/tocalice.htm
Free programming tutorials: http://www.dickbaldwin.com/toc.htm

dadcat
11-21-2007, 09:33 AM
I was aware of the workarounds. My objections are to the tendency of the workarounds to lead students into procedural thinking and away from an object oriented approach to problem solving.

DrJim
11-25-2007, 12:04 PM
I can simpathise with the skepticism exhibited by colleagues when Alice 3.0 is mentioned. After a year and a half with no reports of any kind of status/progress, the project is rapidly approaching the status of vaporware (in my humble opinion.)
In case you haven't read this thread, take a look:
http://www.alice.org/community/showthread.php?t=936 .

There is also some good recent data on Storytelling Alice which shows that students spend more time on programming concepts and less on correcting syntax (and typing) errors.

However, regardless of the cause, I have to say a skeptical approach to the availability of Alice 3.0 is probably justified - given the cost of course restructuring, textbooks, etc. and the history of Alice 2.0 problems and deficiencies being neglected since they will be "fixed in the next version" - something that was also the case with the original version.

lanceA
11-25-2007, 04:39 PM
With all due respect, and coming from some one who once wrote software for a living and who now is resolved to TEACHING as a result of a degenerative spinal cord condition, I must respectfully disagree with negative comments concerning the release of ALICE 3.0.

Whom amongst you have written/debugged/tested a 100,000-400,000-line code program? It's not easy. It takes time. Currently the code for ALICE 3.0 is being written by a multi-million dollar software conglomerate in California. They will release it when it is ready.

I dare say most of us have NOT written a 75 line program and spent 1-3 days fixing the bugs in it. Some have written a program in ALICE in 3 minutes, and it shows.

I feel confident it will be released when it is ready to be released. :)

Look at VISTA

DickBaldwin
11-25-2007, 06:02 PM
...Currently the code for ALICE 3.0 is being written by a multi-million dollar software conglomerate in California. They will release it when it is ready....

Lance,

I hesitate to get involved in this discussion for fear of getting burned. However, I am confused by the above quotation. Did CMU hand this task over to a commercial venture in California, or did your remark have some other meaning? If it has been handed over to a commercial venture, that is new information to me and I would really like to know more about it.

Thanks,
Dick Baldwin
Free Alice tutorials: http://www.dickbaldwin.com/tocalice.htm
Free programming tutorials: http://www.dickbaldwin.com/toc.htm

gabe
11-26-2007, 03:31 PM
Currently the code for ALICE 3.0 is being written by a multi-million dollar software conglomerate in California. They will release it when it is ready.


Lance and Dick,

We write our software. No company holds any authority over the Alice team and the development of Alice. Alice 3.0 as with all versions of Alice, are written in-house by our own programmers, or in this case, programmer, Dennis.

DrJim
11-27-2007, 09:56 PM
I only meant to indicate that some skepticism regarding the 2008 release date, especially for classroom use in a beginning CS course, might be appropriate for anyone involved in course planning.

I'm sure the CMU team will produce a reasonably strong next version of Alice - but there are limits on what one programmer can do. (For the last large program I worked on - which ran on PC's and Sun/Unix boxes but not Mac's - we had one programmer working full time just doing validation testing on a suite of 19 different hardware/OS combinations.)

mullins
11-28-2007, 01:33 PM
In case you haven't read this thread, take a look:
http://www.alice.org/community/showthread.php?t=936 .

There is also some good recent data on Storytelling Alice which shows that students spend more time on programming concepts and less on correcting syntax (and typing) errors.


I've seen the published data and met Randy (and Wanda & Steve - Hi all!), and I'm a believer. However, neither the data or praise for the system and effort have an effect on skeptics. In the language wars, this one seems more religious than others.

My colleagues look at a student's interactive game and either belittle it as not "real" or note that "good" students will succeed regardless. So, I have placed some small effort into writing examples that are considered real by just about anyone. -- Ahem. All of which were written as classroom examples and, hence not worthy of Beta designation. :rolleyes: (I'm looking forward to V3 - go Dennis!)

BTW, I added a pacman clone to the list over the holiday weekend -- oodles of testing, of course.

I'm still hoping to hear of other's efforts toward scientific visualization, etc. Stories and games may be what the language does well, but won't impress the dinosaurs that think it isn't programming without semicolons and a numeric answer.

It occured to me after posting this that I should note I qualify as late Jurassic myself, assuming that's over 50.

Paul Mullins