UIT2201: CS & the IT Revolution
Project (Spring 2008)

(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)


More Details on the UIT2201 Project


(a) Creating social interactions in Alice "world";
      (2 teams; each 2-3 members)

Quoting from the Alice project website,
"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.)


(b) Creating cool Google Map meshup and Google Gadgets;       (2 teams; each 2 members)

Gadget by LabPixies.com
   
Gadgets are tiny, cool web applications that you can embed into your webpages and blogs. Some examples are shown above. Quoting from Google...
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.


(c) An Intelligent Gadget -- Emulating an intelligent gadget (1 team; 3 members)

This project is creating an intelligent gadget or writing a software to emulate an intelligent gadget. While in project (b), you use google gadgets created by other people, in this project, you *create* the gadget, namely, write the application that may take the form of a gadget, or you can use existing application/software and modify it to be a gadget. You can go to Google gadget page (listed above) to take a look at the multitude of Google gadgets that have been created by various people around the world to get ideas on what kind of intelligent gadget you want to develop.


(d) Chat Bots -- How far have they gone? (1 team, 2 members)
(e) The Turing Test -- What is the State of the Art? (1 team, 2 members)
(f) Logo, Kara, LegoRobotics, Alice -- How effective are they? (1 team, 2 members)

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:

You should submit the report in both (i) hardcopy to my office, and (ii) softcopy via submission to IVLE Workbin (Final Proj Report folder).


(f) Origami and Algorithms -- How they are related. (1 team, 3 members)

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:

The origami showcase pieces should contain easy, moderate and at least one/two harder origami pieces. The poster should be targetted to lay-person -- the "person on the street" who may have no background to either origami or algorithms. Finally, the written project report that describes the project overview, the process, and lessons learnt, and areas for further improvements -- targetted at future project teams that will continue work on it.


UIT2201: CS & IT Revolution; (Spring 2008); A/P Leong HW