cs102_projects

CS102 - Projects, Fall 2012

Purpose

The project component of CS102 gives students the opportunity to acquire and practice key engineering skills, including, teamwork, oral and written communication & independent learning. Students are also expected to demonstrate creativity and be self-motivated.

Organization

The project will be undertaken in groups of four or five. It is divided into four stages:

For each of the report stages groups are asked to prepare a written report (using CS102 reports template) which they will subsequently present orally. Other groups will offer feedback on both the written report and the presentation, as will assistants and instructors. Armed with this feedback, groups will revise their report as they see fit. The overall grade for each stage comprises all these elements, but is predominantly based on the final revised report.

The implementation stage will be graded on the basis of a demonstration of the software, an examination of the source code, and discussion with group members. Groups are expected to maintain a project wiki, including minutes of group meetings & copies of all reports, presentations & codes. Each group member should keep a record of what they personally have contributed to the project on a separate wiki page.

Sample Projects

You can see a list of sample project ideas here.

Grading

The following detailed criteria are applicable:

  • Requirements Stage: Creativity, consideration of how to exploit technology. Thinking about what users want (not limitations, technological or personal.) An ability to communicate ideas in a clear and concise manner. No exaggeration or advertising speak! Keep the following in mind; (a) is the project explained clearly enough for someone else to understand, and (b) is there enough information for someone else to design a suitable user-interface. What sort of program is it (a console application, normal Windows style desktop program, a browser-based Applet, a web site, a mobile phone application, single or multi-user, etc?
  • User-Interface Stage: Is the program/interface organized such that they it is easy to learn and use? Is it complete and consistent? Was any core functionality specified in the requirements report missed? Is it aesthetic (i.e. does it look nice)? Again, thinking of what the user would like, not how easy it is to program!
  • Detailed-Design Stage: Reasonably complete specification of system architecture, major objects and interactions, plus class definitions, including their properties and methods. Distribution of work to group members.
  • Implementation Stage: Demonstration of the program. Code documented and laid out in accordance with accepted styles. The program should be well structured and, if not actually completed, at least be potentially so given a little more time! Flexibility of design/implementation. Amount of work done and participation!

In addition,

  • Independent learning will be judged in part by use of technologies not explicitly covered in the course, for example, databases, network connections, web technologies–servlets, JSP, etc., serial/parallel IO, RMI, 3D graphics, animation, multi-threading, mobile phone & smart card implementations, etc.
  • Groups that are seen to be working consistently throughout the course and, in particular, begin acquiring the additional skills they need early, will be judged to have good organizational skills! Resolving any people problems within the group is also important, as is maintaining a complete & up-to-date project website.
  • All reports are expected to adhere to general notions of style, structure, spelling, grammar, layout, etc. Reports and presentations should be aesthetic, concise and coherent, demonstrating good communication skills.

See additional points to consider here.

Grading Scale

Each of the stages (& parts thereof) will be marked according to the following scale and translated into the corresponding numeric value for grade calculations & entry to Moodle.

  • Excellent 10 {practically impossible!}
  • Good (+/-) 8 {well thought out, significant effort, creative, demonstrated process improvement.}
  • OK (+/-) 6 {means “ok!” Meets minimum standard expected, but without much real effort or extra thought.}
  • Weak 4 {clear indication that more work needed!}

Other Info

cs102_projects.txt · Last modified: 2012/10/19 20:52 by bgedik

Page Tools