Domain: alice.org
Stories and comments across the archive that link to alice.org.
Comments · 162
-
Alice
Yet another kids' programming language, from yet another school, Carnegie Mellon, is Alice.
-
Well.
At my high school, which has no programming classes, my co-worker does lead the robotic's club which uses a simplified version of C to make the robot do things.
We also included Alice on all of our netbooks. It does seem like Scratch is probably more popular these days.
DISCLAIMER: I am not affiliated with any of these and I've only used one of them for like 5 minutes so YMMV. I'm not a programmer at all and the only languages I've spent any time with at all are C and Python and I would barely consider myself an amateur at Python and a nothing at C.
-
ALICE
ALICE from Carnegie Melon, http://www.alice.org/index.php
-
Related issue to your insightful point
http://www.npr.org/blogs/allte...
"He says it was as if "we removed the PowerPoint slide, and like a big glass barrier was removed between the speaker and the audience. "The communication became a lot more two-way instead of just the speaker speaking at length for 15, 20 minutes. The audience really started to come alive, to look up from their laptop computers and actually start participating in the discussion, which is what we were really trying to foster.""That said, I still think more tools for empowering people to more easily make educational 3D presentations and such is a good thing. I think the long-term potential of something like Tao3D could be along those lines. Of course, there is already Alice and some other similar things:
http://www.alice.org/index.php
"Using an innovative programming environment to support the creation of 3D animations, the Alice Project provides tools and materials for teaching and learning computational thinking, problem solving, and computer programming across a spectrum of ages and grade levels."Although, I don't think Alice runs in a web browser, and it Tao3D moved to run in a browser that might be interesting (although it does not now).
-
Re:Since when...I would say that coding, at the high level, it much less tedious than it once was. A lot can be done by drag and drop. Even the most tedious platform coding, for the Mac, has been greatly simplified. Of course much of this 'simple' coding does not pay very much.
From a pedagogical point of view, the idea is to teach techniques and process without overwhelming the immature mine with the details. It many cases this leads to meaningless games and trivial activities that don't really teach much. University of Colorado, who has done lots of great work in promoting this stuff, also has also done some stuff that is just games and requires a great deal of elaboration to make it effective.
One project that has been around for a while that is high quality is Alice. The project, like so many others, suffer from the 'magic bullet' phenomenon. To often people expect a curriculum to magically cause a student to learn content without a qualified teacher. This predates computers. It is why we such problems in so many elementary schools that leads to failure in high grades.
Coding is a process skill, a logical skill, and a discipline. It is not just knowing keywords, or which things to drag, or how to use an IDE. For a teacher who only has a passing relationship with coding, this is what it taught. For others the nuts and bolts, at an appropriate level, is the focus.
-
Alice
Why not Alice? It's available on Windows, Mac and Linux. If it's not yet available in your chosen language, you can join in the localization effort.
-
Alice
Why not Alice? It's available on Windows, Mac and Linux. If it's not yet available in your chosen language, you can join in the localization effort.
-
Re:Head First
There is also CMU's Alice. My 11-year-old uses both Alice and Scratch quite a lot, including for a technology class at school.
-
Re:A plug for Alice
I should also mention that there are a bunch of books available that will help with it too.
I would also urge you to ignore all the "If he can't start out with the hardest stuff, he doesn't belong in our fraternity" snobs here who are recommending you try to get your kid to learn stuff like C, and Python hand-coding right out of the gate. If you subject him to that, not only are you setting yourself up for child abuse charges, but you're probably going to turn him off to programming for good. He should learn the principles first (which Alice teaches in a fun way), and save the hard stuff for when (and if) he's ready to pursue it further..
-
Or the schools could just download Alice for free
Yeah, they could pay you $6 per student a month. Or they could just download Alice (which is much better and teaches actual OOP) for free.
But thank you for your Slashvertisement.
-
Re:A stepping stone
We can all dream about what kind of wonderfully simple development tool this could be, but the fact of the matter is that App Inventor, as it is, is almost totally worthless. There is no way to transition into useful programming development, and any marginally intelligent human being will quickly recognize that their hands are being tied like this. Set up your students with Eclipse, and a few simple assignments to handle some simple GUI interactions.
If your kids aren't at that level, let them use Alice or something simpler. They aren't going to be able to make anything cool on a smartphone anyway (yet) if they must do everything "point-and-click."
-
Panda3D is an option
Panda3D supports Python or C++ development. My school has used it for a couple of game development related courses and the students loved it. I'm just mentioning Panda3D in case you feel the need to start out in 3D: we actually start out in 2D with something like SFML and C++, but that is part of a 2 year college program that leads to C++/OpenGL development. Panda3D with Python might work for a HS class. From the website: "Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs. Panda3D is Open Source and free for any purpose, including commercial ventures, thanks to its liberal license." http://www.panda3d.org/ Also worth looking at might be Alice, if Panda3D/Python is too much for them. Alice has versions for middle/HS, and lots of teaching aids. "Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a teaching tool for introductory computing. It uses 3D graphics and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience." http://www.alice.org/
-
Re:iDevice walled garden = no creativity
The C-64 could suck you into programming real easy. Because with a few one liners you could change the screen color, make some noises, etc etc. It peeled back the curtain a little, and let you see how the thing you just bought worked, and how you could make it do neat things, and it didn't take a lot of effort to get there.
How in the hell could I even start my daughter down this path today?
http://www.alice.org/
Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student's first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games. In Alice, 3-D objects (e.g., people, animals, and vehicles) populate a virtual world and students create a program to animate the objects. -
Re:Rejected
I absolutely agree it would be wonderful it they included more tools to encourage this sort of programming. FileMaker Pro is sometimes bundled as a 90 day trial. It would be far better if it were bundled as an included application. Automater exists, but really is too limited.
Apple is moving towards MacRuby as a scripting language but I don't know if that will ever be simple enough.
In the meanwhile on the PC side bundling something like http://alice.org/ in an education folder would be a nice value add. Or something like a logo like http://www.alancsmith.co.uk/logo/. Given all the open source and Free Software I don't understand why PC makers don't bundle more stuff as a value add for their customers.
-
Re:FTFA: Not sharing so much as building together
Oh, and I've found Alice...
Alice? Who the fuck is Alice?
Sorry, couldn't resist... you may go about your business. Move along.
-
FTFA: Not sharing so much as building together
The summary makes it sound like these kids are being encouraged to cheat off one another. The actual article just says that they're looking at each others' work to build on one another to make more complex programs. That pretty much describes what any good programmer does. Unless you live in a bubble building all small projects solo, you're always going to be working together on a project with other programmers and designers. And even if you live in a bubble, you had to learn coding from SOMEWHERE. You look at code in a book or on a website, you learn how it works, you start using it and adapting it in your own projects. That's just learning.
I, for one, say "Huzzah!" for these kids. If they keep at it and get their CS degrees, they'll have a great future working for $3-an-hour in India someday.
Wait, that sounds cynical. I meant $4-an-hour.
Oh, and I've found Alice to be a great teaching tool for kids too. It teaches programming principles in a way that's a little more exciting for beginners than having to learn Commodore 64 PEEK and POKE coding (the way some of us came up).
-
Alice exactly done for this
Show them Alice. You build a program by plugging bricks together, including math functions, tests, while, etc
.. The result is a 3D animation than can be interactive if coded properly. A simple program can fit on one screen, so good for overhead presentation. If a young kid is not interested by Alice, you know he'll never be interested by programming! http://alice.org/ -
Alice
I recently heard (though not used) about Alice, which sounds interesting for at least introducing programming concepts.
-
Re:I wouldn't even consider Programming 101 to be
I think the problem with that is that many mathematicians would say that arithmetic really isn't math, just like spelling isn't English or lit crit. Certainly anyone who has taken a real course in algebra (i.e. the one you take as a senior in college as a math major, as opposed to what's in 8th/9th grade) will be quick to point out that it has essentially nothing to do with what you were told algebra was.
As a CS prof at various schools, I've taught a discrete math called "Foundations of Computer Science" as a first course in the major, and I've taught a variety of programming courses with different titles as the first course. I completely agree that most of the meat of CS first out in your CS3 class (although at my current school we actually teach design patterns and real OOD in our CS2 class).
Instead of fighting over the course name that should be in HS, I think it's a lot more important to try and establish what course _content_ should be in HS, MS and Elementary school. LOGO was used by elementary school kids in the 70s and 80s, and BASIC and/or Pascal were taught in high schools in the 80s (as many have noted). Modern tools like Storytelling Alice and Scratch (an heir apparent to LOGO) are amazing tools that can teach elementary/middle school kids to write plays and learn geometry while introducing them to programming in an amazingly rich way. And they're free.
These tools are so far beyond what I learned on it's amazing. So why are we in the dark ages?
-
not everything is OO
I wouldn't recommend BASIC or LISP for someone wanting to learn modern object-oriented programming today. A lot of us started out with a structured languages like this, but you wouldn't want to start out that way if you were doing it for the first time now. My university uses Alice and it works pretty well. Alice teaches much more modern object-oriented principles that would be much more useful than BASIC or LISP to a modern programming student.
What a horrendous idea. If the whole goal is to learn more OO principles, that's a f* up goal by itself. Not everything is OO; reality is multi-paradigm; and beyond a certain granularity OO code is intrinsically tied to modular, structural and procedural principles. Barring the naturally gifted, people can't learn proper OO skills (much less general analysis and design skills) without knowing modular, procedural and structured programming.
One of the greatest failures of CS education has been the failure to teach that, the fallacy that you can simply use nothing but one or two OO languages and a 100% OO paradigm as a general plan for teaching programming. Testament of this is that, even after 3 decades, people still can't tell you precisely what a good OO system is like. One just have to look at the OO code base that is out there. Truly hideous and anything but OO.
A good chunk of people think they are doing OO when in reality they are using OO languages to implement poorly written procedural code (typically without any notion of structural soundness or modularity.)
In fact, a lot of what the world needs right now combines/requires procedural programming. RDBM access is strictly procedural/declarative - and don't bring the fallacy of ORMs. People can't effectively use ORMs without knowing the procedural/declarative interfaces that lie underneath it. Services are intrinsically procedural and so are the languages that interface/combine them (think BPEL.)
When people miss that and are confronted with the *real* multi-paradigm world, they either try to force a OO paradigm on the procedural interfaces/services, or the service-accessing code devolves into an in-cohesive, inflexible procedural lasagna.
I've been doing OO development for quite a while now, quite successfully if I may add, and I've worked in teams that have made the transition (quite successfully also) from procedural/modular to OO programming. From experience I can tell you most CS students cannot fully understand (or fail to understand) OO principles without understanding procedural, structural and modular principles (and spending a lot of credit hours in them.)
We need people that are exposed to the nitty gritty details of multi-paradigm realities of world problems, not pampered from the beginning with graphical systems intended to show... yay... more OO principles. You want to teach people more OO principles? Then lay a solid multi-paradigm foundation with plenty of credit hours in several programming languages, getting them to deal with issues of structure, modularity, procedures and the like.
Kids that get exposed to those will get much more mileage from OO education, and equally useful, that exposure will filter those who really can't cut it for CS because not everyone is cut for it (and this applies for any degree and people trying to get in them.)
-
Re:"Alice" one of the best learning languages toda
I wouldn't recommend BASIC or LISP for someone wanting to learn modern object-oriented programming today. A lot of us started out with a structured languages like this, but you wouldn't want to start out that way if you were doing it for the first time now. My university uses Alice and it works pretty well. Alice teaches much more modern object-oriented principles that would be much more useful than BASIC or LISP to a modern programming student.
Common Lisp has object oriented techniques that Java-like languages still fail to have, like multiple-dispatch and metaclasses. Read your manuals before speaking lies, Common Lisp has the most advanced OO system among modern programming languages.
-
"Alice" one of the best learning languages today
I wouldn't recommend BASIC or LISP for someone wanting to learn modern object-oriented programming today. A lot of us started out with a structured languages like this, but you wouldn't want to start out that way if you were doing it for the first time now. My university uses Alice and it works pretty well. Alice teaches much more modern object-oriented principles that would be much more useful than BASIC or LISP to a modern programming student.
-
How about "Alice"?
Alice is a pretty simple way to introduce newbies to game/3D-environment development. I used to use it in an introductory programming class and the kids loved it. Gives you a real sense for how game development and programming work without being heavy-handed about it (or requiring students to jump right into hand-coding, without so much as flowers and dinner first). Here is the text I used for the course.
-
Go ask Alice
-
start him with game frameworks/sandboxes
I saw no posts modded "5, Informative", so I thought I'd take a crack at it.
http://www.alice.org/ - software designed to disguise programming as storytelling. Aimed at young children and women, not really suitable for the 14-year-old-boy types.
He likes games, so start him onto games. Most first year computer science students at my university think they want to develop games. They figure out differently by about year 3. Start with Unreal Engine 2, or something like that, and let him build small levels for Quake/Doom/etc. There is a fair amount of programming-like scripting that goes into level generation. -
Re:Maybe start from MIT's "Scratch"?
Scratch is awesome. It's designed for little kids, but older kids (and even adults) can do cool stuff with it too. Alice from Carnegie-Mellon is similar in many ways, but is designed for older kids (all the way up through college). Scratch is 2D, Alice is 3D.
-
Re:Go straight to 3D
Have you tried Alice?
Alice sucks. I mean, it sounds good in theory and all, but it sucks. My college tried using it to introduce first-year comp-sci students to programming. (later in the semester they transition to Java) I am friends with many of them, and everyone I have asked said it was a complete waste of time and they should have just gone straight to Java.
-
Alice.org
My kids are interested in programming because they saw me playing around with Alice one day. http://www.alice.org/ I agree with the comments gamer does not equal programmer. Most of my friends are gamers and I will play for a bit but I am the only one that codes.
-
Use Alice from Carnegie Mellon
Alice is a tool built by CMU researchers for exactly the purpose you want -- to gently introduce your kid to programming and making it seem fun and easy without scaring him. http://www.alice.org/index.php?page=what_is_alice/what_is_alice Alice was the brainchild of famed researcher late Prof.Randy Pausch and is used in thousands of educational institutes and schools. In Alice the programer builds up a story by programming and your child wont even know that he is coding until its too late
;-) -
Go straight to 3D
Have you tried Alice?
-
Video Gaming Industry...
I have a couple friends who work for Video game companies. One's programmer and other artist, the programmer is still a programmer, the artist is now a producer. I have known them to work anywhere from 40 to 80 hours a week at times.
I wouldn't push anybody into programming when they may not like it, but if you want to see if they like to program there are a bunch of very simple languages out there to try. I know another friend has started one of his kids on http://www.alice.org/.
You have to remember there are more jobs in the Video game than just programming, find out what your child is interested in and see if applies to the industry.
Just one more thing here is a human interest story that happened about 6 years ago with a big company http://ea-spouse.livejournal.com/274.html -
Alice
This is a great learning tool, uses interactive 3-D models right away, and introduces basic logical structures such as for and while loops, if/else statements, and objects. HOWEVER, this is a very, VERY, basic language and should be used only for teaching and acquiring interest. You can make basic games and movies with it, but as it isn't really text based this may not be a great representation of "real" coding but rather an intro to the concepts. The language is called ALICE, it's free to download, enjoy.
-
Re:BASIC is irrelevant
-
Re:Free Software may help...
As others have mentioned, Radio Shack still sells electronic kits - however, they are a specialty item, and your local bricks-and-mortar Shack may not have them in stock.
Others have mentioned Python vs. Tcl, and I'll agree. Check out Guido van Robot, which I know is available in the Ubuntu repositories. I'll also point you to Alice (http://www.alice.org/), which I've never used, but of which I have heard good things.
-
Re:My grandmother knows python
If a friend wanted to learn just enough programming to do a few light chores, what would you recommend? Python is arguably one of the easiest languages to learn. Randy Pausch used it for Alice, which has been successful for teaching middle school girls how to program. So if "computer users with rudimentary skills" means rudimentary programming, then that works for me.
-
Re:Python
It depends on what he wants to do. The first programming language a person learns really isn't that important. The big thing is to get them into the idea of making computers do what they want.
How about starting with Alice http://www.alice.org/ for a while, and then a step up to Java? Stanford has an intro to Java class on Youtube that is pretty easy to follow, especially if you have the basic ideas down.
-ellie
-
How to teach a 12-year old to program?
The real problem with teaching kids to program in to get a problem they want to solve.
You should try Alice. At SC08, I saw a room of 8-14 year-old kids doing Alice, and you could not tear them away from the computer. The original Alice was designed for middle-school girls, but Alice 2 has all the Sims characters, so kids can create a virtual world. And even better, the new Alice spits out a NetBeans project and Java code, so you can make the jump to "real" programming.
http://www.alice.org/ -
Re:ALICE from CMU
+1. Storytelling Alice might be more age-appropriate -if not gender-appropriate- though.
-
Re:Programming
I never got into Logo myself (no computers at all until college, and then it was shell scripts to self-taught C to whatever else). However, I think that today the "turtle graphics" system is a bit too primitive to capture the interest of a middle-school-age kid. I mean, making a turtle draw a line on the screen is no longer something magical.
IMHO, something like Alice or Scratch would be a much more promising introduction to programming concepts, with more "interesting" results (making 3D characters interact with each other and the user on-screen is a bit more likely to draw the attention of an average mid-schooler than recreating Spirographs on the screen).
What do you think?
-
Re:Scratch and Alice
- Scratch: http://scratch.mit.edu/
- Alice: http://alice.org/
- Storytelling Alice: http://alice.org/kelleher/storytelling/index.html
Yes, these are the ones I dropped in to recommend. Most 12-year-olds aren't going to be delighted by "Hello World" or Fibonacci sequence programs. Scratch and Alice are actually fun ways to start, giving instant, interesting feedback while teaching fundamentals of programming. Incidentally, Alice was written in Python, and one of the people in charge of it was Randy Pausch of "The Last Lecture" fame.
-
Re:Scratch and Alice
- Scratch: http://scratch.mit.edu/
- Alice: http://alice.org/
- Storytelling Alice: http://alice.org/kelleher/storytelling/index.html
Yes, these are the ones I dropped in to recommend. Most 12-year-olds aren't going to be delighted by "Hello World" or Fibonacci sequence programs. Scratch and Alice are actually fun ways to start, giving instant, interesting feedback while teaching fundamentals of programming. Incidentally, Alice was written in Python, and one of the people in charge of it was Randy Pausch of "The Last Lecture" fame.
-
Scratch and AliceGo with a visual programming language -- where they can see "fun" results right away, and that's age appropriate. What I just did with my 2 cousins (14 and 16 year old girls):
- Scratch: http://scratch.mit.edu/
- Alice: http://alice.org/
- Storytelling Alice: http://alice.org/kelleher/storytelling/index.html
That's a *much* better way to start them off. It's equivalent to BASIC on an Apple II really, but even more fun.
Then you can start them off on something like a Facebook App, and then web pages with Perl/Javascript/HTML. -
Scratch and AliceGo with a visual programming language -- where they can see "fun" results right away, and that's age appropriate. What I just did with my 2 cousins (14 and 16 year old girls):
- Scratch: http://scratch.mit.edu/
- Alice: http://alice.org/
- Storytelling Alice: http://alice.org/kelleher/storytelling/index.html
That's a *much* better way to start them off. It's equivalent to BASIC on an Apple II really, but even more fun.
Then you can start them off on something like a Facebook App, and then web pages with Perl/Javascript/HTML. -
Alice
-
Re:alice?
isn't that one of the best starting points to teach object orientation, concepts etc, first?
this comment brought to you by the original AC above. I'm very sorry. I skimmed only the first page and didn't see mentions of Alice. thinking on it more, I checked more and see there were many. I apologize for sucking.
:-) -
Alice
Do they want to "learn programming", or do they want to make video games? ( Or do *you* want them to learn programming? ) If they want to make video games, have them check out Alice. They'll make a video game and learn to program as a bonus. For middle-school aged people, there is Storytelling Alice, which is pretty powerful in its own right, in terms of a teaching tool.
-
Alice
Do they want to "learn programming", or do they want to make video games? ( Or do *you* want them to learn programming? ) If they want to make video games, have them check out Alice. They'll make a video game and learn to program as a bonus. For middle-school aged people, there is Storytelling Alice, which is pretty powerful in its own right, in terms of a teaching tool.
-
alice?
isn't that one of the best starting points to teach object orientation, concepts etc, first?
-
Alice
Specifically designed to teach tweens how to program. Essentially is Java, but with instant, graphical results, which, as a few others have pointed out, is important to keep new learners interested.
My wife took a college course which used ALICE to introduce programming- if it worked for her, it will work for anyone.
-
ALICE from CMU
I am sure someone has already posted it by now, but this about this.
What is the goal of programming?
To learn about objects, methods, functions, variables, loops, arrays, program flow, statefulness, events, design, and concurrency (threads).
You can do all of this in Alice from CMU. http://alice.org/
Alice starts out as fun which is a great hook and quickly changes to a programming environment as you want to build more complex worlds. Once students understand all the abstract concepts of programming then you can spring C, C++, Java, or whatever. Alice is nice because you only have to learn one level of the abstraction at a time and not wrestle with programming syntax. Having to deal with two abstractions (syntax + programming concepts) will lead to disinterest because it is HARD, even for people who like it.
I also recommend getting a Lego Mindstorms NXT. You can run nearly any language on it.