CS170: Programming for the World Around Us - Service Learning Project (100 Points)

Assignment Goals

The goals of this assignment are:
  1. To explore the breadth of applications of computing in an area of interest
  2. To apply computing to the benefit of others through service learning

The Assignment

In this project, you will propose a topic of your choosing and a group of at least 1 and up to 2 total members. The project must be approved by the instructor before it may commence, but the topic is entirely up to you.

This open-ended project aims to give you space to explore computing and its applications in a context that you’re passionate about. The full capability of computing to benefit others is realized when it is applied to domains of human need. A theme of this project is to expand your view of computing and its capabilities in service to others. There are perhaps endless ways of doing this. Here are some examples:

  • Designing a lesson plan for K-12 students to get exposed to computing in an area related to your major (or other interest!)
  • Interviewing a technical professional related to your own major or area of interest about the role of computing in their life
  • Producing a podcast episode about the role of computing in society (for instance, about how humans can be better engaged by technical professionals to facilitate more accessible technologies)
  • A research report on computing privacy considerations

Group Formation and Proposal (20 Points)

To form a group, students should draft a text document including the names of all students in the group, a summary of the proposed project, and a breakdown of each student’s responsibilities on the team. Each student should send this identical document to me for approval via e-mail. I will respond via e-mail to the entire group notifying them that the project has been approved, and which members are on the team. If I add or remove members from the team, I will notify the entire group via e-mail. This shall constitute agreement of the project responsibilities by all members of the team.

Students who do not submit the proposal document described above (even if they are named in another group’s proposal) by the proposal deadline will be assigned to a group and notified via e-mail. Students will not receive credit for the proposal in this situation.

Should a member of the team fail to participate to the standards set in the proposal document described above, one or more members of the group shall notify that student via e-mail of specific tasks from the proposal document that have been agreed to, along with a deadline to communicate with the group (copy me on the e-mail message). If the student does not respond within 2 days of that message, the group should notify me via e-mail, and I will investigate and, if appropriate, I may re-organize the team by moving one or more members to other groups (whom I will notify via e-mail), or by removing the student from the group (whom I will notify via e-mail).

First Draft (30 Points)

It is best if one’s first draft is not also the final draft, especially as your ideas evolve with your own understanding and from feedback from others. The first draft is an opportunity to write your ideas: concentrate on your message, rather than the structure of your narrative. How do you want your readers to change after having read your work? What contribution are you hoping to make? Don’t worry if it’s not entirely clear in this draft, or if the organization isn’t perfect. At this stage, you are developing your raw materials - the clay from which you’ll mold a cohesive thesis later.

Final Draft (50 Points)

It is highly recommended that you review your first draft with a Writing Fellow from the Writing and Speaking Center. Based on this feedback and the feedback from your instructor (and possibly from classmates), revise your report into a final draft.

Submission

In your submission, please include answers to any questions asked on the assignment page in your README file. If you wrote code as part of this assignment, please describe your design, approach, and implementation in your README file as well. Finally, include answers to the following questions:
  • Describe what you did, how you did it, what challenges you encountered, and how you solved them.
  • Please answer any questions found throughout the narrative of this assignment.
  • If collaboration with a buddy was permitted, did you work with a buddy on this assignment? If so, who? If not, do you certify that this submission represents your own original work?
  • Please identify any and all portions of your submission that were not originally written by you (for example, code originally written by your buddy, or anything taken or adapted from a non-classroom resource). It is always OK to use your textbook and instructor notes; however, you are certifying that any portions not designated as coming from an outside person or source are your own original work.
  • Approximately how many hours it took you to finish this assignment (I will not judge you for this at all...I am simply using it to gauge if the assignments are too easy or hard)?
  • Your overall impression of the assignment. Did you love it, hate it, or were you neutral? One word answers are fine, but if you have any suggestions for the future let me know.
  • Using the grading specifications on this page, discuss briefly the grade you would give yourself and why. Discuss each item in the grading specification.
  • Any other concerns that you have. For instance, if you have a bug that you were unable to solve but you made progress, write that here. The more you articulate the problem the more partial credit you will receive (it is fine to leave this blank).

Contract Grading

To Receive an A

  • Each item required for a grade of B is included
  • The project is disseminated on a public forum such as a website, GitHub, article, paper submission, podcast, or other appropriate medium
  • The group consists of at least 1 and no more than 2 members
  • The project submitted was substantially consistent with the project proposed to and approved by the Professor

To Receive a B

  • Each item required for a grade of C is included
  • The project report includes a substantial discussion of the project goals, rationale, and development approach
  • The project report includes a deliverable with an explanation appropriate for use and extension by others
  • A project proposal was submitted by the proposal deadline and approved by the Professor

To Receive a C

  • Each item required for a grade of D is included
  • The project report includes a substantial discussion of the final results
  • The first draft of the project report was submitted by the first draft deadline
  • The first draft substantially describes progress toward the project's conclusion

To Receive a D

  • Each member of the group makes meaningful contributions to the implementation of the project

Please refer to the Style Guide for code quality examples and guidelines.