Alice Community  

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

Reply
 
Thread Tools Display Modes
Alice Source Code?
Old
Tasty
Guest
 
Status:
Posts: n/a
Default Alice Source Code? - 05-04-2009, 03:50 PM

I would like to have some students add some functionality to Alice and I am wondering what the best code base should be. (BTW, how easy is it to submit code back into Alice?)

Any projections when 2.2 source code will become available? Should I fall back to 2.0?

Is 3.0 a possibility in the next month or so? Or should I stick with 2.x?
   
Reply With Quote
Old
DrJim
Guest
 
Status:
Posts: n/a
Default 05-04-2009, 06:54 PM

Quote:
Originally Posted by Tasty View Post
...how easy is it to submit code back into Alice?
While it has been done for Alice 2.0 - generally with significant help from CMU - it seems to be very difficult. At a minimum (IMO), it would take a small team of fairly experienced Jave programners - and then would be, at least, a one or two month project.

In addition - the available source code is quite complex and, due to the complex development history of Alice, there is almost no documentation.

I would suggest you search the forum for more details - there have been several threads on the subject. There is also some good background information on the main Alice page.
   
Reply With Quote
Old
Tasty
Guest
 
Status:
Posts: n/a
Default 07-21-2009, 07:41 AM

Quote:
Originally Posted by DrJim View Post
While it has been done for Alice 2.0 - generally with significant help from CMU - it seems to be very difficult. At a minimum (IMO), it would take a small team of fairly experienced Jave programners - and then would be, at least, a one or two month project.

In addition - the available source code is quite complex and, due to the complex development history of Alice, there is almost no documentation.

I would suggest you search the forum for more details - there have been several threads on the subject. There is also some good background information on the main Alice page.
Perhaps I have exceptional undergratudate students, but we are already
making great progress. We have ported Storytelling Alice to Linux; we
have been fixing bugs; we are well on the way to adding several new
features.(I think you under estimate students who have grown up with
Java. They can do much more than they are often given credit for.) We
are working on lessons and tutorials more appropriate for elementary
age children. We believe Alice has the potential to revolutionize CS
education and help solve the gender biases in CS. What frustrates us
is that we *want* to contributed back to the community. We *want* our
work to be meaningful. We *want* to help others have access and use
Alice. But we cannot give back because we are stuck with an obsolete
version of the code.

Have you given any thought to structuring development as an open
source project? You can make a read-only source repository available
and still have the current developers be gatekeepers to ensure that
the source code is still clean and maintainable. This is the approach
that the linux kernel and the apache project, among others, use to
harness the enthusiasm of individuals around the world. And obviously
it works and works well. Judging from the comments in the forum, there
are many people who would love to help Alice move forward but lack the
opportunity because the development model is too centralized.

Please give serious consideration to the suggestion of having a more
participatory development process. The open source model works. The
Alice license is amenable to it. External developers exist and are
already doing what we can to help Alice along. We want to contribute.
We just need a mechanism to do so.
   
Reply With Quote
Old
DrJim
Guest
 
Status:
Posts: n/a
Default 07-21-2009, 11:44 AM

Quote:
Originally Posted by Tasty View Post
... under estimate students who have grown up with
Java.
I probably do - but I would also classify someone like that as a "fairly experienced Java programmer."

Regarding the development process, you might want to take a look at some of the history of the project, especially the reasons that development of Alice 2.x was essentially stopped.

Honestlly, I didn't even realize the Storytelling Alice source code had been released - I'll have to take a quick look at it.

I think, when it's closer to being finished, you'll find Alice 3 to be closer to your needs - it's certainly closer to being true Java, pluse there is an active bug tracking system, something that was sadly missing with Alice 2.x. I'm not sure when the source code will be released - certainly the Beta code is still prettly buggy. Hopefully someone from the CMU team will comment a bit more on this and on the overall subject.
   
Reply With Quote
Old
satovey
Guest
 
Status:
Posts: n/a
Default 07-21-2009, 11:53 AM

Quote:
Originally Posted by Tasty View Post
Perhaps I have exceptional undergratudate students, but we are already
making great progress. We have ported Storytelling Alice to Linux; we
have been fixing bugs; we are well on the way to adding several new
features.(I think you under estimate students who have grown up with
Java. They can do much more than they are often given credit for.) We
are working on lessons and tutorials more appropriate for elementary
age children. We believe Alice has the potential to revolutionize CS
education and help solve the gender biases in CS. What frustrates us
is that we *want* to contributed back to the community. We *want* our
work to be meaningful. We *want* to help others have access and use
Alice. But we cannot give back because we are stuck with an obsolete
version of the code.

Have you given any thought to structuring development as an open
source project? You can make a read-only source repository available
and still have the current developers be gatekeepers to ensure that
the source code is still clean and maintainable. This is the approach
that the linux kernel and the apache project, among others, use to
harness the enthusiasm of individuals around the world. And obviously
it works and works well. Judging from the comments in the forum, there
are many people who would love to help Alice move forward but lack the
opportunity because the development model is too centralized.

Please give serious consideration to the suggestion of having a more
participatory development process. The open source model works. The
Alice license is amenable to it. External developers exist and are
already doing what we can to help Alice along. We want to contribute.
We just need a mechanism to do so.
Well, they may not like this but if the Alice team is
to closed for outside developers like your students to
contribute, then perhaps you should start your own
community.

The complexity of Alice which DrJim claims is much
to difficult for your students and any of us other
newBee Java developers to understand indicates
to me that the Alice team is a group of elitist
individuals who become offended at the mere
suggestion that commoners like us be given the
opportunity to contribute to the future development
of Alice.

I think that I may just begin looking for a different
program other than Alice.
   
Reply With Quote
Old
satovey
Guest
 
Status:
Posts: n/a
Thumbs down 07-21-2009, 12:20 PM

Quote:
Originally Posted by DrJim View Post
While it has been done for Alice 2.0 - generally with significant help from CMU - it seems to be very difficult. At a minimum (IMO), it would take a small team of fairly experienced Jave programners - and then would be, at least, a one or two month project.

In addition - the available source code is quite complex and, due to the complex development history of Alice, there is almost no documentation.

I would suggest you search the forum for more details - there have been several threads on the subject. There is also some good background information on the main Alice page.
That's quite egotistical of you, assuming that just because
they are students, they do not have the sophistication to
develop on the level of the Alice team.

Fact is, those youngsters probably have an easier time
grasping development concepts than you or I do.

I have been using PHP for several years now, and
I get quite tired of some boob behind a desk telling
me that I don't know how to write programs because I
didn't take a class, or I don't have experience because
I didn't get paid. Pp-lease!

Fact is, if Alice is as complex as you claim with so little documentation, (not commented in the source), it tells
me that the people who developed Alice to begin with
aren't very good ad writing programs.

I'm speaking out of experience here. I developed
a PHP CMS program and now that I want to update
the program I have to sort through all the code
and figure out what I did because I was to lazy
to comment on what the code does.

While no one else will see this code, it just goes
to show you that proper documentation is a big
part of programming. Especially when the code
becomes complex.

If the Alice team did not take the time to properly
document their code, then I am of the opinion
that these students are more suited for the job
than the Alice team.

I am now taking a Java class and have two advantages
over many of the students in my class. The experience
I have with PHP enables me to understand many of the
concepts, while my not having commented code in my
previous work gives me a greater motivation to ensure
that I do.

Documentation is essential to any programming project.
To claim a project is open source and yet does not have
enough documentation to enable others outside the
inner circle to contribute, is in of itself an oxymoron.

I had thought about contributing to this project myself.
But now I see that Alice is a waste of my time.

Thank you for clarifying the Alice teams view on
contributors.

That's all I have to say about that.
   
Reply With Quote
Alice source code.
Old
hgs
Guest
 
Status:
Posts: n/a
Default Alice source code. - 07-21-2009, 06:18 PM

Satovey, please slow down! DrJim did not say there were no students who could do this. It was an estimate, which he admits may be wrong, based on his experience of students. Skill levels may be assumed to follow a normal curve for any arbitrary group, and I took what he wrote to mean that the bulk of the curve, in his experience, would find this difficult. There will be high flyers, of course. That argument works for any distribution, really.

I've tried to build Alice 2.2 and failed. I've been programming for years, though my Java experience is minimal. There is almost no documentation on building this. I found no make file or ant file or build.sh file. Kudos to those who have done these modifications without such infomation. When I approached the CMU team about my workplace contributing anything, they were not interested.

It could be that the team is too small to want to get bogged down in other people's patches. It might be that they want to stay tightly focussed on their educational goals, and don't want to argue about rejections of patches outside those goals. They might not be content about communication within a project solely over the net, feeling that face to face contact between developers is too important. But actually, I don't know the reasons.

I would welcome a more collaborative approach, but then I've been taking advantage of GNU tools since about 1989, and have tried to give patches back where I can. Some are less happy with such an approach, and they have their reasons. The legal department may be involved in the decisions about the development process. I'm not part of the team so I don't know, but there will be reasons why things are how they are, and reasons other than elitism, etc. They will have research and educational goals associated with the Alice project, for a start.

As for Alice 3, I don't know what sort of constraints EA Games and Sun Microsystems may have put on the development process.

It would be nice if some of these aspects could be explained and/or clarified. But in the end, it is their project to manage as they see fit.
   
Reply With Quote
Old
DrJim
Guest
 
Status:
Posts: n/a
Default 07-22-2009, 02:32 AM

Quote:
Originally Posted by satovey View Post
That's quite egotistical of you, assuming that just because they are students, they do not have the sophistication to
develop on the level of the Alice team.
....
Fact is, if Alice is as complex as you claim with so little documentation, (not commented in the source), it tells me that the people who developed Alice to begin with aren't very good ad writing programs.
....
If the Alice team did not take the time to properly document their code, then I am of the opinion that these students are more suited for the job than the Alice team.
....
Thank you for clarifying the Alice teams view on contributors.
Let me start with the last first. I am NOT a member of the Alice development team and in NO WAY do I speak for that team!

Second, the major reason (IMO) that the code for Alice 2.x was not properly documentend was largely historical. The code grew out of a virtual reality program with largely custom math - went through a purely scripting version as Alice 1 and migrated to the current graphical versions of Alice 2.x and Storytelling Alice.

As a result, the code is in bits and pieces, some of which are both custom and badly outdated. This WAS recognized by the Alice team, and the decision was to start with a clean slate to develop Alice 3.

Unfortunately, the man who was the driving force behind the project, Randy Pausch, developed terminal cancer at the same time. He obviously handled that as well as anyone could - and much better than most - focusing on using the time left as best he could (including writing the best selling "The Last Lecture.")

Since the Alice team was both short of manpower and lacking their key focal point, Alice 3 development was seriously delayed. I doubt (again, this is my opinion only) that if the team had realized how late Alice 3 was going to be, that they would have abandoned Alice 2.x so completely. But it happened.

Alice 3 Beta is here now, however - including a preliminary plug-in for Net Beans. I would recommend you look at the Sun pages, the Alice blog and the other sources referenced there. And for those who want to "participate" in the development process, I will note that - to date - the contributions to the bug reporting page have largely been just those of the Alice team. I suggest you report at least one or two bugs (there certainly are enough to go around ) and evaluate the response you get before complaining about Alice development being "closed."

Finally, I'd like to thank "hgs" for clarifying my comments on students. I clearly did not say that it was beyond the capabilities of capable college level CS students - and in fact I was thinking of typical middle school, high school and first year college students not intending to be CS majors, i.e. Alice 2.x's target audience, when I made those comments.

Having said that, I'll also note that one of major problem with Alice 2.x is the handling of multi-threaded code, especially the "event" commands. This, coupled with the complexity of managing a real-time, 3D user interface, creates both memory utilization and syncronization problems that require a relatively high degree of sophistication in programming - some of which (multi-threaded coding) is fairly specialized. I am not a novice when it comes to this type of programming - though my experiece is far more in project management than coding - and I have seen good programmers with advanced degrees still stumble over problems in these areas.

Last edited by DrJim; 07-22-2009 at 02:35 AM.
   
Reply With Quote
Old
lanceA
Guest
 
Status:
Posts: n/a
Default 07-22-2009, 09:31 AM

Quote:
Originally Posted by DrJim View Post
Let me start with the last first. I am NOT a member of the Alice development team and in NO WAY do I speak for that team!

Second, the major reason (IMO) that the code for Alice 2.x was not properly documentend was largely historical. The code grew out of a virtual reality program with largely custom math - went through a purely scripting version as Alice 1 and migrated to the current graphical versions of Alice 2.x and Storytelling Alice.
. . . . . . . . . . .
Well stated Dr. Jim
   
Reply With Quote
My point was....
Old
satovey
Guest
 
Status:
Posts: n/a
Default My point was.... - 07-22-2009, 01:34 PM

you cannot get comfortable with norms. Especially when it comes to those middle school youngsters.

Sure, they're a good place to start but there are two problems with them.

First: someone comes along and shows his classmates what can be done. They in turn get motivated to reach his level and now, your norm is out of step.

Second: They tend to provide artificial measures of what people can and cannot do.

Have you ever seen a job posting where the employer required an associates degree to run a copy machine? I have. By requiring an associates degree, the employer is implying that an individual with basic educational skills cannot learn to run the machine. A premise that is far from the truth.

The only true measure that one can have of an individual's ability is by seeing what they can do.

No degree or lack thereof can determine what a specific person can or can not do. It may tell you how good that person is at learning information from a book. It may tell you how good that person is at taking tests. But it will not tell you where that person's particular skill level is at.

Programming requires three specific skill sets above the reading, writing and arithmetic basics:

Knowledge - much of which can be obtained for free by searching the net.

Imagination: A talent that is for the most part natural and can be easily developed by asking What if?.

Determination: The most frustrating thing about programming is the bugs that one will inevitably type into the code:
--- Misspelled key words, a missing semi-colon, improper syntax and of course, those logical equations that do not output what you expected.

I may have had a slight over reaction to what DrJim said. Those norms that people rely on so much however, came pretty close to killing me, and I'm not speaking metaphorically.

Yeah, norms are good to have as a starting point. But you will never know if that, not fitting the norms potential employee sitting in front of you is an exception to the rule unless, you give him or her a chance.
   
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 ©2017, Carnegie Mellon University
Alice 2.x 1999-2012, Alice 3.x 2008-2012, Carnegie Mellon University. All rights reserved.