Course Project

Course Project Overview

The primary goal of the course is to teach essential skills for collecting and analyzing data across a wide range of topics. The goal of the semester-long course project is to give students the opportunity to apply new skills in the context of a real-world topic, from beginning to end.

Projects should be carried out in teams of 3 students, including at least one sophomore or junior. Students choose their own teams. The project incorporates several intermediate milestones during the course of the semester. Most milestones will require groups to apply skills learned in the preceding individual homework assignments to the project.

Deliverables for each project milestone will include working code, as in any other CS project-based courses. However, deliverables will also include well-reasoned written explanations of the tasks completed. These explanations will be posted to a project blog, which will be reviewed by the teaching staff and other students in the class. Moreso than for traditional CS projects, the success of our projects will be judged by the effectiveness of communicating the results obtained. This is because coding is only the first step in data analysis. Instead, the coding is a means to an end: delivering better understanding of a question that can be answered by collected data. A key learning objective for the course, realized through the project, is to get better at summarizing and communicating the findings of your analysis.

Project Phases

Each phase includes several deliverables. In most phases, some code will be required. But in stages 1,2,4, and 5, data that has been collected is also due. In the early phases, we also require each student to write a blog post including a description of what was achieved, plus reflections on what was learned. Details of what should be included in each blog post can be found on the individual project phase pages. Due dates can be found on the course schedule.

Students are expected to read each others' blog posts in order to facilitate in-class discussion of what was learned in each project phase and to exchange ideas about different approaches available. The blog posts will also provide the foundation for the writeup in phase P5.

  1. Code (P1-P4)
  2. Data (P1-P2)
  3. Blog (P0-P2)
  4. Feedback and discussion phase

The reason that the writeup is worth 40% of the overall project grade is because it will articulate the contributions of the overall project. It will restate much of what was found in the earlier project phases. It will also groups to improve their work based on the feedback received from earlier milestones. Consequently, grading the writeup can be thought of as a final assessment of the overall project. If, for example, a group fixes weaknesses in the web interface based on feedback and describes this in the writeup, then this presents a second chance to improve the overall project grade.