Schedule‎ > ‎

Lab 21: Project Proposal


  • Start working on the course project. 
  • Develop a circuit schematic and breadboard for the project.
  • Develop an initial algorithm for the project.
  • Describe the structure of the classes and objects used in the project.
  • Document the project proposal.

^ top

Academic Honesty

Read the Scholastic Honesty Policy and Assignment Integrity policies of the syllabus. Here are some clarifications for this particular assignment:

  • You must develop the breadboard and schematic yourself, though you may get help from others if you get stuck.
  • You may discuss the code with other students for this lab.
  • You must enter all the code yourself and not copy from another student.

^ top

Originality and Attribution

We encourage you to come up with an original idea for your project. However, you may extend projects and code from the textbook, lectures, or other sources. If you do start with an existing project, you must include novel elements and significantly modify and add to the project. As a rule of thumb, you must introduce at least one major new idea (or several minor ones) and at least double the size of the code.

For any ideas or code "borrowed", for academic purposes you must attribute the source such as by providing a URL to the web page. In addition, describe how you modified or added to the original idea.

If you have any questions about what is permissible or how to attribute ideas, please talk to the instructor.

^ top


  1. The project proposal must be for an electronics circuit project using the Arduino microcontroller to control the project.
  2. Organize the proposal into the following sections with a heading for each section.
    1. Core Concept
    2. Breadboard diagram (schematic optional)  use Fritzing tool
    3. Algorithm
    4. Class Design
    5. Attributions
  3. Describe the core concept of the project in one or two paragraphs in the Core Concept section.
  4. Provide a schematic and breadboard of the electronic circuit of the project in a Fritzing file and write a description or paste a breadboard and schematic image in the Schematic and Breadboard section. (See lesson 4A)
  5. Describe the high-level algorithm for controlling the device in pseudo code in the Algorithm section, as we discussed in lesson 9A. List the algorithm as a series of numbered steps that clearly shows the flow of control.
  6. Describe the class or classes of the project and their proposed interface (like the .h file) in the Class Design section, as we discussed in lessons 12A/B.
  7. Provide a list of attributions in the Attributions section. The attributions must be listed in an acceptable style (see Originality and Attribution section above). Include any libraries used in the project. If your ideas are all 100% original, please state so in the proposal document.
  8. The proposal must be typewritten, not handwritten, with good grammar and spelling.
  9. Submit your proposal document to Canvas.

^ top

Grading Criteria (14 pts for this Proposal):  Final project is worth 100 pts

The instructor will evaluate your lab using the following criteria. Thus you should check your lab against these criteria to maximize your score.

For information on grading policies, including interpretation of scores, see the syllabus.

Project Proposal Criteria

Everyone starts with 12 points and the instructor will subtract points for not meeting the requirements based on the following criteria.

  1. -12 if you do not submit your proposal (see How to Submit) or if it is not an Arduino based project.
  2. -2 if the proposal is not well organized with headings for each of the specified sections; -1 if well organized but missing headings.
  3. -1 for each grammar or spelling error found.
  4. -1 if the proposal does not contain your name.
  5. -2 if the proposal does not contain a Core Concept section. -1 if the section is not clearly named and described.
  6. -2 if the proposal does not identify which aspect of your project is original
  7. -2 if the proposal does not contain a Schematic and Breadboard section. -1 if the section is not clearly named and described.
  8. -2 if the proposal does not contain an Algorithm section. -1 if the section is not clearly named and described.
  9. -2 if the proposal does not a contain Class Design section. -1 if the section is not clearly named and described or the class interface is missing.
  10. -2 if the proposal does not an contain Attributions section. -1 if the section is not clearly named and described.

^ top