Introduction

For the final 4-5 weeks of the course, you are asked to propose a design project, design it, and build it. During this period, there will be no other assignments. We expect for you to spend all of your time for this course on the project. You will be expected to be in lab at the usual times and to show significant progress each week of the project. Keep in mind that this is a 4-credit course! So you should plan to work on your project for ~16-20 hours per week.

How do I come up with an idea??

In this class, we use engineering not only as a means of solving problems, but also as a way to explore curiosities that are totally separate from engineering. An "interesting" engineering project is, in the context of this class, just as valuable as a "useful" engineering project. As you begin to brainstorm project ideas, you might consider going through the following exercise:

  1. Make a list of things you are curious about. This should be stuff that you may no little-to-nothing about, but that you find interesting. Astronomy? Birdsong? Art? Archeology? History? Make a long list, and then think about ways that you can build something to learn more about something on that list.
  2. Make a separate list of activities, totally separate from engineering, that you enjoy. Do you like to ride bicycles? Play music? Play video games? Watch movies? List your hobbies, and then think about ways that you can engineer something to explore that hobby.
  3. Browse projects from previous years.



Grading

20% of your grade comes from your weekly preparedness and progress. 30% of your grade depends on your project demonstration at the end of the semester. And 50% of your grade comes from your project writeup. The members of a group may be graded differentially if it becomes obvious to the staff that one person is doing the bulk of the work. If you think that a group member is not performing, then you must tell us, so we can inform the group of consequences and/or observe it directly. Some additional details for each of these grading criterion is provided below:

Weekly preparedness and progress (20%)

  • You will be asked to submit a weekly progress report through Canvas every week, which should include:
    • Tasks accomplished in the previous week.
    • Hours spent on project in the previous week.
    • Objectives for the coming week.
  • Your preparedness and progress grade will come from these lab reports, and from the quality, quantity and character of the work done during each week as observed by Hunter and the rest of the course staff.
  • Your project proposal is incorporated into your weekly preparedness and progress grade.

Final demonstration (30%)

  • Appropriate level of hardware/software complexity.
  • Appropriate use of external hardware, Verilog generated hardware, C, and HPS.
  • A project which works according to specification (which you will write).
  • Thoughtfulness toward usability and user experience.

Final report (50%)

  • Completeness and understandability of the final report. The html report must be submitted as specified below. When posting code, you must comply with all INTEL IP considerations.
  • You may optionally opt-in for inclusion of your project on the course page.
    This a new CORNELL requirement!
    You will automatically lose 5 points on your project if you do not include this!

    In the final report, Appendix A, include one of the two sentences shown below:
    • "The group approves this report for inclusion on the course website."
    • "The group does not approve this report for inclusion on the course website."
  • I will submit student videos to YouTube for inclusion on the 5760 channel, if you opt-in.
    This a new CORNELL requirement!
    You will automatically lose 5 points on your project if you do not include this!

    In the final report, Appendix A, include one of the two sentences shown below:

    • "The group approves the video for inclusion on the course youtube channel."
    • "The group does not approve the video for inclusion on the course youtube channel."
  • Please see the Final Report section below for details about content and submission.




Procedure

Project Proposal

In the final week of lab 3, you will be asked to submit a proposal for your final project. You will do so through Canvas. Your proposal should be 2-5 pages long, and should include the following:

  • A page describing the project at a high level (e.g. rationale, user interface, functions)
  • A tentative parts cost list.
  • A paragraph describing the societal impact of your project. This might include:
    • A paragraph describing the standards (IEEE, ISO, ANSI, etc) relevant to your project.
    • safety considerations (lasers?, wires connected to human?)
    • human factors and usability
    • interface design considerations for people with special needs (e.g. color blindness, sight resolution)
    • Intellectual property considerations. (music clips?, code?, images?)
    • If you use any RF transmitter, include compliance information with FCC regulations
    • Other legal considerations such as FDA or motor vehicle codes.
  • A first pass of the technology you will use, including:
    • A block diagram or pseuocode
    • Tentative source code (if you have it)
    • A tentative schematic for any hardware you need to build.
    • A parts list with specific parts types, so that we can see if we have the material.

I will provide feedback on your proposal. These are mostly a sanity check. I want to confirm that your proposed project is of appropriate scope for a 4-5 week project (not too hard or too simple), I want to make sure your proposed project isn't going to hurt you or anyone else (no flamethrowers, please), and I want to make sure that your project involves an adequate balance of hardware and software.


Weekly checkoffs

Every week, you will be asked to submit a progress report through Canvas. Each of these progress reports can be short (~1 page), and should include the following information:

  • What did you accomplish in the previous week?
  • What are your objectives for the coming week?
  • How many hours did you spend on your project in the previous week?

Final Demonstration

Hunter will release a spreadsheet that allows for each group to select a demo timeslot. In that demo, you will be asked to do the following:

  • Explain your project objective.
  • Explain the inspiration for the project idea.
  • Briefly discuss how the project works.
  • Demonstrate the project working.
  • Have an informal conversation with Hunter and the course staff about the project. If you'd like to see how these go, you can watch some demos here and here.

With your permission, I will record your project demonstration for inclusion on the course YouTube playlist.


Final Report

Documentation must include all the major sections listed below. You may omit specific sections not relevant to your project:

Project Introduction
  • One sentence "sound bite" that describes your project.
  • A summary of what you did and why.
High level design
  • Rationale and sources of your project idea
  • background math
  • logical structure
  • hardware/software tradeoffs
  • Discuss existing patents, copyrights, and trademarks which are relevant to your project.
Program/hardware design
  • program details. What parts were tricky to write?
  • hardware details. Could someone else build this based on what you have written?
  • Be sure to specifically reference any design or code you used from someone else.
  • Things you tried which did not work
Results of the design
  • Any and all test data, scope traces, waveforms, etc
  • speed of execution (hesitation, filcker, interactiveness, concurrency)
  • accuracy (numeric, music frequencies, video signal timing, etc)
  • how you enforced safety in the design.
  • usability by you and other people
Conclusions
  • Analyse your design in terms of how the results met your expectations. What might you do differently next time?
  • How did your design conform to the applicable standards?
  • Intellectual property considerations.
    • Did you reuse code or someone else's design? Did you use any of Altera's IP?
    • Did you use code in the public domain?
    • Are you reverse-engineering a design? How did you deal with patent/trademark issues?
    • Did you have to sign non-disclosure to get a sample part?
    • Are there patent opportunites for your project?
Appendix A (permissions)
  • Project on the course page
    • You may optionally opt-in for inclusion of your project on the course page.
    • This a new CORNELL requirement!
    • You will automatically lose 5 points on your project if you do not include this!
    • One of the two sentences shown below:
      • "The group approves this report for inclusion on the course website."
      • "The group does not approve this report for inclusion on the course website."
    • If you will ever be asking me for a recommendation, I suggest that you opt-in your project. The project web pages help me remember the details of a project and person.
  • Project on the course YouTube channel
    • I will submit student videos to YouTube for inclusion on the ece5760 channel, if you opt-in.
    • This a new CORNELL requirement!
    • You will automatically lose 5 points on your project if you do not include this!
    • One of two sentences shown below:
      • "The group approves the video for inclusion on the course youtube channel."
      • "The group does not approve the video for inclusion on the course youtube channel."
Additional appendices
  • Appendix with commented Verilog and/or program listings.
  • Appendix with schematics if you build hardware external to the DE1-SoC board (you can download free software from expresspcb.com to draw schematics).
  • Appendix with a list of the specific tasks in the project carried out by each team member.
  • References you used:
    • Data sheets
    • Vendor sites
    • Code/designs borrowed from others
    • Background sites/paper



Report submission procedure

  • Put all of your web page files in one directory. Name this directory with the concantented netids of all the group members, e.g., vha3_brl4
  • Make sure the cases (upper/lower) of all filenames agree with their hyperlinks. PNG and png are not treated the same!
  • Use only alphanumeric characters and underscores in filenames (NO SPACES, no punctuation of any kind).
  • Check all your links to make sure they are relative to your main page.
  • Use a directory name consisting of the group's concantenated netids.
  • DO NOT INCLUDE VIDEOS IN YOUR FILE SUBMISSION. If you'd like to include a video (a good idea!) host it on YouTube or elsewhere and embed it in your webpage.
  • Please minimize the filesize for images.
  • ZIP the directory.
  • Send it to your partner's computer to see if it renders correctly. Check on as many operating systems as you can!
  • Upload it to a Cornell Box link that Hunter will provide.