Project, UIT2201 (Fall 2016), NUS


UIT2201: CS & the IT Revolution
Project (Fall 2016)

(Milestone M0 Deadline: Thu, 08-Sep-2016 -- DONE)
(Milestone M1 Deadline: Thu, 15-Sep-2016, 23:59 -- DONE)
(Milestone M2 Deadline: Wed, 12-Oct-2016, -- NEXT)
(Milestone M3 Deadline: Mon, 07-Nov-2016, 23:59pm)
(Milestone M4: Project Showcase: Mon, 14-Nov-2016, [ALL DAY] )

Latest Update: M2-Review TENTATIVE schedule is out. -- || See here (txt) ||


Project for UIT2201

The course project (25% of the course) for UIT2201 will be a team-based project (two students per team). The project will be based on the innovative and 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 will have experience with this fun platform in lectures / tutorials at the beginning of the course.

Teams with prior strong programming experience can (optionally) choose to do projects that uses other programming platforms of their own choice. They can also choose projects that can contribute to UIT2201 teaching and learning in some meaningful way. In these cases, please discuss your proposals with me. (For example, UIT2201 projects from the past had involved other programming platforms like Alice, Google Map mash-ups, Google gadgets, as well as those with traditional programming languages.)


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 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.

  • Projects done in the past: | Spring 2013 | Fall 2013 | Fall 2014 |


    Project Details and Milestones

    Milestone 0: Team Formation and Teamwork:

    This is a team project and each team will consist of 2 members. Starting this year, the class project team will be formed as follows:
    • Random-Assignment: Instructor will form team by a random-assignment algorithm and publish this online.
      [Teams by Random-Assignment -- M0-Random-Assignment.pdf]
      [Generated by this Scratch program. | Group G1 | | Group G2 | ]

    • Mutual-Swap: Then, during the grace period, teams can do a mutual swaps (defined by Team(a,b) and Team(c,d) to become Team(a,c) and Team(b,d)), subject to agreement by all four students: a, b, c, and d.
      An email MUST BE sent to the instructor (cc-ed to ALL FOUR students a, b, c, d). [Deadline: Tuesday, 13-Sep, 5pm]
      Note: Swaps involving more than two teams are NOT allowed.

      Final Team Assignment is out: here!

    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 3-4 times to work on the project. In practice, it should be much more.) Some portion of the project-marks will be assigned to the teamwork aspect of this project.


    Milestone 1: Project Proposal

    Once your team is formed, you should meet to brainstorm your topic for the project. Preferably, your project should be related to your major of study or something that you are passionate about. Then, write a short "one page proposal" (1-2 pages) on your chosen topic and a rough plan of action on how you will do the project.

    This is to be due by the M1-deadline (given above). Submit to IVLE Workbin (UIT2201-M1 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 of the M2-deadline.

    The tentative schedule for Fall-2016 M2-Review: -- || here (txt) ||

    (Please also come prepared to demo your project and with any questions you may have about your project.)

    What to do during the M2-Review session: (20 minutes)

    1. Give Name/Title of project,
    2. Give main goals of project
    3. Tell main components of project and
         status of each component (NS, IP, D)
           NS=not-started; IP=In-Progress; D=Done
    4. Do a quick demo of project (whatever you have done)
    5. Ask Questions you have about the project
    6. Discussion   


    Milestone 3: Final Project Submission

    Final Project Deliverables: Your final project are as follows:

    Submssion of Project Deliverables:

    Your ProjectCD should be properly labelled with the following info: "UIT2201 Fall 2016 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


    Milestone 4: Project Showcase

    The project presentation will be done in a "Project Showcase" during Study-Week. The purpose is to present the fruits of your labour to your peers and to the course instructor. Through the varied application / games / tools that you develop in your project, the whole class gets to witness what ITEM that you have developed in this class, and what it (Scratch or other programming platforms) can do with the skill-set you acquired in this class.

    You will also participate in Peer Grading of the projects of your peers. Join in the fun and learn about their projects as well.

    Details:


    IMPORTANT REMARK FOR ALL PROJECT REPORTS:


    UIT2201: CS & IT Revolution; (Fall 2016); A/P Leong HW