1004GRC - Computing and Programming
Date: Friday Week 12, 12th June 2022, 23:59
Dr. Seyedali Mirjalili
Read these instructions
Attached is your second project. There are two questions and you must answer both. Put all your ‘m’ files in a zip file which named your_student_id .zip eg: ALFRD1304.ZIP. Your zip file must be uploaded in the portal before the due date. As part of the marking of the assignment, you should be prepared to verbally explain how sections of the code function.
Anyplagiarismidentifiedinassignments will be considered academic misconduct and academic penalties will apply. A definitionofplagiarism fromthe Griffith Institute for Higher Education, Good Practice Guide is attached.
Plagiarism can take any of the five following forms:
Verbatim copying Copying word for word without any acknowledgement of the source
Incorrect/inadequate acknowledgement: Verbatim material incorrectly noted as having been paraphrased, or material that has been paraphrased and has not been acknowledged adequately.
Collusion: Copying material from another’s assignment with his/her knowledge.
Ghost writing: Submitting an assignment as your own when it has been written by a third party.
Purloining or appropriation: Copying material from another’s assignment without his/her knowledge.
1. Build Brothers company in C (10 marks)
A civil engineering company called Build Brothers has approached you to write a program to help some of their employees with getting their job quicker specially when it comes to calculating different equations in their construction projects. Currently, they use the following PDF to perform all their calculations:
They are willing to develop a small software to calculate all the functions and calculations in the above cheat sheet. They have made this decision to reduce inherent human errors during calculation and improve efficiency. They think that these can be achieved by an “advanced calculator” that allows a user to choose an equation, provide the inputs, and calculate the outputs. Before the company invests on the final product, the have agreed on developing a proof-of-concept first. The idea is that your solution will ‘prove’ that a better solution is possible. From your solution, it is hoped that the requirements from Build Brothers can be extracted and a full software development project can be started.
Your proof-of-concept should include at least 10 diverse functions from the above list to showcase the ability of software in streamlining calculations. Your C program must be modular with a menu system in the main function so that a user can call any of them with providing the inputs required. One of the options in the menu should be to exit the program.
2. Customer management system in Matlab (15 marks) Build Sisters is a small builder in Australia that focus on building sheds and villas in rural areas. They are willing to develop a small software to manage their employees, customers, and services. They have made this decision to reduce their operational cost, have a better understanding of their customer base, and improve the quality of their services. They think that these can be achieved by an automated system to store and retrieve the details of employees, customers, services, and inspection bookings. Before the company invests on the final product, the have agreed on developing a proof-of-concept first. The idea is that your solution will ‘prove’ that a better solution is possible. From your solution, it is hoped that the requirements from Build Sisters can be extracted and a full software development project can be started.
Your proof-of-concept should include at least the following functional requirements:
• The user adds a new employee
• The user adds a new customer
• The user adds a new property
• The user adds a new inspection booking
• The user assigns a customer and a property to a booking
• The user visualizes/prints the list of all bookings
• The user visualizes/prints the list of all customers
• The user visualizes/prints the list of all properties
• The user visualize the distribution of prices all properties
The functional requirements, if proved by your solution, will be supplemented by non-functional requirements in the subsequent requirements gathering exercise. Some of these may be the presentation of options in a graphical user interface, printed reports on letterheads, security or other options that do not matter for the present proof of concept.
In presenting your solution, it is expected that it will compile and run. You should give the user series of options to choose from, if they are to interact with your program. For example, choosing option ‘1’ may be the route the user will take to enter a new employee. Choosing option ‘2’ may be the route to allowing the user to add a new customer and so on. Alternatively, you can use a GUI menu system in Matlab.
• Before you start programming, you have to identify the main entities that you need to define since you will have to work with a large amount of information
• You will need a minimum of four entities (employee, customer, property, and booking) and can use variables and arrays to store data. For instance, you can store first name, last name, age, address, mobile, and email for a customer in your program.
• You do not need to store ay of data in files since this will be implemented after the approval of the proof-of concept.
• Your main entities or functions will be the one that allow you to showcase the capabilities of the proof-of-concept. As discussed above, the user should be allowed to have a menu to choose the options.
General Requirements – Coding conventions/practices
Marks are awarded for good coding conventions/practices such as:
• Consistent use of spaces or tabs for indentation. We recommend four spaces for every level of indentation. Be careful to not mix tabs and spaces. Each “block” of code should be indented one level.
• Keeping line lengths of code to a reasonable maximum such that they fit in the default terminal screen width (80 characters wide).
• Complete author identification on all files.
• Appropriate variable names.
Marks will be deducted for the following:
• Compile errors and warnings.
• Fatal run-time errors such as infinite loops, etc.
• Missing files (affected components get zero marks).
• Files incorrectly named
• Not identifying yourself in all files submitted
• Programs with compile errors that cannot be easily corrected by the marker will result in a maximum possible score of 30% of the total available marks for the assignment.
Assessment Attributes Fail
(Yet to achieve minimumstandard) 0-49% Pass (Functional) 50-64% Credit (Proficient) 65-74% Distinction (Advanced) 75-84% High Distinction (Exceptional)
Completeness of Solution
30% The solution presented satisfies one or more of the requirements but is not original, is hard to follow or is otherwise not logical in its presentation. The solution presented may satisfy one or more of the requirements but is not logical, may be difficult to follow or otherwise may not produce the desired
results, despite an attempt being made A good solution that satisfies a number of requirements of the brief. The solution is original and presented in a logical manner. A very good solution that satisfies nearly all requirements. The solution is original and is presented in a logical manner that may include multiplefiles. An expert level solution that satisfies the requirements in the brief fully and wholly.
The solution is original,
thoughtful and presented in a logical manner that may
include multiple files.
Activities and Learning from the Subject
40% Little or no awareness of
the subject matter has been demonstrated inthe presentation of the solution. Little awareness of subject
material can be seen in the solution presented. More work is required to demonstrate learning throughout the subject. An awareness of the
subject matter can be seen. More work is required to master the art of programming and
in automating semi-complex tasks. A concise demonstration of
learning throughout the subject has been demonstrated in the solution presented. Some commentary maybepresent to indicate which aspects havebeendemonstrated. Full demonstration of
learning from the subject can be seen in the presentation of the solution.
Includes commentary and highlights the specific elementsthat
Compilation and Execution ofProgram
30% There are several compilation errors, that originate in syntactical and linking errors and that prevent the programfrom compiling andrunning. Some minor compilation errors prevent compilation and can be borne from syntactical or linking errors.
Some minor attention to these would result in simple
changes that would allow the program to compile. The program compiles and links correctly. Upon testing, the program has a run-time error and one or more logic errors in its execution. The program compiles and links correctly. Upon testing, the program has a run-time error or has one or more logic errors in the way it has attempted to solve the problem in the brief. The program compiles and links correctly. Upon testing, no run-time or logic errors can be detected in the way the program was designed.