This assessment (Code and Report) contributes 100% of the assessment for this module.
All assessment submissions are subject to the Department’s policy on plagiarism and, wherever possible, will be checked by the Department using Turnitin software.
It is important for engineers to follow a structured process when developing software. A structured approach to software engineering helps to ensure that the software produced is of high quality. An important part of this approach is the careful documentation of each stage of the process in the form of a report. This assignment gives you practice in software development and report writing for software engineering. Treat the task you have been given as a set of requirements; you could imagine that they have been given to you by a client. If you feel that the requirements are unclear, you may make realistic assumptions as necessary, however, you must make sure that you document these assumptions carefully.
You are required to complete the task using the C Programming Language preferably for a PC running the Microsoft Windows operating system (i.e. the language and type of computer that you have been using in the laboratories).
If you choose to develop your code in another operating system (i.e. MacOS or Linux) it is entirely your responsibility to create an assignment project that works in Windows.
IMPORTANT: We have a policy of marking anonymously. Do not identify yourself in your report or your programs. Use only your student Examination number (begins with Y). Make sure that you examination number is printed on your report (first page).
Your report should document the development process that you have been through, leading up to the creation of a piece of software. This should correspond to the development model that you have covered in the lectures and is detailed in the labscripts (lab 9). Your report should consist of no more than 12 pages (minimum font size 10 point), including diagrams and figures.
Your submission should contain:
The Requirements that were given to you;
Your Analysis of the problem, and any assumptions you feel you will have to make;
A Specification for your software that you have derived from your analysis of the requirements;
Documentation of the Design process you have
Documentation covering how your program is structured into source files and any changes you made from the design as originally stated in your specification. You should justify any changes to your design that you made during the implementation. This should take the form of an Implementation Report.
Documentation of the Testing and Verification process that your went through to ensure that your program executes as you required;
A simple User Manual.
Submitting your work
You are expected to submit your work electronically using the web links provided on the course web page. You must use the assignment project available from the course web page (see the section SUBMITTING YOUR ASSIGNMENT).
You will be expected to link your source code files (files ending in .c and .h) with the assignment project. An explanation of how to do this is given on the course web page under the heading BLANK ASSIGNMENT PROJECT. It is your responsibility to ensure that you have submitted all the files your program needs to be successfully compiled into an executable program. If your program cannot be compiled you may receive no marks for program execution.
Your assignment project MUST work in Windows.
Your assignment report must be a .pdf file. Please place this in the folder containing your assignment project (i.e. it should be located in the same directory as the file assignment.cbp). Once you have tested your program and have finished your report make sure everything is in your assignment folder. Please zip up the folder containing your project and report. Your zipped file should be called assignment.zip.
Please submit your work in good time before the deadline to ensure that it is uploaded before the deadline (note the server might be busy very close to the deadline).
If you submit multiple versions of the assignment project, the markers will only take the last submitted version. If this version is submitted after the deadline then marks will be deducted for lateness.
For your guidance, marks will be awarded as follows:
Requirements, Analysis and Specification — 15%;
Design — 20%;
Implementation of Program — 25%;
Testing and Verification and User Manual — 12%;
Maturity, consistency, presentation and innovation — 13%;
Execution of program — 15%.
The assignment contributes 100% of the marks for the C Programming for MSc module.
You should be aware of the University regulations on academic misconduct before completing this assignment
any failure to correctly acknowledge work of others will be regarded as academic misconduct. This (includes) the use of solutions provided by module/lab Thus, if you use these, you must make clear which parts of your programs were copied or adapted from other sources and where these sources can be found (i.e. the web address). Comments should be made in your C code about this.
The laboratories introduced you to some simple two-dimensional graphical output based on basic physics. In this assignMent you will take the principles you have met in the labs and develop them to create a playable computer game.
You are required to design and implement a computer game which is based on the sport of archery. As the player, you control the force and elevation with which the arrow is projected across a graphical landscape, aiming for the target, avoiding obstacles such as trees and birds, and accounting for the effects of wind. The game must take into account the following:
the flight of the arrow must be subject to the effect of gravity;
the number of arrows required to hit the target is used to calculate a score, taking into account the difficulty of the shot (e.g. size of target and strength and variability of wind);
if the arrow hits an obstacle, or leaves the screen without landing it can be considered to have missed the target;
the game should keep a score of play over 10 targets of increasing difficulty;
incorporating sound into the game;
making use of the mouse to control the
The game must be enjoyable and playable for someone who is not experienced with computers. The game experience should be rewarding and challenging.
You might like to think about:
adding levels of difﬁculty, such as including more obstacles, to make the game
implementing a traditional bulls-eye archery target, with different scores for hitting each concentric circle;
ensuring that the game is not too frustrating to play — for example, give the player unlimited arrows and make the targets easy to hit in the early stages of the
Think about how to incorporate sound into your game. To achieve this, you can use the functionality provided by the amio lib. In particular, you could use a call back design to supply real-time audio to your application (e.g. sound of the ball being hit, cheers of the crowd). Some good examples on how to achieve something like this can be found in the audio example ﬁles (audio01.c and other examples).
DescriptionIn this final assignment, the students will demonstrate their ability to apply two majorconstructs of the C programming language – Fu
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of