Unit-01 Programming
Unit-01 Programming
Assignment title
Student’s name
List which assessment criteria Pass Merit Distinction
the Assessor has awarded.
Give details:
Programme Leader
signature (if required) Date
Higher Nationals - Summative Assignment Feedback Form
Student Name/ID
Unit Title Unit 1 Programming
Assignment Number Assessor
Date Received 1st
Submission Date submission
Date Received 2nd
Re-submission Date submission
Assessor Feedback:
LO1. Define basic algorithms to carry out an operation and outline the process of programming an application.
LO4. Determine the debugging process and explain the importance of a coding standard.
Pass, Merit & Distinction Descripts P5 P6 M4 D4
* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and grades decisions have been agreed at the assessment board.
Assignment Feedback
Formative Feedback: Assessor to Student
Action Plan
Summative feedback
Feedback: Student to Assessor
1. A Cover page or title page – You should always attach a title page to your assignment. Use previous page as your cover sheet and make sure all the details are
accurately filled.
2. Attach this brief as the first section of your assignment.
3. All the assignments should be prepared using a word processing software.
4. All the assignments should be printed on A4 sized papers. Use single side printing.
5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page.
1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Use 1.5 line spacing. Left justify all paragraphs.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. Use footer function in the word processor to insert Your Name, Subject, Assignment No, and Page Number on each page. This is useful if individual sheets
become detached for any reason.
5. Use word processing application spell check and grammar check function to help editing your assignment.
Important Points:
1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the compulsory information. eg: Figures, tables of comparison etc. Adding text
boxes in the body except for the before mentioned compulsory information will result in rejection of your work.
2. Carefully check the hand in date and the instructions given in the assignment. Late submissions will not be accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. If you are unable to hand in your assignment on time and have valid reasons such as illness, you may apply (in writing) for an extension.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will then be asked to complete an alternative assignment.
9. If you use other people’s work or ideas in your assignment, reference them properly using HARVARD referencing system to avoid plagiarism. You have to provide
both in-text citation and a reference list.
10. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be reduced to A REFERRAL or at worst you could be expelled from the
course
Student Declaration
I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present it as my own without attributing the sources in the correct way. I
further understand what it means to copy another’s work.
Unit Tutor
Issue Date
Submission Date
Submission Format
1. Written Report
This submission is in the form of an individual written report. This should be written in a concise, formal
business style using single spacing and font size 12. You are required to make use of headings, paragraphs
and subsections as appropriate, and all work must be supported with research and referenced using the
Harvard referencing system. Please also provide a bibliography using the Harvard referencing system. (The
recommended word count is 1,500–2,000 words for the report excluding annexures)
3. Presentation
With the submitted system student should do a presentation to demonstrate the system that was
developed. Time allocated is 10 to 15 min. Student may use 5 to 10 PowerPoint slides while doing the
presentation, but live demonstration of the system is required. Evaluator will also check the ability to
modify and debug the system using the IDE.
LO1. Define basic algorithms to carry out an operation and outline the process of
programming an application.
LO4. Determine the debugging process and explain the importance of a coding
standard
Assignment Brief and Guidance:
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.
F n = F n-1 + F n-2
Activity 2
Explain what is meant by a Programming Paradigm. Discuss and compare 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.
Grifindo Travels is the transport arm of Grifindo Leisure (Pvt) Ltd, an emerging travel & tour
company in Sri Lanka. It owns a fleet of vehicles ranging from cars, SUVs to vans.
The vehicles that it owns are hired or rented with or without a driver. The tariffs are based on
the vehicle type. Some of the vehicle types that it operates are, small car, sedan car, SVUs, Jeep
(WD), 7-seater van and Commuter van. New vehicle types are to be added in the future.
1. Rent (With or without driver) – For each type of vehicle rates are given per day, per week
and per month. Rate for a driver also given per day. Depending on the rent period the total
rent amount needs to be calculated. For example: if a vehicle is rented for 10 days with a
driver, total amount to be calculated as follows:
2. Hire (with driver only) – These are based on packages such as airport drop, airport pickup,
100km per day package, 200km per day package etc. Standard rates are defined for a
package type of a vehicle type if that is applicable for that type of vehicle. For each package
maximum km limit and maximum number of hours area also defined. Extra km rate is also
defined which is applicable if they run beyond the allocated km limit for the tour. For day
tours if they exceed max hour limit, a waiting charge is applicable for extra hours. Driver
overnight rate and vehicle night park rate also defined which is applicable for each night
when the vehicle is hired for 2 or more days.
Activity 3
Write suitable algorithms for vehicle tariff calculation for rents and hires and for total
sales calculation. Ideally 4 functions should be developed for this purpose as above. Use
the visual studio IDE (using C#.net) to enhance and implement the above algorithms
and design the suitable database structure for keeping the tariffs for vehicle types and
different packages which must be used for implementing the above functions and the
provided database structure should record the calculated amounts of rents and hires
with the necessary information.
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
2
3
4
4.1 Design and build a small system to calculate vehicle hire amounts and record
them in a database for customer billing and management reporting for Grifindo Travels.
This includes the completing the database design started in 3.2 and implementing one
or more GUIs for vehicle, vehicle type, and package add/edit/delete functions. It
essentially requires an interface for hire calculation and recording function described
above. The implemented system should view all the sales for a given date range and
type(hire/rent) and mode (with driver/without driver/day-tour hire/long-tour hire) and
it should display the total sales according to the given parameter values.
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.
Grading Rubric
01. Debugging – this ensures that the program works and everything is coded
properly.
02. Logic Errors – this ensures that what happens in the program makes sense (just
because something functions doesn’t mean it will make sense).
03. Beta Testing - apply real-world variables to make sure the program can handle
normal circumstances.
1. Problem analysis:
The primary step within the
preparing of program enhancement is the total
understanding and recognizable proof of the issue for which is the program or
computer program is to be developed.
In this step the issue must be characterized formally. All the factors like
Input/output, handling necessity, memory prerequisites, mistake taking care of,
meddle with other programs got to be taken into thought in this organize.
2. Program design:
The following stage is the program design.
This level lists all the instructions that are executed at various levels.
These are plain English.
You can call it strategy.
The program designer make use of algorithms and flowcharts
to create the plan of the program.
Algorithm - An algorithm is a set of instructions that can help you solve
a problem quickly.
Flowcharts - A graphical tool that shows the steps/stages that are
executed in a program.
3. Coding:
Once the design process is done, the real computer program is composed,
i.e. the informational are composed in a computer language.
Coding is by and large an awfully little portion of the complete
program advancement prepare additionally a less time devouring movement in
reality.
In this handle all the sentence structure mistakes i.e. mistakes related to
spelling, lost commas, unclear names etc. are dispensed with.
For successful coding a few of the direct lines which are connected are:
Use of significant names and names of variables.
Simple and clear expressions.
Modularity
with accentuation on making modules generalized.
Making utilize of comments and indenting the code properly.
Avoiding bounced within the program to exchange control.
4. Debugging:
At this stage we eliminate all bugs in the program.
This is because as you write your code, some bugs may appear at that point.
Here a program called DRY RUN is run manually.
This is done several times until the program is rid of all bugs and the system is
bug free.
A few common errors which might happen within the programs include:
Initialization of variables.
Reversing of arrange of operands.
Confusion of numbers and characters.
Inverting of conditions e.g.: jumping on zero rather than on not zero.
6. Testing:
The program is tested on a number of appropriate test cases.
A test plan of the program must be done at the stage of the program plan itself.
This guarantees an intensive understanding of the specifications.
The most minor and the foremost uncommon cases ought to be recognized and
tested.
It is continuously useful to include the maximum and minimum values of
all factors as test information.
7. Documentation:
Documentation is an exceptionally fundamental step within the program
development.
Documentation help the clients and the individuals who maintain the software.
This guarantees that future alteration if required can be done effectively.
Moreover it is required amid updating and maintenance.
Most programmers ignore this
stage for many reasons, but it is very important because it
helps programmers fix problems that may occur in their programs.
There are two types of documentation:
1. The user manual provides users with complete information on how to
operate the program and what to do if problems arise.
2. The technical manual contains technical information about the program.
This is used to capture technical details of the program if the system is
not working properly or needs to be changed.
8. Maintenance:
Updating and adjustment of the program for changed conditions and
field involvement is accounted for in maintenance.
Maintenance gets to be basic in taking after circumstances:
Alter in specification
Change in equipment
Errors which are found amid the real execution of the program.
Example:
n! = n* (n-1) * (n-2) *........1
4! = 4x3x2x1 = 24
Big O notation is a scientific notation that portrays the limiting behavior of a
function when the contention tends towards a particular value or infinity. It may
be a part of a family of notations designed by Paul Bachmann, Edmund Landau,
and others, collectively called Bachmann–Landau notation or
asymptotic notation.
Global variables:
Global factors increment usefulness when nearby factors are deficiently.
Engineers can utilize worldwide factors in about all capacities.
When characterized universally, a variable makes itself accessible to
all strategies and capacities within the code, permitting the designer to get
to key information all
through the program's numerous methods.
Parameter passing:
Parameters are the information values that exchange from
each work inside a code arrangement.
When utilizing parameter passing, designers put input parameters into a
module or gadget and get yield parameters in return.
Parameters permit a software engineer to dole out passed information
to factors, conditions and commands inside a work to
a work to total computing activities on the information.
Modularity:
Modularity may be a structure in which
an engineer isolates the usefulness of its code into
an arrangement of littler squares.
The software engineer can at that point call
these squares, frequently called strategies or capacities in procedural
programming dialects, in their code to access them.
This makes vital capacities repeatable to make a more productive setup
code, compared to one that requires the software engineer to reuse the
same code at numerous focuses when counting a errand that
they require more than once.
Top-down approach: