ISY00245 Principles of Programming - Major Assignment

profileActiveNow
 (Not rated)
 (Not rated)
Chat

Major Assignment

Objectives

This assignment will provide practice and experience in:

  • Writing a program – Topic 2
  • Debugging– Topic 3
  • Stepwise Refinement & Modularisation – Topic 4 and Topic 10
  • Selection – Topic 5
  • Iteration – Topic 6
  • Arrays – Topic 7
  • File handling – Topic 9
  • Structs – Topic 11

NB Depending on when you start this assignment you may need to read ahead especially on how to use files and structs.

Suggestions:

Read the assignment specifications carefully first. Write the first version of your program in Week 4 and then create new versions as you learn new topics. Do NOT leave it until Week 11 to start writing the program. Review Topic 4 on stepwise refinement. This is how you should approach the major. Also note that though your program must do something and must compile it does not have to be complete to earn marks.

Specifications

One of the many tasks that programmers get asked to do is to convert data from one form to another. Frequently data is presented to users in well-labelled, tabular form for easy reading. However, it is impossible or very difficult to do further processing of the data unless it is changed into a more useful form.

For the purposes of this assignment I have downloaded and will make available the undergraduate applications to the 37 Australian universities from the Department of Education for 2009 – 2013 data file as a text file.

Your program will load this data into an array of structs, save the data in a form that is directly usable by a database (see below), display the data on the console in its original form and in its database form. It will also allow the user to display the highest number of applications for a given state and year.

Your program will use a menu to allow the user to choose what task is to be done. You will only be required to handle the Applications data. You can ignore the Offers and Offers rates data (see below).

Data

See “undergraduateapplicationsoffersandacceptances2013appendices.txt” for the original data.

This is the data your program should produce and save:

 

New South Wales  Charles Sturt University  4265      4298      4287      4668      4614   

New South Wales  Macquarie University      6255      6880      7294      7632      7625   

New South Wales  Southern Cross University             2432      2742      2573      2666    2442     

New South Wales  The University of New England    1601      1531      1504      1632    1690     

New South Wales  The University of New South Wales            10572    10865    11077    11008    11424   

New South Wales  The University of Newcastle          9364      9651      9876      10300    10571   

New South Wales  The University of Sydney               13963    14631    14271    14486    15058   

New South Wales  "University of Technology, Sydney"           10155    9906      9854    10621    9614     

New South Wales  University of Western Sydney       11251    11776    11713    11947    13158   

New South Wales  University of Wollongong              3645      3685      3843      3801    3608     

Victoria    Deakin University             10780    12301    11223    11443    11288   

Victoria    La Trobe University         7350      8377      8971      8987      9019     

Victoria    Monash University           13346    15148    15119    14128    14786   

Victoria    RMIT University               12830    13232    13444    13556    12472   

Victoria    Swinburne University of Technology          3091      3314      3494      3288    3099     

Victoria    The University of Melbourne        10035    8995      9242      10854    11315   

Victoria    University of Ballarat       1609      1718      1697      1531      1334     

Victoria    Victoria University           5334      5427      4708      4789      4475     

Queensland             Central Queensland University     2970      3114      3016      3808    3931     

Queensland             Griffith University            10513    11828    12137    11342    11003   

Queensland             James Cook University    4852      5675      5371      5882      5899   

Queensland             Queensland University of Technology        12062    13806    13446    13538    14255   

Queensland             The University of Queensland       12939    14169    14359    14469    14778   

Queensland             University of Southern Queensland             3754      4378      3730    3219      2508     

Queensland             University of the Sunshine Coast  2238      2569      2466      2594    2656     

Western Australia  Curtin University of Technology  5814      6993      7015      7013    7484     

Western Australia  Edith Cowan University   3769      4343      3481      3407      3257   

Western Australia  Murdoch University         2706      2837      2893      3102      2834   

Western Australia  The University of Western Australia           6361      6661      7143    5782      5366     

South Australia      Flinders University of South Australia        4558      5133      5442    5639      5823     

South Australia      The University of Adelaide            7613      7348      7971      8510    8969     

South Australia      University of South Australia        8960      9419      8950      9651    9504     

Northern Territory Charles Darwin University             2148      2335      2403      2625    2769     

Tasmania  University of Tasmania    9251      9692      10521    11722    12482   

Australian Capital Territory              The Australian National University             3541    3326      3329      3379      3263     

Australian Capital Territory              University of Canberra    1917      1905      2166    2088      2050     

Multi-State              Australian Catholic University      5893      6988      7181      8060    8974

Suggested Approach (Save a new version after each step)

I have put in brackets my assessment of the relative difficulty of each task. I found a hard task took more effort than a medium task which in turn took more effort than an ‘easy’ task.

1)      (easy) Write a method to display instructions to the user

2)      (easy) Write the code to display a menu and test it

3)      (easy) Write the code to display the contents of the data file line by line

4)      (easy) Write the code to save the contents of the data file to a new file

5)      (medium) Write the code to copy the file data into a simple array of structs where the structure is something like:
struct data  string line;
and the array is
data[] myData = new data[100];

6)      (easy) Write the code to deal with the unnecessary data at the start

7)      (medium) Write the code to deal with the unnecessary data at the end

8)      (hard) Write the code to modify the code to convert the original data into database format. You do not have to follow the exact structure given above, e.g. you could use commas instead of tabs

  1. You may want to divide this into two problems. First treat the numbers as a string, i.e.
    New South Wales, Charles Sturt University,"3,769"
    and when you have that working then work out how to convert "3,769" into 3769 etc

9)      (easy) Modify the struct to handle the modified data

10)   (easy) Modify the file save code so that is saves the modified data

11)   (medium) Write the code to find the highest number of applications in a year for a state

 

NB you can simulate any step in order to gain marks. For instance if you cannot modify the data into database format you could have a separate file with the sample data abaove and use that data to show that you can find the highest value in an array of structs.

Submission

You must zip (zip not rar, arg, hqx, 7z or any other format) your entire project, include the marking sheet with the Assignment Cover Sheet section completed and upload the one submission.

Failure to follow these instructions will delay marking and you may be asked to resubmit the assignment correctly.

  • 12 years ago
ISY00245 Principles of Programming - Major Assignment Solution
NOT RATED

Purchase the answer to view it

blurred-text
  • attachment
    consoleapplication1.zip