ASSIGNMENTS

ASSIGNMENT 1 - ASSIGNMENT 2 - ASSIGNMENT 3 

The purpose of the individual assignment is to encourage further practice for the topics covered in our book but not covered in class (due to time constraints) and to give you the opportunity to work on more comprehensive exercises than those covered in the book. Rather than giving you homework assignments centered on different topics, I prefer to give you homework assignments that build and refine a single solution. This semester's assignments will focus on solving the needs of a small Real Estate company. 

Here is an overview of the 3 assignments:

Assignment Submitting Standards:

  1. All assignments are due at the beginning of the class period.

  2. Late assignments will NOT be accepted.

  3. All assignments should be submitted in a 9x12 manila envelope with the cover letter statement (click for sample) attached (stapled, glued, taped) to the the outside of the envelope.

  4. Printed copy of your source code.
  5. The System Test plan completed and signed including printout of your output (click for sample).
  6. A CD with ALL the source code.

ASSIGNMENT 1: HOUSE CALCULATOR APPLICATION top

PURPOSE

The purpose of this assignment is to provide you with a comprehensive exercise to practice the following material:

  1. Review your skills from MIS 15

  2. Use event-handling

  3. Use arrays and collections

  4. Use exception handling

  5. Use multiple windows and forms

  6. Write multiple classes

  7. Understand UML Diagrams and translate them into Visual Basic code

  8. Work in pairs to learn from each other

Files Needed:

You need the following files to complete all assignments: error.gif, inform.gif, HouseL.png, HouseR.png


UML DOCUMENTATION

Class Diagram


SOLUTION DESCRIPTION

PROGRAM FILES: You will build a project named HouseCalculator which will calculate the costs and benefits of home ownership. 

Interface Description:

Application consists of one tabbed panel which contains the 3 tabs named "Step 1: Enter your Data", "Step 2: Cost Estimates", and "Step 3: Analysis and Results". This tabbed panel appears on the top of the applet area. On the bottom of the applet area, there is a  label which displays the error messages (described later).

On the bottom of the window, there is Status Strip bar with only one label which displays the error messages to the user.

"Step 1: Enter your Data" panel

 Figure 1

  1. Picture on the left contains the image shown.

  2. Objects "House Data", "Mortgage Data", and "Personal Data" are group boxes.

  3. All objects with white background are Text Boxes except the Loan Points which is a label.

  4. Loan Interest Rate object is a Combo Box.

"Step 2: Cost Estimates" panel

 Figure 2

  1. "Framed" objects are group boxes and contain labels only (display data)

  2. Objects displaying totals of calculations have larger fonts.

"Step 3: Analysis and Results" panel

 Figure 3

  1. "Framed" objects are group boxes and contains labels only (display data)

  2. Objects displaying totals of calculations have larger fonts.

  3. On the top of this panel, I have placed a Track Bar object (behavior of this object is described below). Cursor is Hand. Also, on the left area above the track bar, there is a label to display the values selected from the track bar (as you slide bar).

Implementation Description:

"Step 1: Enter your Data" panel

  1. Window in Figure 1 is displayed (use your own coordinates for the controls as long as they appear similar to Figure 1). On the left of the window area, picture "sac_seal_c.jpeg" is displayed.
  2. When the application is first displayed, the default values of the Text Boxes are shown (defaults), the radio buttons are not selected, the combo box has no values, and the Loan Points label is blank.
  3. When the user selects the number of Loan Years from the radio button, the applet searches in the appropriate array object and adds the Loan Interest Rate values to the combo box. At this point, the Loan Points label gets its value. When a different Loan Interest Rate is selected from the combo box, the appropriate Loan Points label is updated. Create the 2 arrays that store the Loan Interest Rates and Loan Points based on data shown in Figure 4.
  4. After all the data is typed and selected in the "Step 1" tab, you can click on the other tabs to see either the Cost Estimates or the Analysis and Results.

  Figure 4

"Step 2: Cost Estimates" panel

  1. Down Payment label shows the amount from tab 1 (formatted as currency).

  2. Funding fee is the (House Price - Down Payment) * Loan Points.

  3. Loan Amount is (House Price - Down Payment) + Funding fee.

  4. Loan Origination Fee is 1% of the Loan Amount.

  5. Prepaid Interest is 1 month interest of the loan amount.

  6. Except from the costs described above, all other items have fixed costs (i.e., Appraisal Fee, Credit Report Fee, etc). Use them as constants in your code.

  7. Payment & Interest will be calculated using the PMT Function. Interest is calculated using the IPMP function

  8. Property taxes are 1.18% of the House Price.

  9. Mortgage insurance is 0.5% if the Down Payment divided by the House Price is less than 20%.  

  10. Home Insurance is 0.34% of the Home Price.

  11. Garbage and Sewer bills are fixed.

  12. All amounts in this panel are formatted as currencies.

"Step 3: Analysis and Results" panel

  1. When the user selects the number of Loan Terms (loan years) from the radio button, the Track Bar object updates its MAX values.

  2. House Appreciation is the House Price times the Estd. Appreciation you typed in the "Step 1 ..." tab.

  3. Tax Savings is the (Interest Payment of your Loan Amount plus the property taxes minus 10,000) times the total of Federal and State Income Tax rates.

  4. Rent Expense is the amount you typed in the "Step 1 ..." tab.

  5. Equity Appreciation is difference of your Payment & Interest minus the Interest Payment.

  6. Opportunity Cost DP is the Total Closing Costs times the Opportunity Cost % you typed in the "Step 1 ..." tab.

  7. Opportunity Cost MP is (PITI + Monthly Bills - Tax Savings - Rent Cost) times the Opportunity Cost % you typed in the "Step 1 ..." tab.

  8. Maintenance is 0.3% of the House Price.

  9. Monthly Gain/Loss is Total Benefits - Total Costs.

  10. Cumulative Gain/Loss is Monthly Gain/Loss times 12 times the number of years selected in the Track Bar.

  11. All calculated amounts in this panel are formatted as currencies.

  12. If the Monthly Gain/Loss and Cumulative Gain/Loss values are positive the amounts are shown in Black text. Negative values display in Red text.

Note to help out with all these calculations, I have prepared an Excel work book that does the same thing (almost). Here it is: Home.xls.

Edits and Validations:

  1. Since the user may have typed invalid data in the first tab, if there is an error or exception, the error message is displayed on the label at the bottom of the applet. If non numeric data is entered in any of the text boxes, your program should handle these errors using exceptions with an appropriate message displayed to the user (Figure 5). Note that the apprication checks for errors when the Step 2 or Step 3 tab is selected.
  2. Other Error: Down Payment cannot be more than the House value.
  3. All % fields cannot be negative.
  4. Rent Cost cannot be negative.

 Figure 5

I will demonstrate this application in class and will provide more clarification.


ASSIGNMENT 2: HOUSE CALCULATOR APPLICATION Version 2.0top

PURPOSE

The purpose of this assignment is to provide you with a comprehensive exercise to practice the following material:

Files Needed:

You need the following files to complete all assignments: InterfaceImages.zip, PropertyImages.zip, and Assignment1. Here is the database: HouseCalculatorSQL.bak ((in SQLServer Management Studio, right click on the Databases folder and then select Restore Database).


BUSINESS DESCRIPTION

This assignment builds upon the Assignment 1.You will continue working on this application but now you will add the database functionality to it. 


UML DOCUMENTATION


STATE EVENT DESCRIPTION

Application Interface

Edits and Validations:

Here is the database select statement:

Program has the following requirements:

  1. Have the main menu described above.

  2. Information displayed in your program is read and written to the HouseCalculatorSQL database.

  3. Write your solution to include the classes shown in the class diagram above.

  4. Pay attention to structure, style, and features. 

  5. Ask questions, in class, if you need more explanation on this assignment.


ASSIGNMENT 3: HOUSE CALCULATOR Version 3.0 top

PURPOSE

The purpose of this assignment is to provide you with a comprehensive exercise to practice the following new material:

Files Needed:

  1. http://www.csus.edu/Monet/Images/header/logo-banner.png

  2. http://cbaweb.cba.csus.edu/images/aacsb.gif

  3. http://www.foxtophone.com/wp-content/media/don_t_panic_button.jpg


BUSINESS DESCRIPTION

This applications builds on the previous assignments but it runs on the web.


UML DOCUMENTATION

None provided for this assignment.


ASSIGNMENT DESCRIPTION