Several (See below)


For the Final Project, you will have an opportunity to write your own machine problem. For this project, you should combine the concepts you have learned from this class along with new and original ideas of your own creation. This is a team project, with a team size of 4 individuals.

Friendly Advice

  1. Choose a topic more challenging than a machine problem. This project is worth more points than a MP and you can divide the work among members of your team.
  2. Don't choose an impossible topic. You need to get it working by the end of the semester. A program that doesn't do anything won't earn any points.
  3. Work as a team. Start early. Set a regular work schedule. Don't wait until the last minute to verify that your code works together. Help a team member who gets stuck on a problem. Meet and talk with each other about the status of the project regularly.
  4. Be sure to document the parts of your code that you borrow from other students or find on the Internet. You are welcome to use libraries and/or source code that you find elsewhere, but will only be graded on the part of the code that YOU write. Documented copying is a complement to the original author. Undocumented plagiarism is a crime. If you claim someone else's code as your own, your team will fail the final project.
  5. Resources are available at the ECE 390 Resources page, http://courses.engr.illinois.edu/ece390/resources/
  6. Choose an original topic. Original projects yield original ideas!

Optional Demonstration

At the last class meeting, you may demonstrate your final project to the class. The large-screen projectors in the classroom will be available to you to demonstrate your project. The demonstration will NOT be graded.

Project Submission

You are expected to submit your project documentation, project write-up, executable code, and source code electronically.

Your hand in should have three sections (subdirectories):





Of the code meeting criteria above, points will accumulate based on:

Average scores will be given for average amount of work. Higher scores were given to individuals who contributed in proportion to programming efforts above the level of a machine problem.

Milestones and Deadlines

The following table summarizes how points will be earned for the final project. There is no extra-credit bonus for early submission.

Milestones and Deadlines 




Signup, Summary, Initial Project Write-up


Wednesday, 5 April, 5:00 p.m.

  • Define, document, and delegate every major subroutine.
  • Outline the code inspection and testing plan.
  • Submit a draft of your \PUBLIC section, as described above.
  • Your project write-up will be evaluated by a TA at the web site you specify on the summary page.

Optional Demonstration


Tuesday, 2 May, in class

  • Present your project to others in the class.

Final Project Submission


Wednesday, 3 May, 5:00 p.m.

  • Submit your finalized \PUBLIC section to TA in lab. 
    Be sure that all web links and images are local (i.e., relative to the current directory, not specified to an internet host). 
  • Submit your \CODE section, as described above. Be sure your source code is complete with comments and that every function is credited to an author or external source. 
  • Submit your \PROGRAM.

Final Project Memo (on paper)


Wednesday, 3 May, 5:00 p.m., with Final Project Submission

  • Similar to cover memos for other machine problems, write a short individual memo of 200 to 400 words about what you learned from the final project. Do not merely summarize your development log, but think analytically about how you contributed to your team and how you benefited from other team members.

Peer Evaluation (on paper) PeerEvalForm


Wednesday, 10 May, 8:00 a.m., at the Final Exam

  • You will receive the sum of the two higher peer ratings from the other three members of your team.

Final Project Staff Evaluation


Friday, 12 May, 5:00 pm

  • We will grade your code and documentation by this date.


Return to ECE390 Home Page Spring 2006