Class Project (Spring 2022)
1. Key Dates
Subject to change.
-
3/2 3/4: project proposal due by 6pm on Canvas.
- 3/6: project choice finalized
- 3/18: grace period ends
- 4/29: project submission on Canvas by 5:30pm
2. General Policy
Subject to change.
- This project is optional and will replace the final exam score.
- You cannot do a project and take the final exam at the same time.
- Each team will have 2 students.
- Up to 12 teams will be allowed with up to 3 teams per topic. The selection will be made based on the proposal.
- You are not allowed to change your topic later.
- The only programming languages allowed for the main CAD engines are C/C++ and python. However, there is NO RESTRICTION on GUI-related tools.
- If you are planning to utilize off-the-shelf packages that will SIGNIFICANTLY reduce your coding effort, you need a permission in advance.
- Each student will have a grace period to decide whether to continue or give up. Once this grace period passes, you are not allowed to give up and take the final exam instead. There will be 15% penalty on the final exam score if you give up during the grace period.
- Borrowing other people's codes is cheating.
- DO NOT POST YOUR CODES ON GITHUB EVEN AFTER THE SEMESTER IS OVER.
- DO NOT POST YOUR CODES ON GITHUB EVEN AFTER THE SEMESTER IS OVER.
- DO NOT POST YOUR CODES ON GITHUB EVEN AFTER THE SEMESTER IS OVER.
These rules are NOT to discourage you to try. Many students in the past have said they learned the best with hands-on programming experience. So, go talk to your classmates now!
3. Proposal Format
I just need one submission per team.
I just need one submission per team.
I just need one submission per team.
You are to include the following in 1 to 2 pages. Upload the file as an attachment on Canvas (the site is open until the due date specified early).
- Names of the team members
- Project choice
- Alternative choice if the proposed choice is not granted
- Programming language and tools/packages to be used:
- Implementation scope: explain what will be vs. won't be implemented, and any extensions to be added
- Tentative schedule
- Special circumstance if any
4. Project Topics & Resources
I am open to other topics as long as they have physical design elements.
5. What to Submit (Final Submission)
I just need one submission per team.
I just need one submission per team.
I just need one submission per team.
Project submission site will be open on Canvas. Please make sure to upload ALL of the following into a SINGLE ZIP file for full credit:
- source codes, scripts, makefile, and README file on how to compile and run
- additional packages used
- presentation slides (in PPTX only, you are to add all tables and GUI-related images here)
I need PPTX, not PDF.
I need PPTX, not PDF.
I need PPTX, not PDF.
Important note
- Your package must be self-contained. Avoid using hard-to-find packages that complicate compilation and execution.
- Make sure your compilation and binaries WORK ON ECE servers. This is the only platform we will use to compile and execute your program.
- If you are using tools such as MATLAB, etc, make sure we can source and invoke the tools in ECE path, NOT your personal computer.
6. Project Report Format & Grading Policy
Your final "report" should be in powerpoint format, NOT word document. Your slides need to contain the following sections:
- Title (1 slide, names, semester info). YES, PLZ ADD SEMESTER INFO!
- Problem Formulation (1 slide)
- Algorithm Discussion (1 slide)
- Implementation Issues (discuss in detail what issues you faced, overcame, and/or still remain)
- Experimental Results (Most important, plz be very thorough, add/explain all tables and images here)
- Extensions added (optional)
- Conclusions
Your final grade will be based on the following criteria:
- completeness & correctness (60%)
- programming style and documentation (20%): you will be penalized if your codes include overly "long" functions/sub-routines (> 30 lines of codes)
- PPT presentation quality (20%)
- extensions (plus alpha)
Important note
- We will grade your project during the final's week. Make sure to check email regularly in case we contact you for any issue in compilation, runtime error, etc.
- We will compile your source codes. It is YOUR job to add all related instructions in the README file so that we can successfully compile your codes.
- We will run your executable with the benchmark designs we provided PLUS some wild card circuits. Your grading will be based on (1) if we can reproduce your results both in terms of solution quality and runtime, and (2) how competitive your results are based on the wild card. Make sure to add a README file to clearly show how to run your executables and explain command-line options.
- It is YOUR job to CLEARLY highlight any extension you added in the final report and project PPT.