Project #1 – Fill-in Code
Given the starting file, fill in all the blanks with your own code
Your Task
Your task is to finish the given python file with lines of code that solve the problem described. Part of this assignment is to test how closely and precisely you can follow the directions below.
There are 10 TODOs laid out in comments in the program. Additionally, there are three extra credit assignments at the end of the program.
All of the problems can be solved with writing only a single line, but you may write multiple lines if you prefer. You do not have to add any other code to the file than what is laid out in the file. You may want to add extra print statements to help find errors in your program, but these are not required and should be removed/commented out prior to submitting the project.
You are not allowed to omit any code we ask you to complete. Omitting an answer will result in a loss of points.
You will be penalized if the statements in the program do not work in the same general way as the problem describes, even if the program works correctly otherwise.
After the project is due, your program will also be graded by hand. The autograder is not necessarily the final grade you will receive on the project.
You must include a comment at the top of your program containing your name, “Project #1”, and the date you turn it in. (Or you will lose points)
Link to project file: https://drive.google.com/drive/folders/1drx6pV1kyO30Y-htha47IHqD73_RIfpL?usp=sharing
Save your program as Project1.py. This needs to be the name of your file for the autograder to run correctly. If you are failing every test, check the details to see if your file was named exactly correctly.
Testing
Test your program completely. Run it several times: verify that for each section outputs the desired values, and that the prints match exactly to the desired. Once you have confirmed to yourself your program is functioning, you should submit it to the appropriate place on gradescope.com. If you fail any tests, gradescope will tell you which test, a small amount about the test, but it is up to you to figure out what went wrong. This is a very important part of the programming process.
Extra Credit
There are three places indicated in the code where extra credit can be gained. You may do any, all, or none of these. You will not be penalized, but you won’t get any extra credit, if you attempt an extra credit and it doesn’t work correctly.
Extra Credit #1
In order to complete extra credit 2 and 3, we need to use the premade math functions that come with python. This TODO should be a single line that allows us to use the functions from the math library.
Extra Credit #2
Fill in the mathematical equation so that the line " fac_by_hand = 1 " calculates the value of 5! [5 Factorial] and stores it into a variable called fac_by_hand. This calculation should only use the standard python multiplication (*). Then do the same with the second line " math_fac = 1 ", so that the 5 factorial is calculated using the math library's factorial function. The print out for this TODO should read 120 is equal to 120. Remove the comment symbol from the line: #print("TODO 12 Attempted") in the starter code so the autograder can tell you attempted it.
Extra Credit #3
Pick a function from the math module, use it correctly and print out the result (a list can be found here: www.w3schools.com/python/module_math.asp). Remove the comment symbol from the line: #print("TODO 13 Attempted") in the starter code so the autograder can tell you attempted it.
Submission
When you are done, turn in the assignment via Gradescope, you should submit only your .py file. Make sure that it is named Project1.py.
MAKE SURE YOUR NAME IS IN IT OR YOU WILL LOSE 10 POINTS (See rubric below)
After you submit, gradescope will automatically test your program, and you should shortly see the results from the tests. If you have failed any, a small amount of feedback might be given, and you will be allowed to resubmit your code. It is up to you to figure out what went wrong. This is a very important part of the programming process. We may offer assistance in finding the bug, but we will not bug fix for you.
After the project is due, your program will also be graded by hand. The autograder is not necessarily the final grade you will receive on the project.
Here is a little step-by-step video I made explaining one way to upload you .py file to gradescope: https://youtu.be/XTnnhdwdloY
Grading
After the due date, your project will also be hand graded. We are looking to see if your project was completed authentically, and if there are parts of your code that are partially correct and deserve partial credit.
In the report of your grade, you will see a score and a set of letter codes explaining what you did wrong. If you get 10 points, there will be no associated letter codes.
The grading codes A-E are defined and will be the same for all programs that you turn in. A summary of those codes is as follows:
A: -10 Student’s name is missing from the top of the program.
B: -100 Program cannot run due to syntax errors.
C: -100 Program crashes before finishing.
D: -10 (once) Program uses overly advanced methods not yet discussed in class
E: -25 (once) Program works correctly, but changes the assignment in order to do it.
In addition, penalties for this assignment only will be incurred for the following infractions (which may supersede some of the generic codes listed above):
F: -10 (each) Program is missing a solution to a required problem.
G: -10 (each) Required line of code is omitted (like omitting a Print statement, for example, either in part or in its entirety).
H: -25 (once) Project file is not named correctly, causing autograder to fail.
Each of the three extra credit items are worth +3.33 points added to the score only if implemented correctly. Incorrect implementation will not be penalized.