CS471: Computer Science Pedagogy - Technical Project and Presentation (100 Points)

Assignment Goals

The goals of this assignment are:
  1. Develop and implement a computing project using hardware such as Arduino or micro:bit
  2. Apply principles of project management and teamwork
  3. Create an educational presentation to teach the design and implementation of the project

Background Reading and References

Please refer to the following readings and examples offering templates to help get you started:

The Assignment

Introduction

In this assignment, you will propose and complete a computing hackathon project using devices like Arduino or micro:bit. Your team will then develop a presentation to teach other students how to design and implement your project.

Project Ideas

  • Develop a “hardware or software hack” that solves a practical problem, and develop it into a unit of modules for a CS classroom. Here are a few specific (but not limiting) examples:
    • Light Control System: Design a system to control lights using Arduino, with features like dimming, color changing, and scheduling.
    • Radio Communication: Build a simple radio communication system using micro:bit to send and receive messages.
    • Weather Station: Create a weather monitoring station that collects and displays data using sensors connected to Arduino.
    • Smart Plant Care System: Develop a plant care system that monitors soil moisture and controls watering using micro:bit.
    • Digital Signature Podcast Projects: Implement and enhance a project featured on the Digital Signature Podcast.
    • Environmental Data Analysis: Collecting and analyzing local environmental data using a computing statistical package. As a proof-of-concept the micro:bit can be used as a hygrometer to monitor soil moisture levels.
    • Scientific Simulation: Writing a program to predict modeled behavior in physics (like an object in free-fall), and calculating the percentage error from the theoretical model in practice.
    • Sound Generation: Using a computing system to assist in the generation of music for beginners by suggesting chord progressions and other theoretical elements.
    • Finding Lost Items: Using a human-centric approach to design an algorithm that replicates an “Air Tag” by playing “hide and seek” with radios.
    • Text Analysis: Conducting statistical analysis to determine authorship of the Federalist Papers for a Social Studies class.

What to Do

  1. Form a Team: Collaborate with your peers to form a team.
  2. Choose a Project: Select one of the provided ideas or propose your own.
  3. Develop a Proposal: Write a proposal detailing your project’s goals, design, and implementation plan.
  4. Implement the Project: Work as a team to build your project.
  5. Create a Presentation: Develop a presentation to teach the design and implementation of your project.
  6. Present to the Class: Present your project and teaching materials to the class.

Evaluation

Your project and presentation will be evaluated based on the design, implementation, educational value, teamwork, and project management. Please refer to the rubric for specific criteria.

Reflection

Reflect on this project experience. How did it enhance your understanding of computing and pedagogy? What were the challenges, and how did you overcome them? What insights did you gain about teamwork and project management? What would you do differently next time, and how can you incorporate these lessons learned into your own classroom environment?

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 2 and no more than 3 members
  • The project submitted was substantially consistent with the project proposed to and approved by the Professor
  • An individual self-reflection is included in the final submission that substantially documents the experience, your observations, and the feeback you received.

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
  • The project was presented to the class with every member of the group having a speaking role

To Receive a C

  • Each item required for a grade of D is included
  • The implementation for the proposed project is included in the submission
  • A presentation is included with the submission

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.