Home Page > > Details

programming Assignment,Python,Java,c/c++ Programming AssignmentDebug ,data AssignmentHelp With Help With Prolog| Prolog

FUNDAMENTALS OF PROGRAMMING
ASSIGNMENT
TRIMESTER ONE 2020
DUE: FRIDAY MAY 22, 23:59 UTC+8
BACKGROUND
In your practicals, you will have learned about how to use programming to model problems
and simulate real world behaviours using models and, soon, automation. In this assignment,
you are to develop a model and then utilise it in simulations to conduct an investigation of
your own.
THE PROBLEM
Aircraft safety is a complex topic that is of great interest to the world. With the large
number of flights taking place every day combined with the inherent risks associated with
aviation, the safety of each flight is of great concern. Any incident is investigated and
scrutinized in great detail. It should be no surprise then that simulations are a tool used in
real-world evaluations, given the low cost compared to losing an aircraft.
There are many factors at play here, such as airspace congestion and terrain. The
assignment tasks you with looking into these factors and demonstrating the effects they
have on aircraft safety. You should focus on using these as a means of generating a report in
scientific style, complete with evidence (gathered in your simulations) and
recommendations.
SPECIFICATION
The assignment will be divided into multiple tasks. Note that tasks 1 and 2 are able to be
done out of order – you can create a ‘synthetic’ terrain for testing purposes.
TASK 1: TERRAIN (20%)
For this task, you are to generate terrain for your simulations using real-world data.
Although you are free to source your own data, you may find an extensive set of terrain
data at the following location:
https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/North_America/
• The file names in that link are formatted using Latitude and Longitude. For example:
N36W115.hgt.zip refers to the area at N36° W°115. You are encouraged to use a
mapping program (such as Google Maps) to find your own coordinates that you think
would be interesting.
• The data itself is formatted in an unusual way:
o The data is stored as binary data
o There are 1201 lines and, for each line, 1201 height samples
o Each height sample represents the measured height of that location in
meters.
o Each height sample is stored in the file as a two-byte, signed integer
▪ A two-byte, signed integer is a number that is represented with less
bytes than a normal integer. As such, it can only represent numbers
between -32768 and 32767
o A ‘null’ value indicates a lack of data for that area and is represented by the
number -32768. You can choose to ignore these values, but your terrain is
easier to visualise if you replace them with a value such as ‘0’
Figure 1. N36° W°115, null values set to 0. The grid is exaggerated for visualisation purposes.
For full marks for this task, you must use real-world data, use it in your program correctly,
and ensure it is used in some form in your simulations.
TASK 2: AIRCRAFT (20%)
For the second task, you must use Python to model aircraft using objects. You are not
required to simulate any complicated flight models. Your aircraft should model the basics
of what is necessary for your simulation:
• Identifying information (which aircraft is which?)
• The position of the aircraft in relation to your terrain
• What altitude the aircraft is flying at
• What direction the aircraft is flying
• What speed the aircraft is flying at
In particular, your aircraft should be able to interact with terrain and other terrain to
determine:
• If the aircraft collided with another aircraft
• If the aircraft collided with the terrain
You are free to add to your design of aircraft objects as you see fit.
TASK 3: SIMULATION (30%)
The third task is to put the previous tasks together in working order. Your simulation should
at a minimum be able to model aircraft moving through the air in straight lines and colliding
with terrain if the altitude is too low. Your simulation should also be tracking a simulation of
time (similar to your Growth and Heat Calculation practicals).
The simulation must be able to:
• Support an arbitrary number of aircraft in an area
• Simulate aircraft flying through the area
• Keep track of collisions when they occur and:
o Report the time of the collision
o Report the type of collision (aircraft or terrain)
o Report what aircraft were involved
It is recommended that your program save this information in a way that is easily accessed
by you, perhaps with overall statistics for quick analysis.
TASK 4: INVESTIGATION AND ANALYSIS (25%)
With a working simulation, you should then use it to analyse the safety of aircraft in the
area under varying conditions. You are free to create any investigation you wish, but below
are some ideas:
• What is the minimum safe altitude for aircraft in a particular area? Is there a relation
between altitude and number of crashes?
• Commercial airlines typically fly between 9,000 and 11,000 meters where terrain
collisions are not an issue. However, is there risk of them colliding with one another,
especially when there are many aircraft in the area? Is there a threshold for how
many aircraft can safely fly over an area?
• Aircraft controllers are often used to ensure there is no collision between aircraft. Is
it possible to modify your simulation to have aircraft change direction before
colliding as though a controller provided them warning in time? Does this service
increase aircraft safety?
You are again encouraged to devise your own hypotheses and investigates – consideration
will be given towards those that are creative with their investigations here.
As part of this, you must submit a report that details your investigation and presents your
findings in a scientific way, ideally through the use of graphs and other visualisations.
You should consider changing variables as a means of providing solutions. Number of
aircraft, size of the area, etc. are all good options to change.
TASK 5: CODING STANDARDS (5%)
Your code submission must conform to coding standards emphasised in the lecture and
practicals. Remember: consistency is key!
SUBMISSION
Submit electronically via Moodle. Make sure to submit early. You can submit multiple times
– we will only mark the last attempt. Take care not to submit your last version late though.
Read the submission instructions very carefully.
You should submit a single file, which should be zipped (.zip). The file must be named
FOP_Assignment_ where the is replaced by your student id. There should be no
spaces in the file name; use underscores as shown.
The file must contain the following:
• Your code. This means all files needed to run your program. That includes input files
used as part of the assignment if that is required to run your program.
• README file including short descriptions of all files and dependencies, and
information on how to run the programs.
• User Documentation and Aircraft Safety Report, as described in below.
• A signed and dated cover sheet. These are available on Moodle You can sign a hard
copy and scan it in or you can fill in a soft copy and digitally sign it.
Make sure that your zip file contains what is required. Anything not included in your
submission may not be marked, even if you attempt to provide it later. It is your
responsibility to make sure that your submission is complete and correct.
USER GUIDE AND REPORT
You need to submit your User Documentation and Report in doc/docx, pdf or Jupyter
Notebook format.
Your User Documentation will be minimum 4-6 pages, with a section for each investigation
and should include the following:
• An overview of each of your program's purposes and features.
• A guide on how to use your programs/simulations.
• A discussion of your code, explaining how it works, any additional features and how
you implemented them.
The Aircraft Safety Report will comprise of a mini-paper that is 2-3 pages long and follow
the structure of a standard academic report. Required sections are:
• Abstract: Explain the purpose of the investigation and state the parameters you have
investigated, and the outcomes/recommendations.
• Background: Discuss the purpose of the program/simulation and your choice of
parameters.
• Methodology: Describe how you have chosen to set up and compare the
simulations, and why. Include commands, input files, outputs – anything needed to
reproduce your results.
• Results: Present the results of your simulations – include tables, plots and
discussion.
• Conclusion and Future Work: Give conclusions and what further investigations could
follow.
• References
REQUIREMENTS FOR PASSING THE UNIT
Please note: As specified in the unit outline, it is necessary to have attempted the
assignment in order to pass the unit. As a guide, you should score at least 15% to be
considered to have attempted this assignment. We have given you the exact mark
breakdown in Section 3.2. Note that the marks indicated in this section represent
maximums, achieved only if you completely satisfy the requirements of the relevant section.
Plagiarism is a serious offence. This assignment has many correct solutions so plagiarism will
be easy for us to detect (and we will). For information about plagiarism, please refer to
http://academicintegrity.curtin.edu.au.
In the case of doubt, you may be asked to explain your code and the reason for choices that
you have made as part of coding to the unit coordinator. A failure to adequately display
knowledge required to have produced the code will most likely result in being formally
accused of cheating.
Finally, be sure to secure your code. If someone else gets access to your code for any reason
(including because you left it on a lab machine, lost a USB drive containing the code or put it
on a public repository) you will be held partially responsible for any plagiarism that results.
LATE SUBMISSION
As specified in the unit outline, you must submit the assignment on the due date.
Acceptance of late submissions is not automatic and will require supporting documentation
proving that the late submission was due to unexpected factors outside your control. See
the unit outline for details as to the procedure for requesting that an assessment be
accepted after the due date.
Also note that IT related issues are almost never a valid excuse.
In the event that you submit your assignment late and are deemed to have a valid excuse,
you will be penalised 10% (that is, 10% out of 100%, not out of what you would have
received) per calendar day that you are late, up to a maximum of seven (7) calendar days.
Any work submitted after this time will not be marked and you will automatically fail the
unit. Note that if you are granted an extension you will be able to submit your work up to
the extended time without penalty – this is different from submitting late.
CLARIFICATIONS AND AMENDMENTS
This assignment specification may be clarified and/or amended at any time. Such
clarifications and amendments will be announced on the unit’s Blackboard page. These
clarifications and amendments form part of the assignment specification and may include
things that affect mark allocations or specific tasks. It is your responsibility to be aware of
these by monitoring the Assignment Assessment Blackboard page.

Contact Us - Email:99515681@qq.com    WeChat:codinghelp
Programming Assignment Help!