0% found this document useful (0 votes)
334 views

M.M Rishad-Unit-01 Programming Assignment

The document provides instructions for an assignment on designing and implementing a GUI-based system using an integrated development environment. Students must submit three components: 1) A written report of 1,500-2,000 words explaining their system design and implementation. 2) The implemented software system, which should connect to a backend database and include at least 5 forms with functionality like insert, edit, and delete of main entities and transaction processing. 3) A 10-15 minute presentation demonstrating the developed system through 5-10 PowerPoint slides with a live demonstration of the software. Evaluators will also check the ability to modify and debug the system using the IDE. The assignment addresses two learning outcomes on defining

Uploaded by

Rishad Jobbs
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
334 views

M.M Rishad-Unit-01 Programming Assignment

The document provides instructions for an assignment on designing and implementing a GUI-based system using an integrated development environment. Students must submit three components: 1) A written report of 1,500-2,000 words explaining their system design and implementation. 2) The implemented software system, which should connect to a backend database and include at least 5 forms with functionality like insert, edit, and delete of main entities and transaction processing. 3) A 10-15 minute presentation demonstrating the developed system through 5-10 PowerPoint slides with a live demonstration of the software. Evaluators will also check the ability to modify and debug the system using the IDE. The assignment addresses two learning outcomes on defining

Uploaded by

Rishad Jobbs
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 30

Higher Nationals

Internal verification of assessment decisions – BTEC (RQF)


INTERNAL VERIFICATION – ASSESSMENT DECISIONS
Programme title Higher National Diploma in Computing

Assessor Internal Verifier

Unit(s)

Assignment title
M.M Rishad
Student’s name
List which assessment criteria Pass Merit Distinction
the Assessor has awarded.

INTERNAL VERIFIER CHECKLIST

Do the assessment criteria awarded match


those shown in the assignment brief?
Y/N
Is the Pass/Merit/Distinction grade awarded
justified by the assessor’s comments on the Y/N
student work?
Has the work been assessed
accurately? Y/N

Is the feedback to the student:


Give details:
• Constructive?
• Linked to relevant assessment criteria?
Y/N
• Identifying opportunities for
Y/N
improved performance?
Y/N
• Agreeing actions?
Y/N
Does the assessment decision need
amending? Y/N

Assessor signature Date

Internal Verifier signature Date


Programme Leader signature (if required)
Date
Confirm action completed
Remedial action taken

Give details:

Assessor signature Date


Internal Verifier
signature Date

Programme Leader
signature (if required) Date
Higher Nationals - Summative Assignment Feedback Form
Student Name/ID
Unit Title
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.

Pass, Merit & Distinction Descripts P1 M1 D1

LO2. Explain the characteristics of procedural, object-orientated and event-driven programming, conduct an analysis of a suita
Integrated Development Environment (IDE).

Pass, Merit & Distinction Descripts P2 M2 D2

LO3. Implement basic algorithms in code using an IDE.

Pass, Merit & Distinction Descripts P3 M3 D3

LO4. Determine the debugging process and explain the importance of a coding standard.
Pass, Merit & Distinction Descripts P4 P5 M4 D4

Grade: Assessor Signature: Date:


Resubmission Feedback:

Grade: Assessor Signature: Date:


Internal Verifier’s Comments:

Signature & Date:

* 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

Assessor Date
signature

Student Date
signature
Pearson Higher Nationals in
Computing
Unit 01: Programming
Assignment 01
General Guidelines

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.

Word Processing Rules

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.

1. I know that plagiarism is a punishable offence because it constitutes theft.


2. I understand the plagiarism and copying policy of the Edexcel UK.
3. I know what the consequences will be if I plagiaries or copy another’s work in any of the
assignments for this program.
4. I declare therefore that all work presented by me for every aspects of my program, will be
my own, and where I have made use of another’s work, I will attribute the source in the
correct way.
5. I acknowledge that the attachment of this document signed or not, constitutes a binding
agreement between myself and Edexcel UK.
6. I understand that my assignment will not be considered as submitted if this document is not
attached to the attached.

Student’s Signature: Date:


(Provide E-mail ID) (Provide Submission Date)
Higher National Diploma in Computing
Assignment Brief
Student Name /ID Number

Unit Number and Title Unit 01: Programming

Academic Year 2021/22

Unit Tutor

Assignment Title Design &Implement a GUI based system using a suitable


Integrated Development Environment

Issue Date

Submission Date

IV Name & Date

Submission Format

This submission will have 3 components

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)

2. Implemented System (Software)


The student should submit a GUI based system developed using an IDE. The system should connect with a
backend database and should have at least 5 different forms and suitable functionality including insert,
edit and delete of main entities and transaction processing.

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.

Unit Learning Outcomes:


LO1. Define basic algorithms to carry out an operation and outline the process of
programming an application.

LO2. Explain the characteristics of procedural, object-orientated and event-driven


programming, conduct an analysis of a suitable Integrated Development
Environment (IDE).

LO3. Implement basic algorithms in code using an IDE.

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

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.
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

2.1 Explain 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). you also need to 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.

Ayubo Drive is the transport arm of Ayubo 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.

Vehicle rent and hire options are described below.

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:

Total rent = weeklyRent x 1 + dailyRent x 3 + dailyDriverCost x 10

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 typeif that is applicable for that type of vehicle.For each package
maximum km limit and maximum number of hours arealso 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

Function 1: Rent calculation.


Return the total rent_value when vehicle_no, rented_date, return_date, with_driver
parameters are sent in. with_driver parameter is set to true or false depending whether the
vehicle is rented with or without driver.

Function 2: Day tour - hire calculation.


Calculate total hire_value when vehicle_no, package_type, start_time, end_time,
start_km_reading, end_km_reading parameters are sent in. Should return base_hire_charge,
waiting_charge and extra_km_charge as output parameters.
Function 3: Long tour - hire calculation.
Calculate total hire_value when vehicle_no, package_type, start_date, end_date,
start_km_reading, end_km_reading parameters are sent in. Should return base_hire_charge,
overnight_stay_charge and extra_km_charge as output parameters.

Write suable algorithms for vehicle tariff calculation for rents and hires. Ideally 3
functions should be developed for this purpose as above. Use the visual studio IDE
(using C#.net) to 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.
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 forAyubo drive. 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. Generating customer
reports and customer invoices are not required for this course work.

4.2 Explain 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 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

Grading Criteria Achieved Feedback

LO1 Define basic algorithms to carry out an operation


and outline the process of programming an
application.

P1Provide a definition of what an algorithm is and outline


the process in building an application.

M1Determine the steps taken from writing code to


execution.

D1 Evaluate the implementation of an algorithm in a suitable


language. Evaluate the relationship between the written
algorithm and the code variant
LO2 Explain the characteristics of procedural,
objectorientated and event-driven programming,
conduct an analysis of a suitable Integrated
Development Environment (IDE)

P2Give explanations of what procedural, objectorientated,


and eventdriven paradigms are; their characteristics and the
relationship between them.

M2 Compare and contrast the procedural, object


orientated and event driven paradigms used in given
source code of an application

D2Critically evaluate the source code of an application which


implements the programming paradigms, in terms of the
code structure and characteristics.

LO3Implement basic algorithms in code using an IDE.


P3Write a program that implements an algorithm using an
IDE.

M3Use the IDE to manage the development process of the


program.

D3Evaluate the use of an IDE for development of


applications contrasted with not using an IDE.

LO4 Determine the debugging process and explain


the importance of a coding standard

P4Explain the debugging process and explain the debugging


facilities available in the IDE.

P5Outline the coding standard you have used in your code.


M4Evaluate how the debugging process can be used to
help develop more secure, robust applications.

D4 Critically evaluate why a coding standard is necessary in


a team as well as for the individual.
Acknowledgement
Activity 01

1. Define what an algorithm is

A mathematical problem can be solved in a finite number of stages using an algorithm, which
is described as "a set of rules to be followed in computations or other problem-solving
procedures" or "a technique for doing so, generally including recursive operations."

As a result, an algorithm is a constrained collection of procedures used to address a particular


problem.

According on your objectives, algorithms might be straightforward or complex.

Similar to this, algorithms in programming aid in the completion of a task to generate the
desired result.

The developed algorithms are language-independent, which implies that they may be
implemented in any language and provide the same outcomes.

2.Outline the characteristics of a good algorithm.

Similarly, not all written computer instructions are algorithms. Some instructions must have
the following features in order to be classified as an algorithm:

The algorithm should be explicit and unambiguous.


Each of its phases should be obvious in every way and lead to only one meaning.
Well-Defined Inputs: If an algorithm requires inputs, they should be well-defined inputs.
Well-Specified Outputs: The algorithm's output must be clearly defined and well-defined.
Finite-ness: The algorithm must be finite, that is, it must end within a finite period.
Feasible: The method must be simple, general, and practical enough to be run with the
resources provided. It must not include any futuristic technologies or anything else.
Language Independence: The intended algorithm must be language-independent, i.e. it must
be merely simple instructions that may be implemented in any language and still provide the
desired results.
Algorithm Characteristics:

It should end after a certain amount of time.


It must generate at least one output.
It should accept 0 or more input.
It should be deterministic, which means it should provide the same result for every input
instance.
Every step in the algorithm must be effective, which means that each step must perform
some function.

3.Write the algorithms to display the Fibonacci series and the factorial value for a
given number using Pseudo code.

Pseudocode for Finding Fibonacci Series

Step 1: Start

Step 2: Read number from User

Step 3: Initialize Variable a=0, b=1, i=1

Step 4: Display a, b

Step 5: While i<=n-2


C=a +b
Display c
a=c
i= i +1

END While

Step 7: Stop
Pseudocode for Finding Factorial of Number

Read number

Fact = 1, i = 1

WHILE i<=number

Fact=Fact*i i=i+1

ENDWHILE

WRITE Fact

Stop

4.Determine the steps involved in the process of writing and executing a program.

The Programming Process

Developing software has steps that are similar to any problem-solving activity. There are
five important components to the programming process:

1. Identifying the problem


2. Making the Solution
3. Computer programming
4. Evaluation of the program
5. Program documentation
1. Identifying the problem

Assume that you are contacted because your services as a programmer are needed. To
evaluate the issue, you meet with the customers' users, or you meet with a systems analyst
who establishes the project. Finding out what you know (based on the facts provided as input)
and what you wish to obtain is specifically required for the task of characterizing the problem
(output-the result). You finally produce a written agreement that specifies, among other
things, the kind of input, processing, and output needed. This is not a simple job.

2. . Making the Solution

The creation of a flowchart and the writing of pseudocode, or perhaps even both, are two
popular methods of problem-solving planning. A flowchart is essentially a visual depiction
of a problem-solving process in steps. It comprises of boxes and other symbols that indicate
activities together with arrows that show the program's direction. It is a road plan for what
and how your program will accomplish its goals. A common set of flowchart symbols has
been created by the American National Standards Institute (ANSI). Figure 1 depicts the
symbols and possible uses for them in a straightforward flowchart of a typical daily act—
preparing a letter for sending.

Pseudocode is a nonstandard language that resembles English and allows you to express
your answer with greater accuracy than you can in plain English, but with less precision
than is necessary when using a formal programming language. Pseudocode enables you to
concentrate on the logic of the program without having to worry about the specific syntax of
a particular programming language just yet. Pseudocode, however, cannot be run on a
computer. When we concentrate on language examples later in this chapter, we shall show
these.

3. Computer programming

The next stage for a programmer is to write the program, which entails expressing their
answer in a programming language. From the flowchart, pseudocode, or another tool, you
will transform the logic into a programming language. As we've already mentioned, a
programming language is a collection of rules that gives the computer a method to be told
what actions to do. There are several programming languages; some examples are BASIC,
COBOL, Pascal, FORTRAN, and C. Working with one or more of these may come up.
Later on in this chapter, we will go into further depth about the various languages.
Programming languages are far more exact
even though they function somewhat grammatically like the English
language. You must strictly adhere to the language's rules—its syntax—for your program to
function. Of course, speaking the language fluently does not ensure that your software will
function, just as speaking English well does not automatically imply that you are
knowledgeable in the subject matter. The crucial thing to remember is that using the
language correctly comes first. Then, using a terminal or personal computer, you must enter
in your coded program in a way that the machine can comprehend.
Another point: To generate a file that contains the program, programmers typically use a
text editor, which is somewhat akin to a word processing tool. But if you're just starting off,
you should probably write your computer code out first.

4. Evaluation of the program

A well-designed software can supposedly be written right the first time, according to some
experts. In fact, they claim that there are mathematical techniques to demonstrate the
accuracy of a program. The majority of programmers, however, are accustomed to the
thought that their freshly built programs undoubtedly have a few defects because the world's
flaws still exist. This initially seems disheartening because programmers are often precise,
cautious, detail-oriented, and proud of their work. Nevertheless, there are several
possibilities to incorporate errors into programs, and you will likely discover lots of them,
just like those who came before you.
You must eventually get ready to test the software on a computer after you've coded it.
These stages are included in this step:

Desk-checking. Similar to how a programmer who is seeking a shortcut and quick to


execute the program on a computer after it is created would occasionally skip this step, too.
However, by carefully desk-checking, you may find a number of mistakes and ultimately
end up saving time. Desk-checking involves just sitting down and mentally going over the
program's logic in an effort to verify that it is error-free and functional. A walkthrough is a
technique used by many businesses to advance this stage in which a group of programmers
—your peers—reviews your software and makes collegial comments.
Translating. A translator is a software that,
first, verifies that the programming
language was used correctly by examining your program's syntax and
providing you with all syntax-error alerts, or diagnostics, and, second, translates your
program into a language that the machine can comprehend.
As a byproduct of the process, the translator alerts you if you've utilized the programming
language incorrectly in any manner. Syntax errors are this category of error.

Detailed error messages are produced by the translator. For instance, if you accidentally
type N=2 *(I+J)) in FORTRAN with two closing parenthesis rather than one, you will
receive a notice that reads "UNMATCHED PARENTHESES." (Error messages may use
different phrasing depending on the translation.) Compilers are most often used to translate
programs. Your software is translated at once by a compiler. Your original program,
referred to as a source module, is translated into an object module by a compiler. During the
link/load step, prewritten programs from a system library may be included, creating a load
module. The computer can then run the load module at that point.

Debugging. Debugging, a phrase frequently used in programming, is the process of


identifying, finding, and fixing defects (mistakes), typically by executing the program.
These flaws are logical mistakes, such as instructing a computer to repeat an action while
failing to instruct it on how to stop. You run the application during this step using test data
you create. To ensure that you test every component of the software, you must carefully
arrange the test data.

5. Program documentation

Although it is a continuous and important process, you could be anxious to engage in more
thrilling computer-related tasks, like many programmers are. A written full explanation of
the programming cycle and particular information about the program constitutes
documentation. The cause and nature of the issue, a narrative summary of the program,
logic tools like flowcharts and pseudocode, descriptions of the data records, program
listings, and testing findings are examples of typical program documentation resources. A
crucial component of documentation is also believed to be comments within the program
itself. As they code, many programmers keep notes. Program documentation may, in a
larger sense, be a component of system documentation as a whole.

The astute programmer keeps the program's documentation up to date as it is designed,


developed, and tested. To aid in organizing program planning and to augment human
memory, documentation is required. In order to interact with people who are interested in
the software, particularly with other programmers who could be a member of a
programming team, documentation is also essential.
Additionally, since there is a lot of turnover in the computer sector, written documentation
is required so that people who follow you may fix any flaws you overlooked or modify the
software as needed.

5.Take a sample number and dry run the above two algorithms.Show the outputs at
the end of each iteration and the final output.
6.Examine what Big-O notation is and explain its role in evaluating efficiencies of
algorithms.

f(x)=O(g(x))f(x)=O(g(x)) as x\to \infinx→∞

if the absolute value of f(x) is at most a positive constant multiple of g(x) for all
sufficiently large values of x. That is, f(x)=O(g(x)) if there exists a positive real number M
and a real number x0 such that

|f(x)|\le Mg(x)∣f(x)∣≤Mg(x) for all x\ge x_0x≥x


0

Big O notation is a type of mathematical notation that expresses how a function limits itself
when its argument goes towards a certain value or infinity.

Big O notation in computer science is used to categorize algorithms based on how their
runtime or space needs increase as the input size rises. Big O notation categorizes functions
based on their rates of growth, allowing for the representation of several functions with the
same growth rate using the same notation.

Big O notation often only gives an upper bound on the function's growth rate when
describing a function.

7.Write the Python program code for the above two algorithms

8.and critically evaluate their efficiencies using Big-O notation.

Activity 2
2.1 Explain what is meant by a Programming Paradigm

A programming paradigm is a category, a fashion, or a method of programming. It is a


strategy for problem-solving that makes use of programming languages. The difficulty of
applying a paradigm varies by language.

A program's categorization, style, or approach are all examples of programming formats. It is


a method of problem-solving that makes use of programming languages. A paradigm can be
used with varying degrees of difficulty depending on the language.

Numerous programming languages employ paradigms, but in order to do so, they must
adhere to a plan or process. The overview of programming languages and their paradigms is
provided here.

2.2 The main characteristics of Procedural, Object oriented and Event-driven


paradigms and the relationships among them.

Paradigms:
In procedural programming paradigm, one defines a program and its subprograms as a
series of steps.

In event-driven programming paradigm, one defines what will occur when a user executes
an event.

Object-oriented programming paradigm is a way of organizing code around a collection of


objects based on the principles of encapsulation, inheritance, substitution, programming to
interfaces, and so on.

Procedural, event-driven and object-oriented paradigms are used to classify programming


languages.
A procedural programming paradigm is
represented as a series of steps in which a
computer programmer writes a code to perform a specific task. The
first line of code is executed first, then the second line of code, then the third, up to last line
of code. Therefore, procedural programming is a top-down approach to executing lines of
codes. The most popular languages that use procedural paradigm are BASIC, COBOL,
PASCAL and FORTRAN. In these languages, a program comprises of steps or procedures
that operate on data. Procedural programming has many characteristics like local variables,
global variables, pre-defined functions, modularity, and parameter passing in function and
procedures.

While the procedural paradigm uses steps, the event-driven paradigm approach uses events
from the user to execute functions on the data. These events could be a simple mouse click
or a combination of key-presses from the user (like in GUI based programs) or could also be
a message from other programs. Programming languages constantly listen or sense for an
event, which then calls the respective function when the event is detected. Since most of the
GUI applications depend on user actions, these GUI programming languages will have an
event-driven paradigm based programming as an essential part. The characteristics of event-
driven programming are that these are service oriented, use event handlers and triggers,
have user-interfaces and are time driven. Most popular languages specially for GUI or
visual applications that use event-driven paradigm are visual C++, Java, Visual Basic.

The object-oriented paradigm is different from both the steps based paradigm of procedural
and the trigger/event based paradigm of event-driven, in the sense that the object-oriented
paradigm is based on objects and classes and their re-use to perform a specific code-
function. So, unlike the procedural paradigm, the object-oriented paradigm uses bottom-up
approach. In the simplest form, these objects contain data in the form of fields. Programs
are divided into smaller units known as objects belonging to a class. These objects interact
with each other through functions. Most popular languages that use object-oriented
paradigm are C++, Java, Objective-C, Python. The characteristics of languages using the
object-oriented paradigms are the use of objects, classes, encapsulation, inheritance, data
abstraction, dynamic binding, message passing and polymorphism.
2.3 Write small snippets of code as example for the above three programming
paradigms using a suitable programming language(s).

2.4 You also need to critically evaluate the code samples that you have given above in
relation to their structure and the unique characteristics.

You might also like