CSCl251 Advanced Programming Assignment 1

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

CSCl251 Advanced Programming

Assignment 1


Aim

The objectives of this assignment includes:

·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:

1)    read in and process a configuration file

2)    display city map

3)    display cloud coverage map(cloudiness index)

4)    display cloud coverage map (LMH symbols)

5)    display atmospheric pressure map(pressure index)

6)    display atmospheric pressure map (LMH symbols)

7)    show weather forecast summary report

The  program  should  be  compiled  as  'csci251_a1.exe'and  run  in  Ubuntu  14.04  (Linux  OS). The next section describes the requirements for the program.

Task Requirements

A)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.

B)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.

C)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 fomat requirements.

D)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 wil discuss  about  the  interpretation  of  pressure  input  data,its  subsequent  processing algorithm and output fomat requirements.

E)Forthe 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.

F)Refer to Appendix F,for a description of the program's main menu requirements

G)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!)

H)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 teminal 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 ind 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.

2) 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.

3) The software demo /testing will be held during lab session where you are supposed to  submit your assignment.Some time 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:

(i)   Program fulfills all the basic requirements stipulated by the assignment

(ii)  Successful  demonstration of a working  program,clarity  of explanation /presentation and satisfactory answers provided during Q&A session.

(ii)  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 detemine  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 indeduction 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'.

发表评论

电子邮件地址不会被公开。 必填项已用*标注