SlideShare a Scribd company logo
Introduction
The present discussion reveals implementation examples of three
programming paradigms namely Event-Driven, Object-Oriented, and
Procedural specifically in a unified application framework. The
presentation begins by showing the application's introduction and goes
through separate analysis of each programming model before studying
the practical combination of paradigms.
Selected Application: A Basic GUI-Based Calculator serves as the
application for this presentation since Python developers created it using
the Tkinter library.
It:
It carries out simple mathematical operations including addition
together with subtraction combined with multiplication and division.
Users can execute this application through buttons featured within its
Graphical User Interface (GUI).
The application implements event-handling and object encapsulation
together with procedural routines.
About the Selected Application
What the Application Is:
Users can use this lightweight and easy-to-use Basic Calculator for performing fast arithmetic computations.
A simple interface presents number buttons and operation buttons (+, -, *, /) that produce results on its display
screen.
What It Does:
 The application responds to button clicks in order to manage user input.
 Displays the current number or result.
 The application uses object-oriented design to segregate its functional elements into different classes.
 The tool depends on special procedural helper functions to control display reset operations and input data
conversion functions.
The device stands as an exceptional example to reveal the applied combination of multiple programming
frameworks.
Programming Paradigm Overview
A preliminary definition of each paradigm will follow the code analysis.
A. Procedural Programming:
a) Focuses on step-by-step instructions.
b) Programming code gets arranged into procedures which work alongside functions in this structure.
c) Data and behavior are separate.
B. Object-Oriented Programming (OOP):
d) The program utilizes classes and objects to model natural entities which exist in the real world.
e) Emphasizes encapsulation, inheritance, and polymorphism.
f) Programming logic gathers items from both data structures and operational activities.
C. Event-Driven Programming:
g) This paradigm responds through events which include keypresses and clicks.
h) The main concept behind programs that interact with users specifically those designed for graphical user interfaces.
i) The application flow depends on external events instead of progressing through set logic sequences.
Each paradigm has its unique goals yet remains capable of joining forces inside one application through a modular and flexible system
design.
Procedural Programming Characteristics
Procedural Programming Key Characteristics:
 Sequential Execution: The programming logic moves downward throughout the entire code base unless it encounters specific
directions to change execution flow.
 Functions: The code base contains several modular procedures which users can reuse.
 Global and local variables: A program depends on two types of variables: Global and Local variables while maintaining clear
control of data scope.
 Clear Logical Flow: The programming method brings clear logical arrangement to create tasks for straightforward
development work.
In the Calculator Application:
 In the Calculator Application the functions clear_display() and calculate_result() and append_to_display() operate through
procedural means.
 The program calls these steps through events even though they execute using predefined processes.
Procedural logic executes discrete calculation operations along with other event-based programming elements in the system.
Object-Oriented Programming Characteristics
OOP Key Characteristics:
 Encapsulation: A class combines all its data attributes with its method functions as a single bundle
 Inheritance: Developers can produce fresh classes which derive from existing ones.
 Polymorphism: An object functions as an entity of the same class type as its parent class.
 Reusability and Modularity: The code structure becomes both reusable and modular through these characteristics.
In the Calculator Application:
 The Calculator class contains all framework components that include interface packaging with event handlers and essential
methods.
 The state management for current input and pending operations operates independently for each instance of calculator.
 Code organization becomes better through encapsulation because the GUI setup remains separate from logic implementation.
The framework demonstrates clear scalability because object orientation presents an organized structure as it enables building
blocks for additional development.
Event-Driven Programming Characteristics
Event-Driven Programming Key Characteristics:
 Listeners and Handlers: The user interaction triggers the triggering of functions
 Event Loop: It exists to continuously wait for events followed by their automatic dispatching (button
clicks and keystrokes).
 Asynchronous Behavior: The programming system reacts to events that happen without predictable
timing.
 Reactive Programming Style: The programming style under Reactive Programming follows an
external-based system flow rather than following sequential internal program order.
In the Calculator Application:
 The Button widget from Tkinter enables users to connect particular handler functions with button
clicks.
 Any time users click on the "5" button a program function automatically inserts the number "5" on the
screen.
 Tkinter provides an event-driven event loop that keeps the GUI active.
User inputs determine real-time operations for this calculator as it moves without predetermined sequences.
Comparison: Use of Paradigms in Application
A. Procedural vs Object-Oriented:
The display clearing and numeric operation capabilities of the calculator use procedural code.
Managers at an organization can benefit from Object-Oriented design because it divides applications into
easy-to-manage objects that contain everything in a single package.
B. Procedural vs Event-Driven:
The execution sequence of procedural functions activates step by step upon user actions.
The execution of those functions waits for events to trigger them.
C. Object-Oriented vs Event-Driven:
The Calculator object places event handlers directly within the methods that belong to its class structure.
The Calculator class contains event bindings directly as its methods for enhanced maintainability.
Summary Comparison Table:
The application gets its robustness combined with interaction and maintainability because all
paradigms work together.
Feature Procedual Object-Oriented Event-Driven
Task Handling Functions Methods (Class-
based )
Event Haldlers
Flow Control Sequential Structured By Objects User-Triggered
Events
Code Organization Flat Structure Modular Classes Reactive
Components
Critical Evaluation: Code Structure and Paradigm Use
Strengths:
 Cohesive Integration:
The programming code implements an effective integration of programming paradigms. The source code combines
procedural functions which execute operations with object-oriented design structures that organize the application
while using event-driven programming to link user interface operations to application functionality.
 Code Reusability and Scalability:
The Calculator class encapsulation enables future development of scientific capabilities and history logs through
changes to the code without extensive modifications.
 Responsiveness and Interactivity:
The calculator reacts instantly to user inputs because of event-driven programming.
 Readability and Maintenance:
The code remains easy to understand due to event handling being kept separate from user interface construction and
operational functionality logic.
Weaknesses:
Tight Coupling Between UI and Logic:
The event handlers make their modifications to the calculator environment directly
onscreen display. For bigger apps one should split user interface elements from business
processing functions through an MVC (Model-View-Controller) design pattern.
Limited Use of Inheritance/Polymorphism:
The application uses OOP principles but lacks proper application of inheritance for
extensibility through basic calculator and scientific calculator class definitions.
Procedural Dependence:
The object-oriented wrapping contains procedural method structure in certain instances.
The application could benefit from improved abstraction of these procedural structures in
a more advanced development.
Conclusion
We have covered three essential points during this presentation. The features and
characteristics of Procedural, Object-Oriented, and Event-Driven Programming paradigms.
The Basic Calculator application contains implementation of these programming paradigms.
A comprehensive evaluation demonstrates how separate paradigms support each other.
A critical evaluation of strengths and weaknesses in the source code’s structure.
Key Takeaway:
Modern applications apply different programming paradigms together for maximizing their
unique attributes.
The interaction insight between these paradigms lets developers create software solutions
that have scalability and maintainability and yield flexibility.
The Basic Calculator proves that basic applications thrive significantly when developers
combine programming paradigms into a single solution.

More Related Content

PPTX
Programming language paradigms
PPTX
Different paradigms for problem solving.pptx
PPTX
Chapter_8_Designing_Efficient_Programs.pptx
PPTX
ProgrammingPrimerAndOOPS
PPTX
Object Oriented Programming Part 2 of Unit 1
DOCX
PCCF-UNIT 2-1 new.docx
PPTX
Unit 2.pptx
PPTX
Unit 2.pptx
Programming language paradigms
Different paradigms for problem solving.pptx
Chapter_8_Designing_Efficient_Programs.pptx
ProgrammingPrimerAndOOPS
Object Oriented Programming Part 2 of Unit 1
PCCF-UNIT 2-1 new.docx
Unit 2.pptx
Unit 2.pptx

Similar to Programming Presentation by Lucky Bishwakarma (20)

PPTX
Comparison of OOP with Procedural and Functional Programming
DOCX
Unit1 jaava
PPTX
PCC-202-COM -OOP and CG (2024 Pattern).pptx
PPT
16613874-Object-Oriented-Programming-Presentation.ppt
PPTX
Unit-V.pptx
PDF
Procedural Programming Unleashing Algorithmic Power Theophilus Edet
PPTX
Oop.pptx
PPTX
Programming Presentation.pptx
PPTX
a brief explanation on the topic of Imperative Programming Paradigm.pptx
PPTX
Object oriented programming
PDF
Lecture_HPC_7_ProgrammingCSI32_Paradigms.pdf
PPTX
Object oriented programming in python
PPTX
PCCF UNIT 2.pptx
PPTX
[OOP - Lec 02] Why do we need OOP
PPTX
Programming Paradigms Seminar 1
PPTX
Lecture No.1.pptx
PPTX
OOPS.pptx
PPT
Introduction to programing languages part 2
PPTX
Introduction to object oriented language
PPTX
Unit - I Intro. to OOP Concepts and Control Structure -OOP and CG (2024 Patte...
Comparison of OOP with Procedural and Functional Programming
Unit1 jaava
PCC-202-COM -OOP and CG (2024 Pattern).pptx
16613874-Object-Oriented-Programming-Presentation.ppt
Unit-V.pptx
Procedural Programming Unleashing Algorithmic Power Theophilus Edet
Oop.pptx
Programming Presentation.pptx
a brief explanation on the topic of Imperative Programming Paradigm.pptx
Object oriented programming
Lecture_HPC_7_ProgrammingCSI32_Paradigms.pdf
Object oriented programming in python
PCCF UNIT 2.pptx
[OOP - Lec 02] Why do we need OOP
Programming Paradigms Seminar 1
Lecture No.1.pptx
OOPS.pptx
Introduction to programing languages part 2
Introduction to object oriented language
Unit - I Intro. to OOP Concepts and Control Structure -OOP and CG (2024 Patte...
Ad

Recently uploaded (20)

DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
Empowerment Technology for Senior High School Guide
PPTX
Cell Types and Its function , kingdom of life
PDF
Indian roads congress 037 - 2012 Flexible pavement
PDF
RMMM.pdf make it easy to upload and study
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
Trump Administration's workforce development strategy
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PPTX
Lesson notes of climatology university.
PPTX
Introduction to Building Materials
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PPTX
Digestion and Absorption of Carbohydrates, Proteina and Fats
PDF
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
PDF
Complications of Minimal Access Surgery at WLH
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Hazard Identification & Risk Assessment .pdf
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Empowerment Technology for Senior High School Guide
Cell Types and Its function , kingdom of life
Indian roads congress 037 - 2012 Flexible pavement
RMMM.pdf make it easy to upload and study
A powerpoint presentation on the Revised K-10 Science Shaping Paper
Trump Administration's workforce development strategy
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
Lesson notes of climatology university.
Introduction to Building Materials
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
Digestion and Absorption of Carbohydrates, Proteina and Fats
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
Complications of Minimal Access Surgery at WLH
LDMMIA Reiki Yoga Finals Review Spring Summer
Final Presentation General Medicine 03-08-2024.pptx
Hazard Identification & Risk Assessment .pdf
Paper A Mock Exam 9_ Attempt review.pdf.
Ad

Programming Presentation by Lucky Bishwakarma

  • 1. Introduction The present discussion reveals implementation examples of three programming paradigms namely Event-Driven, Object-Oriented, and Procedural specifically in a unified application framework. The presentation begins by showing the application's introduction and goes through separate analysis of each programming model before studying the practical combination of paradigms. Selected Application: A Basic GUI-Based Calculator serves as the application for this presentation since Python developers created it using the Tkinter library. It: It carries out simple mathematical operations including addition together with subtraction combined with multiplication and division. Users can execute this application through buttons featured within its Graphical User Interface (GUI). The application implements event-handling and object encapsulation together with procedural routines.
  • 2. About the Selected Application What the Application Is: Users can use this lightweight and easy-to-use Basic Calculator for performing fast arithmetic computations. A simple interface presents number buttons and operation buttons (+, -, *, /) that produce results on its display screen. What It Does:  The application responds to button clicks in order to manage user input.  Displays the current number or result.  The application uses object-oriented design to segregate its functional elements into different classes.  The tool depends on special procedural helper functions to control display reset operations and input data conversion functions. The device stands as an exceptional example to reveal the applied combination of multiple programming frameworks.
  • 3. Programming Paradigm Overview A preliminary definition of each paradigm will follow the code analysis. A. Procedural Programming: a) Focuses on step-by-step instructions. b) Programming code gets arranged into procedures which work alongside functions in this structure. c) Data and behavior are separate. B. Object-Oriented Programming (OOP): d) The program utilizes classes and objects to model natural entities which exist in the real world. e) Emphasizes encapsulation, inheritance, and polymorphism. f) Programming logic gathers items from both data structures and operational activities. C. Event-Driven Programming: g) This paradigm responds through events which include keypresses and clicks. h) The main concept behind programs that interact with users specifically those designed for graphical user interfaces. i) The application flow depends on external events instead of progressing through set logic sequences. Each paradigm has its unique goals yet remains capable of joining forces inside one application through a modular and flexible system design.
  • 4. Procedural Programming Characteristics Procedural Programming Key Characteristics:  Sequential Execution: The programming logic moves downward throughout the entire code base unless it encounters specific directions to change execution flow.  Functions: The code base contains several modular procedures which users can reuse.  Global and local variables: A program depends on two types of variables: Global and Local variables while maintaining clear control of data scope.  Clear Logical Flow: The programming method brings clear logical arrangement to create tasks for straightforward development work. In the Calculator Application:  In the Calculator Application the functions clear_display() and calculate_result() and append_to_display() operate through procedural means.  The program calls these steps through events even though they execute using predefined processes. Procedural logic executes discrete calculation operations along with other event-based programming elements in the system.
  • 5. Object-Oriented Programming Characteristics OOP Key Characteristics:  Encapsulation: A class combines all its data attributes with its method functions as a single bundle  Inheritance: Developers can produce fresh classes which derive from existing ones.  Polymorphism: An object functions as an entity of the same class type as its parent class.  Reusability and Modularity: The code structure becomes both reusable and modular through these characteristics. In the Calculator Application:  The Calculator class contains all framework components that include interface packaging with event handlers and essential methods.  The state management for current input and pending operations operates independently for each instance of calculator.  Code organization becomes better through encapsulation because the GUI setup remains separate from logic implementation. The framework demonstrates clear scalability because object orientation presents an organized structure as it enables building blocks for additional development.
  • 6. Event-Driven Programming Characteristics Event-Driven Programming Key Characteristics:  Listeners and Handlers: The user interaction triggers the triggering of functions  Event Loop: It exists to continuously wait for events followed by their automatic dispatching (button clicks and keystrokes).  Asynchronous Behavior: The programming system reacts to events that happen without predictable timing.  Reactive Programming Style: The programming style under Reactive Programming follows an external-based system flow rather than following sequential internal program order. In the Calculator Application:  The Button widget from Tkinter enables users to connect particular handler functions with button clicks.  Any time users click on the "5" button a program function automatically inserts the number "5" on the screen.  Tkinter provides an event-driven event loop that keeps the GUI active. User inputs determine real-time operations for this calculator as it moves without predetermined sequences.
  • 7. Comparison: Use of Paradigms in Application A. Procedural vs Object-Oriented: The display clearing and numeric operation capabilities of the calculator use procedural code. Managers at an organization can benefit from Object-Oriented design because it divides applications into easy-to-manage objects that contain everything in a single package. B. Procedural vs Event-Driven: The execution sequence of procedural functions activates step by step upon user actions. The execution of those functions waits for events to trigger them. C. Object-Oriented vs Event-Driven: The Calculator object places event handlers directly within the methods that belong to its class structure. The Calculator class contains event bindings directly as its methods for enhanced maintainability.
  • 8. Summary Comparison Table: The application gets its robustness combined with interaction and maintainability because all paradigms work together. Feature Procedual Object-Oriented Event-Driven Task Handling Functions Methods (Class- based ) Event Haldlers Flow Control Sequential Structured By Objects User-Triggered Events Code Organization Flat Structure Modular Classes Reactive Components
  • 9. Critical Evaluation: Code Structure and Paradigm Use Strengths:  Cohesive Integration: The programming code implements an effective integration of programming paradigms. The source code combines procedural functions which execute operations with object-oriented design structures that organize the application while using event-driven programming to link user interface operations to application functionality.  Code Reusability and Scalability: The Calculator class encapsulation enables future development of scientific capabilities and history logs through changes to the code without extensive modifications.  Responsiveness and Interactivity: The calculator reacts instantly to user inputs because of event-driven programming.  Readability and Maintenance: The code remains easy to understand due to event handling being kept separate from user interface construction and operational functionality logic.
  • 10. Weaknesses: Tight Coupling Between UI and Logic: The event handlers make their modifications to the calculator environment directly onscreen display. For bigger apps one should split user interface elements from business processing functions through an MVC (Model-View-Controller) design pattern. Limited Use of Inheritance/Polymorphism: The application uses OOP principles but lacks proper application of inheritance for extensibility through basic calculator and scientific calculator class definitions. Procedural Dependence: The object-oriented wrapping contains procedural method structure in certain instances. The application could benefit from improved abstraction of these procedural structures in a more advanced development.
  • 11. Conclusion We have covered three essential points during this presentation. The features and characteristics of Procedural, Object-Oriented, and Event-Driven Programming paradigms. The Basic Calculator application contains implementation of these programming paradigms. A comprehensive evaluation demonstrates how separate paradigms support each other. A critical evaluation of strengths and weaknesses in the source code’s structure. Key Takeaway: Modern applications apply different programming paradigms together for maximizing their unique attributes. The interaction insight between these paradigms lets developers create software solutions that have scalability and maintainability and yield flexibility. The Basic Calculator proves that basic applications thrive significantly when developers combine programming paradigms into a single solution.