Alice Community  

Go Back   Alice Community > Educators > Teaching with Alice

Reply
 
Thread Tools Display Modes
is Alice appropriate?
Old
mullins
Guest
 
Status:
Posts: n/a
Question is Alice appropriate? - 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.

Last edited by mullins; 11-17-2007 at 12:35 PM.
   
Reply With Quote
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 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
   
Reply With Quote
learning syntax
Old
mullins
Guest
 
Status:
Posts: n/a
Default learning syntax - 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






Last edited by mullins; 11-17-2007 at 03:32 PM.
   
Reply With Quote
Old
lanceA
Guest
 
Status:
Posts: n/a
Default 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¢
   
Reply With Quote
Differences in conceptions of CS
Old
dadcat
Guest
 
Status:
Posts: n/a
Default Differences in conceptions of CS - 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.)
   
Reply With Quote
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 11-20-2007, 12:49 PM

Quote:
Originally Posted by dadcat View Post
...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/Ali...of_type_Object

Dick Baldwin
Free Alice tutorials: http://www.dickbaldwin.com/tocalice.htm
Free programming tutorials: http://www.dickbaldwin.com/toc.htm
   
Reply With Quote
Alice and objects
Old
dadcat
Guest
 
Status:
Posts: n/a
Default Alice and objects - 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.
   
Reply With Quote
Old
DrJim
Guest
 
Status:
Posts: n/a
Default 11-25-2007, 12:04 PM

Quote:
Originally Posted by dadcat View Post
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.
   
Reply With Quote
Old
lanceA
Guest
 
Status:
Posts: n/a
Default 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
   
Reply With Quote
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 11-25-2007, 06:02 PM

Quote:
Originally Posted by lanceA View Post
...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
   
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 ©2024, Carnegie Mellon University
Alice 2.x © 1999-2012, Alice 3.x © 2008-2012, Carnegie Mellon University. All rights reserved.