The purpose of the homework 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 up to 7 days will be accepted with a 20% penalty.
  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.



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

    Review your skills from MIS 15 (book page numbers in parenthesis have the content that you should review) and develop new skills.

    1. Chatter 1:
      1. Define class methods, attributes, and properties  (page 6)
      2. Use proper naming standards (page 15 and 126)
    2. Chapter 2:
      1. Use events (page 74)
      2. Use proper inline documentation/comments (page 78)
      3. Understand VB documentation and help (page 99)
      4. Debug your solution (page 100)
      5. Use Status Strip controls (page 93)
    3. Chapter 3:
      1. Use the correct data types (several p ages)
      2. Convert data to different formats (pag153)
      3. Format numbers (page 157)
      4. Use proper exception handling (page 160)
      5. Use group boxes (page 171)
    4. Chapter 4:
      1. Use decision logic and logical operators (page 229 and 230)
      2. Evaluate Strings, use String methods (page 241)
      3. Use radio buttons and groups (page 258)
    5. Chapter 5:
      1. Use the Items collection (page 295)
      2. Use loops (page 316)
    6. Chapter 6:
      1. Define procedures and functions (page 355)
    7. Chapter 7:
      1. Work with modules
      2. Use menus
      3. Use multiple windows and forms
    8. Chapter 8:
      1. Use arrays and lists
    9. Chapter 9:
      1. Use Files
      2. Use Structures
    10. Other
      1. Understand UML Diagrams and translate them into Visual Basic code
      2. Work in pairs to learn from each other

Files Needed:

You need the following files to complete all assignments: f1040ez.pdf, i1040ez.pdf, Logo.gif, TaxTable2014.csv, sac_seal_c.jpeg

Note: Before you start writing the code for this assignment, you must first complete and submit the paper 1040EZ form which I will provide you.


Class Diagram


PROGRAM FILES: You will build a project named TaxReturn1040EZ which calculates the tax return for taxpayers using Form 1040EZ. It is obvious that you cannot solve a problem that you do not understand. It would be very helpful if you download the tax form (f1040ez.pdf) and the instructions (i1040ez.pdf) from my web site or from the IRS web site ( and review the tax form and its instructions. Before you start programming this assignment, please complete one of the 1040EZ forms manually to understand the process.

Interface Description:

  1. Application consists of a single form, as shown in Figure 1. 
  2. On the bottom of the form, there is Status Strip bar with only one label which displays the information messages to the user. 
  3. All fields with white background are editable (input) while the fields with light blue background are not editable (calculations). Look at the attached instructions to understand the calculations. 
  4. Form uses two command buttons: Calculate (calculates the tax return) and Clear (clears all fields). The Calculate button is disabled until the user enters all required data.
  5. Display the image shown on the left of the application window (link is on the files above).
  6. Objects with blue labels are group boxes.
  7. Text boxes should have the initial values shown in Figure 1.
  8. Refund Account Information group box is not visible (will be come visible only if there is a refund).
 Figure 1
Figure 2

Implementation Description:

  1. Create the classes shown in the Class Diagram above.
  2. Create the fields (attributes) shown in the Class Diagram above for each class (you can create more fields if it you need).
  3. Create the methods shown in the Class Diagram above for each class. Note that in order for these methods to perform the required calculations, they will need to receive the appropriate data, which you need to pass to these methods).
  4. The Joint Return check boxes are used to calculate the amounts in Line 5. 
  5. If the Joint Return  radio button is "No", the "Spouse" check box is disabled.
  6. List box items in Line 5 are used to calculate the amount for Line 5. Look in page 2 of Form 1040EZ in section "Worksheet for dependents who checked "Yes" on line 5" to understand how this amount is calculated.
  7. To calculate the tax on your taxable income, use the table TaxTable2014.csv.
  8. "This is your refund"  label text changes to "This is the amount you owe" if you owe tax to IRS.
  9. If you have a refund, the Refund Account Information group box becomes visible (displays).
  10. If you owe money to the IRS, the amount you owe is in red, bold text. If you have a refund, the refund amount is shown in bold black text.
  11. All calculated amounts are formatted as currency.
  12. clsTaxRates constructor will read all the data from the TaxTable2014.csv (see sequence diagram below)
  13. findTaxRow method will return a TaxTableStructure (see sequence diagram below).


  1. File-->Exit (exits the application).
  2. About displays a message as shown below (new form).

Figure 3

Edits and Validations

Unit Test Plan (sumbitted BEFORE the solution code)

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



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





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

Note: The tax year text box must have a required field validator.