Final Project - Calculator
The final project spans three weeks and includes an intermediate submission on April 10th - 11th and a final submission on the November 17th and 18th. You will need to show up to lab during your regular hours during all three weeks.
Student with smallest s1 record of code that works is exempt from the final with an A in EE3376 and EE3176. The code that is turned in for the design competition can be different than the code turned in for extra credit. The deadline for both versions is the same.
Teams will not be allowed.
There is a 15-minute check-out signup sheet in the lab. This sign-up sheet will be posted in the lab and the time/date you sign up for will be for both submissions. For those who have not signed up by the weeks of the lab, you will be assigned a check out time.
This is a design project, and you are intended to do the work. So, unlike previous labs, the TA will NOT be able to answer questions related to your project design. The TA is primarily there for safety reasons and to correct any malfunctions in the hardware or software development environment.
Don’t cheat on this project... Don’t even discuss possible solutions... We are hyper-sensitive to copying on this lab and will use a variety of techniques to detect plagiarism - including a script that detects similarities (similarities that you are likely not considering - hidden finger prints), professor/TA inspection, and the results of the oral exam (if you can’t describe how your code works, we’ll assume you didn’t write it). This lab is the essence of EE3376 and EE3176 and is where you will really learn. Don’t be a gallina-chicken-baby!!! Step up and engineer something!!!! Otherwise, prepare for a date with the Dean of Students...
1-Description
Design a one digit input reverse polish notation calculator that will add, subtract, multiply, and divide.
2-Requirements
Your calculator should accept RPN input - meaning:
<first number> <enter> <second number> <enter> <operation>
Anything else is considered illegal and should not be considered unless you are seeking 1 point of extra credit (see below).
In the above example, the first number should appear only after pressing <enter> (row 4 column 1).
The second number should appear on the first line after the first number but only after the second <enter> is pressed.
The legal operations include “+, -, * and /”(row 1-4, column 4).
After pressing the operation in the sequence above, the operation symbol and answer should be display to the right of the inputs.
Extra Credit:
Up to 4 points of extra credit can be made for the EE3376 final grade.
1 point if you turn in the full project in the intermediate turn-in including extra credit.
Check for and report illegal input combinations (say two numbers without an enter between) is worth 1 point.
Use the extra button as a backspace / clear, so that any amount of the problem can be erased working backwards (i.e. one push of this button erases the last number entered).
One additional button (row 4 / column 3) is open for bonus points by performing a fifth operation for which the bonus value will be negotiated. The ability to negate either input is worth 3 points of bonus.
You can also try to negotiate an alternative extra credit scheme with a total of 3 points max.
3-Checkout
You will have lab priority during your regularly scheduled lab time and additional hours will be setup throughout the week on a first-come-first-serve basis. These will include possibly Tuesday afternoon and Saturday morning depending on TA and professor availability.
In the first week, you need to submit a pre-lab which will be your first draft of code that will detect keypad entries. You can turn it in at the end of the lab.
Intermediate check out (April 10th and 11th) - You must demonstrate basic object detection with LEDs.
Final check out (April 17th and 18th) - You must fulfill all the requirements described above during either your regularly scheduled lab time or during the Thursday / Friday time slot on the lab wall.
If you are interested in the design competition, email your small code by April 18th with the s1 record. This should be done in addition to the full code email requested above.