Reference no: EM133848032
Programming
Assignment - Training Fee Calculation System for KickBlast Judo.
Learning Outcome 1: Define basic algorithms to carry out an operation and outline the process of programming an application.
Learning Outcome 2: Explain the characteristics of procedural, object-orientated and event-driven programming.
Learning Outcome 3: Implement basic algorithms in code using an IDE.
Learning Outcome 4: Determine the debugging process and explain the importance of a coding standard
Computing-related cognitive skills :
• Demonstrate knowledge and understanding of essential facts, concepts, principles and theories relating to computing and computer applications
• Use such knowledge and understanding in the modelling and design of computer-based systems for the purposes of comprehension, communication, prediction and the understanding of trade-offs
• Recognise and analyse criteria and specifications appropriate to specific problems, and plan strategies for their solutions
• Critical evaluation and testing: analyse the extent to which a computer-based system meets the criteria defined for its current use and future development Hire best assignment help now!
• Methods and tools: deploy appropriate theory, practices and tools for the design, implementation and evaluation of computer-based systems.
Generic skills for employability:
• Intellectual skills: critical thinking; making a case; numeracy and literacy
• Self-management: self-awareness and reflection; goal setting and action planning
• Independence and adaptability; acting on initiative; innovation and creativity
• Contextual awareness, e.g. the ability to understand and meet the needs of individuals, business and the community, and to understand how workplaces and organisations are governed.
Activity 1
A. The Fibonacci numbers are the numbers in the following integer sequence.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ........
In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence relation.
Fn = F n-1 + F n-2
B. Factorial of a non-negative integer, is multiplication of all integers smaller than or equal to n. For example, factorial of 6 is 6*5*4*3*2*1 which is 720.
n! = n * (n - 1) * ........ 1
Define what an algorithm is and outline the characteristics of a good algorithm. Write the algorithms to display the Fibonacci series and the factorial value for a given number using Pseudo code. Determine the steps involved in the process of writing and executing a program and carry out an analysis of writing the code phase by discussing the potential challenges faced.
Take a sample number and dry run the above two algorithms. Show the outputs at the end of each iteration and the final output. Examine what Big-O notation is and explain its role in evaluating efficiencies of algorithms. Write the Python program code for the above two algorithms and critically evaluate their efficiencies using Big-O notation.
Activity 2
Compare and discuss what is meant by a Programming Paradigm and the main characteristics of Procedural, Object oriented and Event-driven paradigms and the relationships among them. Write small snippets of code as example for the above three programming paradigms using a suitable programming language(s) and critically evaluate the code samples that you have given above in relation to their structure and the unique characteristics.
Activity 3 and Activity 4 are based on the following Scenario.
You have just started a new role as a Junior Software Developer at CUBE-GEN Software Solutions an independent software development company that designs and builds bespoke software solutions for various companies of different sizes that cover a range of different industries. The software that they design uses a wide range of technologies, from simple stand-alone programs to large web-based applications.
CUBE-GEN Software Solutions has been approached by a small, local company - KickBlast Judo - that specialises in providing judo training sessions to people from the local community. KickBlast Judo caters to people of all ages and experience, from expert to beginner.
KickBlast Judo has requested a simple program that will calculate the cost of training fees for their athletes each month.
The Chief Executive Officer (CEO) of the company has reviewed the client requirements and has determined that this is a suitable project for you to take on. The company wants to see how you use and apply the CUBE-GEN Software development environments and code standards.
The requirements are that KickBlast Judo wants a program that will allow a user to enter the following information:
? athlete name
? training plan
? current weight in kilograms (kg)
? competition weight category
? number of competitions entered this month
? option to add the number of hours private coaching.
For each athlete, the program should then output the following information:
? the athlete's name
? an itemised list of all costs for the month
? the total cost of training and competitions for the month
? how their current weight compares to their competition weight category.
KickBlast Judo currently have six athletes enrolled on their training program, but they would like the ability to register more.
You should use the additional information on the next page to help you when developing your program.
The CEO has instructed you to develop a GUI application for the KickBlast Judo.
Once the program has been built, the CEO has asked you to report back to them on how you designed and developed the algorithms required, as well as how you converted these algorithms into a final program and to show any issues you encountered.
? Athletes can receive a maximum of five hours' private coaching a week
? Only Intermediate and Elite athletes can enter competitions
? Competitions are held on the second Saturday of each month
? All prices and costs should be displayed as currency to two decimal places
? The program deals with user error by displaying suitable messages to the user and then prompting them for another go
? KickBlast Judo assumes that a month consists of four weeks.
Activity 1
A. The Fibonacci numbers are the numbers in the following integer sequence.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ........
In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence relation.
Fn = F n-1 + F n-2
B. Factorial of a non-negative integer, is multiplication of all integers smaller than or equal to n. For example, factorial of 6 is 6*5*4*3*2*1 which is 720.
n! = n * (n - 1) * ........ 1
Define what an algorithm is and outline the characteristics of a good algorithm. Write the algorithms to display the Fibonacci series and the factorial value for a given number using Pseudo code. Determine the steps involved in the process of writing and executing a program and carry out an analysis of writing the code phase by discussing the potential challenges faced.
Take a sample number and dry run the above two algorithms. Show the outputs at the end of each iteration and the final output. Examine what Big-O notation is and explain its role in evaluating efficiencies of algorithms. Write the Python program code for the above two algorithms and critically evaluate their efficiencies using Big-O notation.
Activity 2
Compare and discuss what is meant by a Programming Paradigm and the main characteristics of Procedural, Object oriented and Event-driven paradigms and the relationships among them. Write small snippets of code as example for the above three programming paradigms using a suitable programming language(s) and critically evaluate the code samples that you have given above in relation to their structure and the unique characteristics.
Activity 3 and Activity 4 are based on the following Scenario.
You have just started a new role as a Junior Software Developer at CUBE-GEN Software Solutions an independent software development company that designs and builds bespoke software solutions for various companies of different sizes that cover a range of different industries. The software that they design uses a wide range of technologies, from simple stand-alone programs to large web-based applications.
CUBE-GEN Software Solutions has been approached by a small, local company - KickBlast Judo - that specialises in providing judo training sessions to people from the local community. KickBlast Judo caters to people of all ages and experience, from expert to beginner.
KickBlast Judo has requested a simple program that will calculate the cost of training fees for their athletes each month.
The Chief Executive Officer (CEO) of the company has reviewed the client requirements and has determined that this is a suitable project for you to take on. The company wants to see how you use and apply the CUBE-GEN Software development environments and code standards.
The requirements are that KickBlast Judo wants a program that will allow a user to enter the following information:
? athlete name
? training plan
? current weight in kilograms (kg)
? competition weight category
? number of competitions entered this month
? option to add the number of hours private coaching.
For each athlete, the program should then output the following information:
? the athlete's name
? an itemised list of all costs for the month
? the total cost of training and competitions for the month
? how their current weight compares to their competition weight category.
KickBlast Judo currently have six athletes enrolled on their training program, but they would like the ability to register more.
You should use the additional information on the next page to help you when developing your program.
The CEO has instructed you to develop a GUI application for the KickBlast Judo.
Once the program has been built, the CEO has asked you to report back to them on how you designed and developed the algorithms required, as well as how you converted these algorithms into a final program and to show any issues you encountered.
Additional information
? Athletes can receive a maximum of five hours' private coaching a week
? Only Intermediate and Elite athletes can enter competitions
? Competitions are held on the second Saturday of each month
? All prices and costs should be displayed as currency to two decimal places
? The program deals with user error by displaying suitable messages to the user and then prompting them for another go
? KickBlast Judo assumes that a month consists of four weeks.
Activity 3
Write the complete pseudocode to calculate the cost of training fees for KickBlast athletes for each month. Use the visual studio IDE (using C#.net) to implement the above algorithms. The developer can decide the methods which need to be included when developing the classes. Design the suitable database structure for keeping the data of the above system.
Analyze the features of an Integrated Development Environment (IDE) and explain how those features help in application development. Evaluate the use of the Visual StudioIDE for your application development contrasted with not using an IDE.
Activity 4
4.1 Design and build a small GUI system for the above scenario and the application should be a complete functional system with all the functions which has described in the above scenario with the database structure which has designed in activity 3.
4.2 Examine debugging process and the features available in Visual studio IDE for debugging your code more easily. Evaluate how you used the debugging process to develop more secure, robust application with examples.
4.3 Explain and outline the coding standards you have used in your application development. Critically evaluate why a coding standard is necessary for the team as well as for the individual.