(Milestone 1: Tue, 19 Feb 2008, 11:59am)
[extended to Fri, 22 Feb]
(Milestone 2: Week of 17 Mar 2008)
(Milestone 1: Tue, 08 April 2008, 11:59am)
"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.
The goal of the Alice project is to change the first experience students have with computer programming. We believe that Alice will change the experience of learning to program in two main ways removing unnecessary frustration and providing an environment in which beginning students, of both genders, can create programs they find compelling. To know more, you should watch the promotional videos for Alice. You can also see this video for an example of a project created using Alice. Another interesting one is found here
For this UIT2201 project, the aim is to use Alice some existing Alice "world" and "objects" inside the world to program social interaction between these them. Note that the "worlds" and "objects" already exists in the Alice environment and you do not need to (unless you want to) create new objects.
(Cool News: The developers of Alice are now working on integrating SIM2 into Alice 3.0! See here.)
|
Gadgets powered by Google are miniature objects made by Google users like you that offer cool and dynamic content that can be placed on any page on the web. Gadgets might come in handy when you're at work (to-do list, currency converter, calendar), at school (calculator, Wikipedia, translation tool), or just passing time (news, blogs, games). You can add gadgets you like to iGoogle and, if you have Google Desktop installed, you can also add gadgets to your computer's desktop.Many more google gadgets can be found at Google Gadget directory. Some simple writeup on google gadgets can be found at the google site here. And instructions on how to get started can be found at http://code.google.com/apis/gadgets/.
Google Map mashups are now the rage and many people are, finally, able to put their significant events on the map, literally. There are many examples and I have listed a small number of them below.
For this UIT2201 project, the aim is to use google gadgets and Google map mashup to Note that the "gadgets" and "map" already exist and and you do not need to (unless you want to) create new gadgets. Also, for the purpose of creating the map mashups, you can create your own "data" that can be "pumped" into the Google map mashup. In this project, you are creating webpages with your customized gadgets about what's interesting about you (where you were/are/going to, where are things you like, etc) that you may want your buddies/friends to know and keep track of via your gadgets and mashups.
These three projects are term papers that look at three different topics related to important topics in CS/IT. These topics have been around for a while, but the reason we are looking at them is that in recent years, new software tools that are making things interesting again. And these new developments spur new discussions on these old topics.
(d) Chat Bots:
Chat bots or chatterbots all started with the first one, called Eliza.
An informal description of Eliza can be found here
http://nlp-addiction.com/eliza/
and on wikipedia and
I quote:
"ELIZA is a computer program by Joseph Weizenbaum, designed in 1966, which parodied a Rogerian therapist, largely by rephrasing many of the patient's statements as questions and posing them to the patient. Thus, for example, the response to "My head hurts" might be "Why do you say your head hurts?" The response to "My mother hates me" might be "Who else in your family hates you?" ELIZA was named after Eliza Doolittle, a working-class character in George Bernard Shaw's play Pygmalion, who is taught to speak with an upper class accent.Today, there are lots of chatterbots around. There is even a chatterbox challenge at http://www.chatterboxchallenge.com/.
(e) Turing Test:
The Turing Test was proposed by Alan Turing in 1950 as a test of a machine's
capability to demonstrate intelligence. An informal description can be found
in wikipedia, and
I quote:
The Turing test is a proposal for a test of a machine's capability to demonstrate intelligence. Described by Alan Turing in the 1950 paper "Computing machinery and intelligence," it proceeds as follows: a human judge engages in a natural language conversation with one human and one machine, each of which try to appear human; if the judge cannot reliably tell which is which, then the machine is said to pass the test. In order to keep the test setting simple and universal (to explicitly test the linguistic capability of the machine instead of its ability to render words into audio), the conversation is usually limited to a text-only channel such as a teletype machine as Turing suggested or, more recently, IRC or instant messaging.The Turing test is also covered in the textbook [SG3] in Chapter ??. More details can be found in here and here.
(f) Logo, Kara, LegoRobotics, Alice:
Teaching the thinking skills of computer programming to young students
(primary and high school/secondary school students) has been a challenging
task and there has been many efforts in this directions.
Logo (an early programming language),
Kara (a programming environment with
ladybug, clover leaves and tree stumps), LegoRobotics (programmable LEGO
with movable parts), and Alice (see above) are, but some examples.
In this project, you review some of these and evaluate it suitability
for its intended purpose.
Each team is expected to write a report of about 12-15 papges (font size 12, 1.5 spacing) on the chosen topic. You should use the web, the library, and other sources to make a quick initial study of your topic and then select what sub-topics you want to pursue further in your research on the topic. Then, the team will write a short proposal for Milestone 1.
IMPORTANT:
The origami project is now a pet project of mine -- to try to bring new excitement to an old HW problem, and, hopefully, a new attitude towards both Origami and Algorithms. Although the members of the project group will work out the main parts of the project, we hope that everyone in the class will contribute with "executing" the algorithms to output more origami pieces.
Deliverables for this project will include the following: