Description
Aim
The objectives of this assignment include:
- Learning about procedural programming, control structures, arrays, dynamic memory allocation and handling input/output
Apply the concepts learnt by developing a Weather Information Processing System
Background
Your software company, Virtual Solutions, has just won a $1m contract to design a build a prototype Weather Information Processing System (WIPS).
For this assignment, you take on the role of a software architect. You are supplied with sample input weather data (kindly provided by the meteorological station), and you need to develop a program that does the following:
- read in and process a configuration file
- display city map
- display cloud coverage map (cloudiness index)
- display cloud coverage map (LMH symbols)
- display atmospheric pressure map (pressure index)
- display atmospheric pressure map (LMH symbols)
- show weather forecast summary report
The program should be compiled as ‘csci251 al . exe’ and run in Ubuntu 14.04 (Linux OS). The next section describes the requirements for the program.
Task Requirements
- Upon startup, the program should prompt user to enter a ‘configuration’ filename. The program then proceeds to read the contents (of the entered filename) to further initialize Its own program parameters / data structures. Please refer to Appendix A, which provides details on the configuration file and its usage.
- The meteorological station has adopted a map-grid coordinate system upon which it overlays all other weather data. With regards to display city map option, please refer to Appendix B, which elaborates on this coordinate system, the unit representation, the relative positioning of different cities and its display requirements.
- For the display requirements of cloud coverage (cloudiness index), AND cloud coverage (LMH symbols) (i.e. options 3) & 4)), please refer to Appendix C, which will discuss about the interpretation of cloud cover input data, its subsequent processing algorithm and output format requirements.
- For the display requirements of atmospheric pressure (pressure index) AND atmospheric pressure (LMH symbols) (i.e. options 5) & 6)), please refer to Appendix D, which will discuss about the interpretation of pressure input data, its subsequent processing algorithm and output format requirements.
- For the display requirements of weather forecast summary report, please refer to Appendix E, which will provide details about the kind of summarized weather data to be displayed, processing algorithm to compute the probability of rain and its graphical display format.
- Refer to Appendix F, for a description of the program’s main menu requirements
- Once the program is completed and tested to be working successfully, you are encouraged to add on “new features” to the program that you feel are relevant to the problem. Additional marks may be awarded subject to the relevancy and correctness of the new functionalities. (Note: the additional features will only be considered IF the program has correctly fulfilled all the basic requirements elaborated in the earlier sections!)
- You are not allowed to declare your own C++ classes for this program, as this is a purely procedural (not Object Oriented) programming assignment!
- l) You are to use only C++ language to develop your program. There is no restriction on the IDE as long as your source files can be compiled by g++ compiler (that comes installed in Tutor’s Ubuntu Linux) and executed in the Ubuntu terminal shell environment.
Deliverables
1) The deliverables include the following.
- a) The actual working C++ program (soft copy), with comments on each file function or block of code to help the tutor understand its purpose.
- b) A softcopy word document that elaborates on:
- (Interpreted) requirements of the program
- Diagram / Illustrations of program design
- Summary of implementation of each module in your program
- Reflections on program development (e.g. assumptions made, difficulties faced, what could have been done better, possible enhancements in future, what have you learnt, etc.)
- c) A program demo/software testing during lab session. You must be prepared to perform certain tasks / answer any questions posed by the tutor.
- IMPT: Please follow closely, to the submission instructions in Appendix G, which contains details about what to submit, file naming conventions, when to submit, where to submit, etc.
- The software demo / testing Will be held during lab session where you are supposed to submit your assignment. Sometime will be allocated for you to present / demonstrate your program’s capabilities during the session.
Grading
Student’s deliverable will be graded according to the following criteria:
Program fulfills all the basic requirements stipulated by the assignment
Successful demonstration of a working program, clarity of explanation / presentation and satisfactory answers provided during Q & A session.
Additional effort (e.g. enhancing the program with relevant features over and above task requirements, impressive, ‘killer’ presentation)
(iv) After the submission of deliverables, students will be required undergo a software testing process (to determine the correctness and fulfillment of software requirements.) Further instructions will be given by the Tutor during the subsequent respective labs. Please pay attention as failure to adhere to instructions will result in deduction of marks.
Tutor’s note:
In the real working world, satisfactory completion of your tasks is no longer enough. The capability, efficiency and robustness of your system to operate under different testing conditions, and the ability to add value, communicate and/or demonstrate your ideas with clarity is just as important as correct functioning of your program. The grading criteria is set to imitate such requirements on a ‘smaller scale’
APPENDIX A
Processing Configuration File Info
Upon startup, program should prompt user for the following
Please enter config filename: config.txt
When user presses ‘Enter’, the program should perform File I/O to read in the contents in the stated filename (e.g. in this case ‘config.txt’)
The config.txt contains data like size of grid-map area (indicated by index-ranges), as well as a series of filenames, which your program should further access, in order to read in the various relevant weather data provided by the Meteorological Station. Figure A-I below provides a sample of the actual contents within this configuration file.
| // The range of ‘horizontal’ indices, inclusive // E.g. if the range is 0—4, then the indices are 0, GridX IdxRange 0—8
// The range of ‘vertical’ indices, inclusive // E.g. if the range is 0—3, then the indices are 0, GridY IdxRange=O-8 // [x, y] grid—areas which are occupied by cities citylocation . txt // “next day” forecasted cloud coverage (+) for // each [x t y] grid—area cloudcover . txt // “next day” forecasted atmospheric pressure intensity // each [x, y] grid—area pressure . txt |
1 ,
1 , |
2 , 3 , 4
2, 3 ( * ) for Fig. A-I |
Note : The ranges for both ‘GridX IdxRange’ and ‘GridY IdxRange ‘ will determine the size of the display map. The ranges’ values are editable!
Regarding the interpretation of each input files’ data format, please refer to subsequent Appendices.
APPENDIX B
Map-Grid Coordinate System (used by Meteorological Station)
City Map Input Data & Output Requirements
Figure B-l below provides a sample of the actual contents within the input file (e.g. city location. txt), storing city-occupied grid areas.
|
Fig. B-l
To aid in the visualization and understanding of how the city location input data will look like, in a 2D graphical format, please refer to the figure B-2 below.
Each [x, y] read in from the input file (see earlier Fig. B-1) describes the indices of the LOWER LEFT corner of a grid area
E.g. [3, 81 refers to the
Lower Left corner of this grid area
[0, 01 origin refers to the
Lower Left corner of this grid area
The range of (horizontal) indices to be shown on the map ranges from 0-8 (inclusive)
This info is retrieved from the value stored in the configuration file (see
Appendix A, Fig. A-I),
, assigned to the variable
‘GridX IdxRange’ +
The same treatment applies for the variable ‘GridY IdxRange’, for the range of vertical indices
:
| Student’s INPUT Data (in graphical form)
[ Highlighted in Bright Yellov -Grid Area(s) occupied by each city [ Highlighted in Light Yellow — Grid Area(s) surrounding each city |
|||||||||
| 8 | Mid_Cit | Mid_Cit9 | 1 | ||||||
| mid-City | mid-City | Small—Ci | |||||||
| 6 | |||||||||
| 5 | |||||||||
| 4 | |||||||||
| BiÄ-Cit, | Big-City | Big-City | |||||||
| Big_City | Big_City | Big_CiRy | |||||||
| Big-Cit, | Big-City | Big-City | |||||||
| 0 1 | |||||||||
| 2 | 3 | 4 | 5 | G | 7 | ||||
s
Fig. B-2
: Note:
Bright Yellow grid areas indicate the ACTUAL Grid Area occupied by a particular city. For example, in the fig. B-2 above, the city named occupies the following grid areas: [2, 7], [2, 8], [3, 7], [3, 8]
- b) Light Yellow grid areas indicate the grid areas surrounding the perimeter of EACH cit . For example, in fig. B-2 above, the city named the following grid areas surrounding its perimeter: [1, 61, [1, 7], [1, 8], [2, 61, [3, 6],
- The grid areas [1, 9], [2, 9], [3, 9], [4, 9] are not shown as they are BEYOND the upper limits of the vertical GridY IdxRange !
Processing requirements – Display City Map
Realistically, there is limited graphical display capabilities available when you are constrained to displaying output on Ubuntu shell’s terminal. Figure B-3 below illustrates the actual display formattinq requirements when user selects the “Display City Map” option from your program’s menu
- As discussed in earlier Appendix A, Fig. A-I, the range values for variables ‘GridY IdxRange’ and ‘GridY IdxRange’ can vary
This implies the size and shape of your map display can change as well (e.g. it is possible to have a large ‘rectangular’ shaped grid-area map!).
Therefore, please do not assume / “hard code” any constant values for your array sizes to store your map data!
- You must make use of basic C++ array, and dynamic memory allocation (research on how to use ‘new’) to initialize the size of your arrays during program runtime, to store all relevant weather map data.
- The type of the array (e.g. int, double, struct, etc.) is up to you, and there is no restriction on how many arrays you think is necessary to store all the relevant weather data.
- Before your program exit, you must deallocate all memory that was dynamically allocated by you during runtime (research on how to use ‘delete’). Failure to do so results in memory leak and marks deduction!
APPENDIX C
(Cloud Cover Input Data & Output Requirements)
Figure C-1 below provides a sample of the actual contents within the input file (e.g. cloudcover . txt), storing the cloud cover input data, for each grid area in the map.
Note: due to lack of “vertical space” on this page, the entire content is split across Figures C-la, C-lb and C-lc. In reality, the data in all 3 figures are combined and stored in a single input file!
Fig. C-la Fig. C-lb
| [4 ,
[4 , 4, 4, 4, 4, 4, 4, 4 , [5, 5, 5, 5, [5, [5, 5, 6, [7, [7 , [7 , [7 , 7 , [7, [7 , |
51 -72
6 —48 7] -29 81 -75 0 ] -1 6 2 -36 3 -53 4 -18 5 6 -27 7 -98 8 -7 8 o -68 1] -63 2 -33 31 -92 4 -27 5 -13 -15 8 -37 01 -47 1 1 -3 31 -17 4 -62 51 -62 61 -14 7 -35 |
| [ 0 ,
[0 , 1] -93 [ 0 , [ 0 , 31 -24 [ 0 , 41 -70 [ 0, 5] -39 [ 0, 61 -47 [ 0 , 71 -35 _ 83 ( 1 , 0 ] -38 [1, —66 [ 1 , 2] —45 [ 1 , 3 ] -11 [1, 4 ] —53 [1 , 5] -35 [ 1 , [1 , 71 -75 [ 1, 8] -21 [2, 0 ] -56 [2, 1 ] -81 [2 , (2 , 31 -76 [2 , 4 ] -53 [2, [2 , 6] -70 [2, 7 ] -38 [2 , 81 -32 [3 , 0 ] -86 [3, 1 1 -13 [ 3, 2] -23 [3, [3 , 4 ] —68 (3 , 5] -2 6 (3 , 6] -53 [3, 7 ] -52 [3 , 81 -29 |
| [8 ,
[ 8 , [8, [8, 8 , [ 8 , [ 8 , [8, |
1 1 -23
2 -63 3 -24 4 -37 51 -18 6 7 1 -6 8 -18 |
Fig. c-lc
To aid in the visualization and understanding of how the cloud cover input data will look like, in a 2D graphical format, please refer to the figure C-2 below.
| Student•s INPUT Data (in graphical form)
Forecasted Cloud Coverage for EACH Grid Area |
|||||||||
| 7 | 35 | 75 | 38 | Vs | 25 | 38 | 15 | ||
: Referring to the FIRST
: LINE shown in earlier Fig.
C-la, the grid area [O, O]
: has a cloud cover value of : 41, which is shown here.
Referring to the FIRST
LINE shown in earlier Fig. C-lb, the grid area [0, 41 has a cloud cover value of
76, which is shown here.
Fig. C-2
Note :
- Bright Yellow grid areas indicate the ACTUAL Grid Area cupied by a particular city. For example, in the fig. C-2 above, the city named occupies the following grid areas :
[2, 7], p, 81, [3, 7], [3, 8]
- Light Yellow grid areas indicate the grid areas surrounding the perimeter of EACH city. For example, in fig. C-2 above, the city named has the following grid areas surrounding its perimeter : [l, 61, [1, 7], [1, 8], [2, 61, [3, 6], [4, 6], [4, 71, [4, 81
- The grid areas [l, 9], [2, 9], [3, 9], [4, 91 are not shown as they are BEYOND the upper limits of the vertical GridY IdxRange ! As a result, they are not included in the ACC computation (see below) as well ..
- For each city, the AVERAGE CLOUD COVER (ACC) value is derived, by the following .
ACC = SUM (cloud cover values of city + surrounding grid areas) / Total # of grid areas For example, for the city named
ACC = ( (38 + 32 + 52 +29) + (88 + 75 +21 +70 +53 +48 + 29 + 75) ) / 12 = 50.83
Processing requirements – display cloud coverage map (cloudiness index)
Figure C-3 below illustrates the actual displav formattinq requirements when user selects the “Display Cloud Coverage Map (cloudiness index)” option from your program’s menu.
vmw_ubuntu@vmwubuntu: -/TEMP/CSC1251/Assn1
| 8 | 8 | 2 | 3 | 2 | 7 | 7 | 3 | 8 | |
| 7 | 3 | 7 | 3 | 5 | 2 | 9 | 1 | 3 | |
| 6 | 4 | 8 | 7 | 5 | 4 | 2 | 1 | 1 | 4 |
| 5 | 3 | 3 | 4 | 2 | 7 | 4 | 4 | 6 | |
| 4 | 7 | 5 | 5 | 6 | 4 | 1 | 2 | 6 | 3 |
| 3 | 2 | 1 | 7 | 9 | 8 | 5 | 9 | 1 | 2 |
| 2 | 9 | 4 | 3 | 2 | 4 | 3 | 3 | o | 6 |
| 4 | 3 | 5 | 8 | 7 | 1 | 6 | 4 | ||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
tmw ubuntu@vmwubuntu:OTEMP/CSC1251/Assn1S I
Fig. C-3
: Note :
(i) All the cloud cover input values (shown in Fig. C-2)
: has been reduced to a
SINGLE-DIGIT
“cloudiness index” value : ranging from 0 to 9!
(ii)
Refer to Fig. C-2, the : origin grid area [0, 01 previously have a value Of : ’41’, which is now transformed into a single: digit “cloudiness index” value = 4 !!!
- a) To generate the cloudiness index values for each grid area, all original cloud cover input values (for each grid area shown in fig. C-2) should be processed as follows
| For each grid area [x, y], If original cloud cover value falls within the range | Then the corresponding
“cloudiness index” value is |
|||
| 1 | value | 10 | ||
| value | 20 | 1 | ||
| 3 | value | 30 | 2 | |
| 4 | value | 40 | 3 | |
| 5 | value | 4 | ||
| 6 | 50 | value | 60 | 5 |
| 7 | value | 70 | 6 | |
| 8 | value | 7 | ||
| 9 | value | 90 | 8 | |
| 10 | 90 | value | 100 | 9 |
Processing requirements – display cloud coverage map (LMH symbols)
Figure C-4 below illustrates the actual displav formattinq requirements when user selects the “Display Cloud Coverage Map (LMH symbols)” option from your program’s menu.
- a) To generate the LMH cloudiness symbol values for each grid area, all original cloud cover input values (for each grid area shown in fig. C-2) should be processed as follows:
| For each grid area [x, y], If original cloud cover value falls within the range | Then the corresponding
“cloudiness symbol” value is |
|
| 1 | value 35 | L (Low) |
| 2 | value 65 | |
| 3 | value 100 | H (High) |
APPENDIX D
(Atmospheric Pressure Input Data & Output Requirements)
Figure D-1 below provides a sample of the actual contents within the input file (e.g. pressure . txt), storing the atmospheric pressure input data, for each grid area in the map.
Note : due to lack of “vertical space” on this page, the entire content is split across Figures D-la, D-lb and D-lc. In reality, the data in all 3 figures are combined and stored in a single input file!
Fig. D-la Fig. 0-1b
| [4 ,
[4, 4, 4, 4, 4, 4, 4, 4, [5, 5, 5, 5, [5, [5, 5, 5, 5, 6, 6, 6, 6, [7, [7, [7, [7, 7, [7, [7, |
0] 15
21 -58 3 -84 4 —47 51 -78 6 —68 7] —69 81 -25 0] -52 -36 21 -35 3 4 —65 5 -40 6 71 -50 8 -23 o -27 1] -59 2 —42 3 -42 4 -63 5 -51 6 -5 -90 8 -83 o -36 11 -53 2 -63 31 -77 4 51 -50 6 -86 8 -33 |
| [0,
[0, [0, [0, [0, [0, [0, [0, (1, [1, [1, [1, [1, [1, [1, [1, [1, [2, [2, [2, (2, [2, [2, [2, [2, [2, [3, [3, [3, [3, [3, (3, (3, [3, [3, |
01 -36
1] -32 21 -38 3] -64 51 -62 61 -56 71 -41 8] -56 01 -24 1]—65 2]-27 3]-27 41 -85 5] -83 61 -6 71 -38 8] -82 0] -72 ¯ 42 21 -17 3] -15 4] -79 5] -11 6] -10 81 -39 0] -53 1 1 -86 2] -33 3] -13 41 -15 5] -59 6] -16 7] -39 81 -38 |
| 8,
[8, 8, B, [8, 8, [8, 8, [8, |
o -70 1 J -32
21 -71 3 -18 4 -29 5 -73 61 —40 81 -78 |
Interpretation of each line :
Data item #1 :
[x, y] the grid indices of the “lower: left” corner of a grid area
: Delimiter char between data items #1 and #2
rData item #2 :
15 the “next day” forecast of
: atmospheric pressure for the grid area.
Max value : 99
: – means the grid area will experience
: extremely high pressure
: Min value : O
J – means the grid area will experience no , pressure!
Fig. D-lc
To aid in the visualization and understanding of how the atmospheric pressure input data will look like, in a 2D graphical format, please refer to the figure D-2 below.
| Student’s INPUT Data (in graphical form)
Forecasted Pressure Level for EACH Grid Area |
|||||||||
| 1 | 2 | 3 5 | 6 | 7 | 8 | ||||
: Referring to the FIRST
: LINE shown in earlier Fig.
D-la, the grid area [O, O]
: has a pressure value of 36, which is shown here.
Referring to the FIRST
LINE shown in earlier Fig. D-lb, the grid area [0, 41 has a pressure value of 15, which is shown here.
Fig. D-2
Note :
- Bright Yellow grid areas indicate the ACTUAL Grid Area cupied by a particular city. For example, in the fig. D-2 above, the city named occupies the following grid areas :
[2, 71, [2, 81, [3, 71, [3, 8]
- Light Yellow grid areas indicate the grid areas surrounding the perimeter of EACH city. For example, in fig. D-2 above, the city named has the following grid areas surrounding its perimeter : [1, 6], [1, 7], [1, 8], [2, 6], [3, 6], [4, 6], [4, 7], [4, 81
- The grid areas [l, 9], [2, 9], [3, 9], [4, 9] are not shown as they are BEYOND the upper limits of the vertical GridY IdxRange ! As a result, they are not included in the AP computation (see below) as well
- For each city, the AVERAGE PRESSURE (AP) value is derived, by the following :
= SUM (cloud cover values of city + surrounding grid areas) / Total # of grid areas For example, for the city named
AP = ( + 39 + 39 + 38) + + 38 + + I O + 16 + + + 25) ) / 12 = 39.75
Processing requirements – display atmospheric pressure map (pressure index)
Figure D-3 below illustrates the actual displav formattinq requirements when user selects the “Display Atmospheric Pressure Map (pressure index)” option from your program’s menu.
vmw_ubuntu@vmwubuntu: —/TEMP/CSC1251/AssnI
: Note :
8 5 8 3 3 2 2 8 3 7 (i)
7 4 3 4 3 6 5 9 2 8 All the cloud cover input
6 5 o 1 1 6 8 o 8 4 values (shown in Fig. D-2)
5 6 8 1 5 7 4 5 5 7 : has been reduced to a
4 o 8 7 1 4 6 7 2 SINGLE-DIGIT “pressure
3 6 2 1 1 8 4 4 7 index” value ranging from :
2 3 2 1 3 5 3 4 7 : Ot09!
6 4 8 5 3 5 5 3
9 3 2 7 5 1 5 2 3 7 (ii)
Refer to Fig. D-2, the
0 1 1 2 3 4 5 7 8 : origin grid area [0, 01 previously have a value Of :
’36’, which is now
- jmw ubuntu@vmwubuntu:OTEMP/CSC1251/Assn1S I transformed into a singledigit pressure index value : Fig. D-3
- a) To generate the pressure index values for each grid area, all original atmospheric pressure nput values (for each grid area shown in fig. D-2) should be processed as follows
| For each grid area [x, y], if original pressure value falls within the range | Then the corresponding “pressure index” value is | |||
| value | 10 | |||
| 2 | value | 20 | 1 | |
| 3 | value | 30 | 2 | |
| 4 | 30 | value | 40 | 3 |
| 5 | value | 50 | 4 | |
| 6 | 50 | value | 60 | 5 |
| 7 | value | 70 | 6 | |
| 8 | value | 7 | ||
| 9 | value | 90 | ||
| 10 | value | 100 | 9 | |
Processing requirements – display atmospheric pressure map (LMH symbols)
Figure D-4 below illustrates the actual displav formattinq requirements when user selects the ‘ Display Atmospheric Pressure Map (LMH symbols)” option from your program’s menu.
- a) To generate the LMH pressure symbol values for each grid area, all original atmospheric pressure input values (for each grid area shown in fig. D-2) should be processed as follows:
| For each grid area [x, y], if original pressure value falls within the range | Then the corresponding “pressure symbol” value is . | |
| value | L (Low) | |
| 2 | value 65 | M (Mid) |
| 3 | value 100 | H (High) |
APPENDIX E
(Weather Forecast Summary Report)
Figure E-l below illustrates the actual displav requirements when user selects the “Show Weather Forecast Summary Report” option from your program’s menu
Referring to Appendix B, Fig B-1, described in the sample input file (citylocation.txt), display the city’s name, id, ACC, AP, Probability of Rain and its corresponding ASCII graphics!
| Weather Forecast Summary Report | Note : | |||
| City Name : Big City
City ID 3 |
(i)
For Ave. Cloud Cover (ACC) |
|||
| : Ave. Cloud Cover (ACC) | 56. 60 | (M) | ‘ computation, please refer to Note: part | |
| Ave. Pressure | 43 . 60 | (M) | c) section (below Fig. C-2) in | |
| : Probability of Rain (+)
, City Name : Mid City City ID 2 |
50 . 00 | Appendix C
(ii) For Ave. Pressure (AP) computation, please refer to Note: part c) section (below Fig. D-2) in Appendix D |
||
| : Ave. Cloud Cover (ACC) | 50 . 83 | (iii) | ||
| Ave. Pressure (AP) | 39 . 75 | (M) | The L/M/H symbol for ACC is | |
| : probability of Rain (+)
City Name Small City |
50 . 00 | computed based on table (below Fig. C-4) in Appendix C
(iv) The L/M/H symbol for AP is |
||
| : City ID 1 | : | computed based on table (below Fig. D-4) in Appendix D | ||
| : Ave. Cloud Cover (ACC)
: Ave. Pressure (AP) Probability of Rain (+) |
29 . 56
56. 67 40 . 00 |
(L) | ||
Fig. E-l
Determination of Probability of Rain (%) value
With reference to earlier fig. E-1, for each City, note down their L/M/H symbols for ACC and AP respectively. Based on the combination of ACC and AP symbols, lookup the respective Probability of Rain (%) value from the table below.
| City’s forecasted | Estd.
Probability of Rain (%) |
Associated ASCII graphics (to be displayed) | ||
| Ave.
Pressure (AP) value |
Ave. Cloud
Cover (ACC) value |
|||
| 1 | 90 | |||
| 2 | 80 | |||
| 3 | 70 | |||
| 4 | 60 | |||
| 5 | 50 | |||
| 6 | 40 | |||
| 7 | 30 | |||
| 8 | 20 | |||
| 9 | 10 | |||
Note : Air will always flow from areas of High pressure, to areas of Low pressure, and this is manifested as “wind”. If the city is forecasted to have Low pressure, then wind (bringing along additional clouds & moisture), is predicted to flow into that city on the next day!
APPENDIX F
(Main Menu Requirements)
|
Note : if user selects option
- Display City Map as described by Appendix R Fig. B-3
- Display Cloud Coverage Map (cloudiness index) as described by Appendix C, Fig. C-3
- Display Cloud Coverage Map (LMH symbols) as described by Appendix C, Fig. C-4
- Display Atmospheric Pressure Map (pressure index) as described by Appendix D, Fig. D-3
- Display Atmospheric Pressure Map (LMH symbols) as described by Appendix D, Fig. D-3
- Show Weather Forecast Summary Report as described by Appendix E, Fig. E-l
For options 2) to 7), always prompt user “Press <enter> to go back to main menu so that when user is done viewing the output, he can hit <enter> to continue
APPENDIX G
Submission Instructions (V. IMPT!!)
- Deliverables
- All submissions should be in softcopy, unless otherwise instructed
- For the actual files to be submitted, you typically need to include the following:
- word document report (e.g. *.doc), save as MS Word 97-2003 format the source file(s), (e.g. *.h, *.0, or *.cpp files)
- the executable file, (using Ubuntu g++ compiler), compile into an executable filename with *.exe (e.g. csci251_a1 .exe)
- How to package
Compress all your assignment files into a single zip file. Please use the following naming format
<FTIPT> <Your Grp>_Assn1_<Stud. No.> <Name>.zip
Example : FT TutGrp3_Assn1_1234567_JohnDoeAnderson. zip
<FTIPT> Use “FT” for Full-Time student, “PT” if you are Part-Time student
<Your Grp> refers to your SIM tutorial group (e.g. TutGrp1 / TutGrp2 / TutGrp / etc.)
Assnl if you are submitting assignment 1, Assn2 if submitting assignment 2 etc.
<Stud. No.> refers to your IJOW student number (e.g. 1234567)
<Name> refers to your IJOW registered name (e.g. JohnDoeAnderson)
- Where to submit
Please submit your assignment via Moodle eLearning site
IMPORTANT NOTE :
- To minimize the chances of encountering UNFORSEEN SITUATIONS (mentioned below), please do an EARLY SUBMISSION via Moodle.
- Prior to the relevant assignment deadline, you can upload (and replace) your assignment submissions in Moodle as many times as you like
- It is vour responsibilitv to confirm that you have submitted the final (and correct version) of your deliverables to Moodle before deadline
- Any submission uploaded to Moodle after deadline will be considered late
In the event of UNFORSEEN SITUATIONS :
( E.g. 3 hrs prior to deadline, there is proof of unforseen events like Moodle site down, unable to upload assignment, undersea internet cable damaged by sea urchins, etc )
Please email your single zip file to your tutor at .
[email protected] for FULL TIME students [email protected] for PART TIME students
In your email subject line, type in the following information
<FTIPT> <Your Grp> <assignment inf0> <student number> and kname>
Example:
To \ tutor’s email (sée above),’-
| Subject
Note 1 : Note 2 : |
FT TutGrp3 Assnl 1234567 JohnDoeAnderson
The timestamp shown on tutor’s email Inbox Will be used to determine if the assignment is late or not. After email submission, your mailbox’s sent folder would have a copy (record) of your sent email, please do not delete that copy !! It could be used to prove your timely submission, in case the Tutor did not receive your email! |
- When to submit
- a) Depending on the time-table, a software demo / testinq / presentation for your assignment will be scheduled during the:
3rd – 5th lab session for the semester (i.e. lab 3 – 5), for Full Time (FT) students
2 nd – 4th lab session for the semester (i.e. lab 2 – 4), for Part Time (P T) students
Please consult your tutor for further details. Some time will be allocated for students to demo / present / explain your system design or run test cases during the session
- Please refer to the following table on the different deliverables, submission events & deadlines
| Assignment | Submission Deadline (check Moodie for EXACT date-time ) | Software Demo / Testing (Tasks), during . | Email Demo / Software Testing result files by : | |
| Lab 2 | Lab 3 | Lab 2(PT), Lab 3(FT) | End of Lab 2(PT), Lab 3(FT) | |
| 2 | Lab 3 | Lab 4 | Lab 3(PT), Lab 4(FT) | End of Lab 3(PT), Lab 4(FT) |
| 3 | Lab 4 | Lab 5 | Lab 4(PT), Lab 5(FT) | End of Lab 4(PT), Lab 5(FT) |
- IMPORTANT NOTE Non-submission of any of the above mentioned deliverables will result in ZERO marks! Please check with your Tutor personally if you are unsure!
- Please help by paying attention to the following . . .
! VERY IMPORTANT !
PLEASE FOLLOW ALL THE GUIDELINES / REQUIREMENTS IN ALL ASSIGNMENT APPENDICES !!
PLEASE FOLLOW ALL THE SUBMISSION INSTRUCTIONS FROM 1 TO 4 !!
IF YOU ARE NOT SURE,
PLEASE CHECK WITH YOUR TUTOR DURING LABS / LECTURES !
OR
PLEASE EMAIL YOUR ENQUIRIES TO YOUR TUTOR !
MARKS WILL BE DEDUCTED IF YOU FAIL TO FOLLOW INSTRUCTIONS
Examples of marks deduction
- Your deliverables / zip file does not follow naming convention
- You have no email subject / or do not following naming convention
- Your email address / content does not include your name/identity (i.e. tutor cannot easily identify sender)
- Wrong naming or misleading information given
(e.g. putting “Assn2” in email subject, when you are submitting “Assnl “)
(e.g. naming “Assnl” in your zip file, but inside contains Assn2 files )
You email to the WRONG tutor
- Your submission cannot be downloaded and unzipped
- Your program cannot be re-compiled and/or executable file cannot run
- Your report / testing files cannot be opened by Microsoft Word / Excel 2003
You did not submit / incomplete submission of software demo / testing files
- etc
- Re-submission administration
After the deadline, (on case-by-case basis), some students / grp may be granted an opportunity for an un-official resubmission by the tutor. If this is so, please adhere to the following instructions carefully
<Step 1> Prepare 2 zip files as follows
Zip up for re-submission, proqram files according to the following format
Resubmit Grp>_AssnI_<Stud. No.> _<Name>.zip
Example : Resubmit_FT_TutGrp3_ Assn1_1234567_JohnDoeAnderson. zip
Zip up for re-submission, test case results files according to the following format
Resubmit <FT/PT>_<Your Grp>_Assn1_TCResults_<Stud. No.> _<Name>.zip
Example : Resubmit1234567_JohnDoeAnderson. zip
- <FTIPT> Use “FT” for Full-Time student, “PT” if you are Part-Time student
<Your Grp> refers to your SIM tutorial group (e.g. TutGrp1 / TutGrp2 / TutGrp / etc.)
- Assnl if you are submitting assignment 1, Assn2 if submitting assignment 2 etc.
<Stud. No.> refers to your UOW student number (e.g. 1234567)
<Name> refers to your (JOW registered name (e.g. JohnDoeAnderson)
- IMPT To prevent Tutor’ s Inbox from blowung up in his face, each student is only allowed to re—submit ONCE, for each assignment only!
<Step 2>
Please email your 2 zip files to your tutor’s email (refer to section 3) – Where to submit)
In your email subject line, type in the following information
Resubmit <FTIPT> <Your Grp> <assignment inf0> <student number> and <name>
Example:
To tutor’s bqlail tsefer to sebtion 3) – Where to sut;mit)
Subject Resubmit FT TutGrp3 Assnl 1234567 JohnDoeAnderson
IMPORTANT NOTE
Non-submission of any of the above mentioned files, or failure to adhere to submission instructions will result in ZERO marks!
Please check with your Tutor personally if you are unsure!











