Assignment 2: Compound Interest

Compound interest is an important financial concept that motivates saving early and often in your lifetime. Assuming no withdrawls from a savings account, the interest earned on your savings in one time period becomes part of the account balance and earns interest in future time periods. Therefore, even without any additional principal, an account earning compound interest will earn more and more interest in each subsequent year.

For a specific investment, we can calculate the amount of money in the account as:

where:

For this assignment, you'll be asked to write a program that gathers some of these variables from the user, calculates some figures using the above equation, and displays the results.


Basic Requirements

Satisfying all basic requirements perfectly, with no points deducted for any reason, would earn a maximum score of 8 out of 10 for this assignment.

You need to write a program that acts as a savings calculator. It should:


Advanced Requirements

Satisfying both the basic and advanced requirements perfectly, with no points deducted for any reason, will result in a full 10 out of 10 score for this assignment.

You need to write a program that acts as a savings calculator and comparison tool. In addition to performing the basic requirements outlined above, your program should provide the user with an option to enter an additional set of savings parameters (P, r, n, and t). For each, you should display the results outlined in the basic requirements. In addition, your program should say which of the options would result in the largest final value (P'). More specifically, your program should:


Sample Output

An example of the output produced by my solution to this assignment can be found here.

Grading Criteria

This assignment will be graded on a 10 point scale. Your grade for this assignment will be based on a combination of factors including:

Seeking Help

For general questions about Python, please use the class forum on Piazza to seek assistance. For questions that are personal in nature or that would reveal a solution to the assignment, you ask for help by email or during office hours. However, please note that emailed questions will not receive an immediate response. It is likely that it will take 24-48 hours for me to respond.


Submitting Your Solution

Please Note: You must name the main python file for your assignment "assignment<number>_<onyen>.py". For example, for assignment 3 I would name my file assignment3_gotz.py because my onyen is gotz.

Using the wrong name for your file will be cost you points on your assignment grade. Please follow this requirement carefully!

Please submit your assignment via Sakai. You should submit a zip file containing your entire project folder. To create the zip file, follow the submission instructions that have been posted at the bottom of the "Other Information" page on our course website.

The due date for this assignment can be found on the course schedule.