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

(Milestone 1 Deadline: Thu, 11-March-2010, 23:59)
(Milestone 2 Deadline: Week of 29-Mar-2010, by appt)
(Milestone 3 Deadline: Deadline: Thu, 15 April 2010, 23:59)


Project for UIT2201

Last year's UIT2201 projects had mostly involved the Alice programming platform and Google Map meshups and Google gadgets.

For this semester, the project for UIT2201 (15% of the course) will be based on the innovativeand fun programming paradigm Scratch that is designed to make it easy to create applications quickly and without a lot of pain. Working with Scratch does not involve the usual "coding style" of writing software -- since the software has been pre-programmed and allows users to just build applications using point-and-drag. You have already experienced this fun in the lectures and tutorials.


Project Ideas

In Scratch development, what is more important is the thinking process and design ideas involved in building up your cool applications or story-board. What do you want to do in your cool applications or story-board, who/what are the key "actors" in it, what's the story line, what is it that makes it cool, how to present it so that the cool idea is clearly demonstrated to the audience, and so on.

It is possible to develop really cool, innovative and fun applications with Scratch. You should go to the Scratch website to browse the multitude of wide-ranging and fascinating stuffs that others have developed. That will give you ideas on possible topics.

It will be highly preferred to have your application linked to your domain of study, but that is not compulsory.

On the other hand, if you prefer to, I have some UIT2201-related project topics that I like to see developed with Scratch. These projects will become teaching materials for future UIT2201 classes and also possible Outreach workshops.

Some "UIT2201-Related" Project Topics using Scratch:

  1. Using Scratch to demonstrate various algorithms covered in UIT2201 and beyond -- such as sorting, binary search, pattern matching, and so on.
  2. Using Scratch to demonstrate swarm intelligence (in AI) such as flocking behaviour.
  3. Using Scratch to demonstrate network protocols, such as that for wireless, ethernet, or WAN (packet-switched networks).
  4. Using Scratch to simulate a Turing Machine.
  5. Using Scratch to demonstrate the building and "execution" of logic circuits, such as an n-bit adder or n-bit comparator.

Projects based on other ideas and software platforms:
Of course, you are NOT forced to use Scratch if you really don't like it. If you have other interesting project ideas that will fit with the aims of this module, please make a proposal to the instructor.



Project Details and Milestones

Team Formation and Teamwork: This is a team project and each team will consist of 2 members. Team formation will be discussed in class soon.

Each project team should work on a simple initial project plan that should include such things as meeting schedule, division of labour, project risks and how to overcome them. (I expect each team to meet face-to-face at least three times to work on the project.) Some portion of the marks will be assigned to the teamwork aspect of this project.


Milestone 1: Project Proposal

You should form groups and choose topic (or choose topic and form group).
Then, write a short "one page statement" (at most 1 page) on your chosen topic and a rough plan of action on how you will do the project.

This is to be due by the deadline (given above). Submit to IVLE Workbin (Project Proposal Report folder).


Milestone 2: Interim Project Review

There will be a mid-project review for each project group done with the instructor. This will be scheduled on the week given above.
(Email will be sent by the instructor to set up appt for this project review.)


Milestone 3: Final Project Submission

Final Project Deliverables: Your final project deliverables are as follows:

Submssion of Project Deliverables:

Your ProjectCD should be properly labelled with the following info: "UIT2201 Spring 2010 Project", Your-Application-Name, names of the team members, contact info (if appropriate).
Please submit your ProjectCD to me within the same deadline.

(I highly recommend that you also make a ProjectCD for yourself, for keepsake.)

Please submit your final project report to both


IMPORTANT REMARK FOR ALL PROJECT REPORTS:


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