CS 171 Final Projects
List of 2010 Final Project and Presentation Dates
Your final project is to design and implement a visualization tool that allows you to answer questions you have about some topic of your own choosing. You will acquire the data, design your visualization method, implement the tool, and analyze the results.
Group Size: The final project must be done in pairs or teams of three. The work expected from each person should roughly be on the order of two homework assignments. You can use the class forum to find prospective team members. You may also find and discuss project ideas on forum or propose a project of your own. In general, we do not anticipate that the grades for each group member will be different. However, we reserve the right to assign different grades to each group member if it becomes apparent that one of them put in a vastly different amount of effort than the others. (The emphasis here is on "vastly different").
Important Dates: There are several milestones for your final project. It is critical to note that no extensions will be given for any of these milestones for any reason. Late days may not be used. Projects submitted after the final due date will not be graded. If you anticipate any issues (e.g., due to business travel) you need to contact the TFs at least one week in advance.
List of 2010 Final Project and Presentation Dates
Your final project is to design and implement a visualization tool that allows you to answer questions you have about some topic of your own choosing. You will acquire the data, design your visualization method, implement the tool, and analyze the results.
Group Size: The final project must be done in pairs or teams of three. The work expected from each person should roughly be on the order of two homework assignments. You can use the class forum to find prospective team members. You may also find and discuss project ideas on forum or propose a project of your own. In general, we do not anticipate that the grades for each group member will be different. However, we reserve the right to assign different grades to each group member if it becomes apparent that one of them put in a vastly different amount of effort than the others. (The emphasis here is on "vastly different").
Important Dates: There are several milestones for your final project. It is critical to note that no extensions will be given for any of these milestones for any reason. Late days may not be used. Projects submitted after the final due date will not be graded. If you anticipate any issues (e.g., due to business travel) you need to contact the TFs at least one week in advance.
- Thursday, February 25: Project proposal due
- Thursday, March 25: Progress report due
- Week of March 29: Project review with the TFs
- Thursday, April 9: Project peer-evaluations due
- Thursday, April 22: Project and project report due
- Sunday, April 25: Presentation videos due
- Week of April 26: Project presentations
Project Proposal
Your group needs to submit a project proposal with the following information:
Your group needs to submit a project proposal with the following information:
- Project title: Names and email addresses of the members of your group
- Introduction: Description of the of the target application, dataset, users, and task(s). These descriptions should be detailed and specific. Give specific examples of user goals and the information & interactions the visualization tool must support in order to achieve those goals. Explain why these goals are hard to accomplish with existing standard tools.
- Approach: Brief description of your proposed solution. At this stage just a short description and/or simple sketch is fine. You will develop this more for the progress report.
- Implementation: Expertise of the group members. Your level of experience or knowledge of the application area and the type of development / languages / toolkits you think will be required. If you have no experience this is fine! This section is to help us assess whether the scope of the project is reasonable for your team.
Progress Report
By the progress report due date you should have your data collected and the design of your visualization fleshed out. Your progress report should address the following questions:
By the progress report due date you should have your data collected and the design of your visualization fleshed out. Your progress report should address the following questions:
- Project title: Names and email addresses of the members of your group
- Introduction: Background information about the problem, tasks, users, and data
- Approach: Expand on your proposed visualization solution (no working code is required at this stage). Provide detailed illustrations of what the interface will look like and how the user will interact with it. You may either draw these by hand or use a computer drawing program.
- Use Cases: Present a scenario of use, using sketches and text to demonstrate how the user accomplishes a specific task with your tool. The first step here is to make your tasks much more detailed and specific. Create a fictitious user and describe a specific problem they have. A scenario then spells out what a user would have to do and what he or she would see step-by-step in performing a task using a given system. The key distinction between a scenario and a task is that a scenario is design-specific, in that it shows how a task would be performed if you adopt a particular design, while the task itself is design-independent: it's something the user wants to do regardless of what design is chosen.
- Data: Describe your data in detail. Where did it come from, how did you acquire it, what does it mean, what are known issues, etc.
- Implementation: Implementation details. Brief description of the language, platform, and any toolkit(s) you plan to use, and reasons for these choices.
- Schedule: Milestones that break down the work into smaller parts. Include a description of each project milestone with start / end dates and who will be assigned to accomplish each milestone. These should be detailed enough that you know if the amount of work you are proposing is reasonable.
Project Review
Following the submission of your progress report, you will be contacted by a member of the teaching staff to schedule a 15 minute meeting to discuss your project and progress. During this meeting, you will have five minutes to briefly summarize your progress report followed by 10 minutes of discussion time. You may prepare a couple of slides for your summary, but we will enforce the 5 minute time limit. This meeting is a chance for you to get feedback from the teaching staff, and to come up with ways around roadblocks you encounter. It is also a chance for the staff to ensure that your project is on track, and that your project is still in the appropriate-amount-of-work range.
Following the submission of your progress report, you will be contacted by a member of the teaching staff to schedule a 15 minute meeting to discuss your project and progress. During this meeting, you will have five minutes to briefly summarize your progress report followed by 10 minutes of discussion time. You may prepare a couple of slides for your summary, but we will enforce the 5 minute time limit. This meeting is a chance for you to get feedback from the teaching staff, and to come up with ways around roadblocks you encounter. It is also a chance for the staff to ensure that your project is on track, and that your project is still in the appropriate-amount-of-work range.
Peer Evaluations
Evaluating visualizations is an integral part of this courses’ goals, so for the final part of your project we ask each group to critically evaluate the projects of two other groups. You will be told by the TFs which groups you will evaluate, and your evaluations will be provided to those groups anonymously. You will use the group's progress report to assess the design. Your evaluation should be about one page long, in 11pt font, addressing the following issues:
◦ Target group names / project title
◦ Suitability for the target users and tasks
◦ Suitability of the collected data
◦ Strengths of the design
◦ Suggestions for improvement
You should not be evaluating the groups’ writing, presentation, implementation, or project progress. Focus only on the visualization techniques. Note that your evaluation will not determine the other groups’ grades, but the quality of your evaluation will count towards your own grade. Hand in your evaluations by email. The TFs will send your evaluations anonymously to the target groups.
Evaluating visualizations is an integral part of this courses’ goals, so for the final part of your project we ask each group to critically evaluate the projects of two other groups. You will be told by the TFs which groups you will evaluate, and your evaluations will be provided to those groups anonymously. You will use the group's progress report to assess the design. Your evaluation should be about one page long, in 11pt font, addressing the following issues:
◦ Target group names / project title
◦ Suitability for the target users and tasks
◦ Suitability of the collected data
◦ Strengths of the design
◦ Suggestions for improvement
You should not be evaluating the groups’ writing, presentation, implementation, or project progress. Focus only on the visualization techniques. Note that your evaluation will not determine the other groups’ grades, but the quality of your evaluation will count towards your own grade. Hand in your evaluations by email. The TFs will send your evaluations anonymously to the target groups.
Final Report
Your final project report is a stand-alone document describing your complete project. You should assume the reader has no prior knowledge of your project and has not read your proposal or progress report. Include the following sections in your report:
Your final project report is a stand-alone document describing your complete project. You should assume the reader has no prior knowledge of your project and has not read your proposal or progress report. Include the following sections in your report:
- Project title: Names and email addresses of the members of your group
- Introduction: Background information about the problem, tasks, users, and data
- Related work: Other visualization solutions to this problem or similar problems. Any previous visualization ideas that you incorporated into your solution.
- Approach: Description of your visualization design. Reasons for your design choices.
- Data: Describe your data in detail: where did it come from, how did you acquire it, what does it mean, etc.
- Implementation: Brief description of how the system was implemented (toolkits, languages, platforms). Any serious implementation challenges you encountered and how you handled them.
- Results: Scenario(s) of use, including screen shots of the system being used. Performance of the system. Feedback from the peer evaluations about the design and functionality of your tool.
- Discussion: Strengths and weaknesses of your approach and implementation. Lessons you learned. Things you could implement in the future.
- References: Relevant papers or online resources. Links to your application and (optionally) your source code.
Project Software
Your final project can be implemented using any API or programming language you would like, but we will only support and answer questions regarding Processing. The hand-in for your final project will include a working application. Include a README that describes the code and application files, and how your program should be run. We will be grading these projects on a variety of platforms, so if you are not using Processing, you must include detailed instructions on how to run or compile your code. If we cannot run your application from the instructions included with your submission we will not be able to grade this portion of your project.
Your final project can be implemented using any API or programming language you would like, but we will only support and answer questions regarding Processing. The hand-in for your final project will include a working application. Include a README that describes the code and application files, and how your program should be run. We will be grading these projects on a variety of platforms, so if you are not using Processing, you must include detailed instructions on how to run or compile your code. If we cannot run your application from the instructions included with your submission we will not be able to grade this portion of your project.
Project Presentation
Your presentation is important for conveying the key ideas of your project. Each team will create a two minute screencast with narration showing a demo of your application and/or some slides. Information about how to prepare these screencasts can be found here, and some examples are here. We will show these videos in class and will put them online. We will strictly enforce the time limit for the video, so please make sure you are not running longer. Focus the majority of your screencast on your main contributions rather than on technical details. What do you feel is the coolest part of your design? What insights did you gain? What is the single most important thing you would like to show the class? Make sure it is upfront and center rather than at the end.
Project Web Page
As the last task in CS 171, you will submit a webpage that describes your final project. We will be posting these off of the course website to highlight all the great work you did for your projects! If you used Processing, we hope that you will be able to include the working applet of your visualization into the web page. We encourage you to include your application code - but we do not require you to make it public, so the decision is yours. At a minimum, you must include screenshots of your visualization, along with a brief overview of your project question and the features of the system you developed. You can find an examples on the final project site from last year.
To submit your webpage and all linked files and images, name your file index.html and place it and all other files in a directory named teammember1lastname-teammemeber2lastname with the appropriate number of team members (e.g. "paul-pfister.zip), and zip the directory. You can upload the file to the course iSite page in the Project Webpage dropbox.
Your presentation is important for conveying the key ideas of your project. Each team will create a two minute screencast with narration showing a demo of your application and/or some slides. Information about how to prepare these screencasts can be found here, and some examples are here. We will show these videos in class and will put them online. We will strictly enforce the time limit for the video, so please make sure you are not running longer. Focus the majority of your screencast on your main contributions rather than on technical details. What do you feel is the coolest part of your design? What insights did you gain? What is the single most important thing you would like to show the class? Make sure it is upfront and center rather than at the end.
Project Web Page
As the last task in CS 171, you will submit a webpage that describes your final project. We will be posting these off of the course website to highlight all the great work you did for your projects! If you used Processing, we hope that you will be able to include the working applet of your visualization into the web page. We encourage you to include your application code - but we do not require you to make it public, so the decision is yours. At a minimum, you must include screenshots of your visualization, along with a brief overview of your project question and the features of the system you developed. You can find an examples on the final project site from last year.
To submit your webpage and all linked files and images, name your file index.html and place it and all other files in a directory named teammember1lastname-teammemeber2lastname with the appropriate number of team members (e.g. "paul-pfister.zip), and zip the directory. You can upload the file to the course iSite page in the Project Webpage dropbox.
