What is LessonUp
Search
Channels
Log in
Register
‹
Return to search
WK4:Event-Driven Programming and IDE Features (Session 1)
Welcome to Week 4
Event-Driven Programming and IDE Features
Module Lecturer: Dr Raghav Kovvuri
Email: raghav.kovvuri@ieg.ac.uk
1 / 10
next
Slide 1:
Slide
Programming
Higher Education (degree)
This lesson contains
10 slides
, with
text slides
.
Start lesson
Save
Share
Print lesson
Items in this lesson
Welcome to Week 4
Event-Driven Programming and IDE Features
Module Lecturer: Dr Raghav Kovvuri
Email: raghav.kovvuri@ieg.ac.uk
Slide 1 - Slide
Introduction
Definition:
A programming paradigm where the flow of the program is determined by events
Events:
User actions, sensor outputs, messages from other programs
Key Components
Event Sources (e.g., UI elements, timers, network)
Event Handlers (functions that respond to events)
Event Loop (main program loop that listens for events)
Contrast with Sequential Programming:
Sequential:
Predetermined order of execution
Event-Driven:
Reactive, based on external inputs
Slide 2 - Slide
Advantages of EDP
Scalability
Responsiveness
Modularity
Resource Efficiency
Real-world Modeling
Idle until events occur, conserving system resources
Well-suited for GUI applications and I/O-bound programs
Naturally models real-world interactions and processes
Intuitive for developing simulations and interactive systems
Quickly reacts to user inputs and system events
Enhances user experience in interactive applications
Easily handles multiple input sources
Adaptable to complex user interfaces and multi-threaded environments
Event handlers can be developed and maintained separately
Facilitates parallel development in large projects
Slide 3 - Slide
Example (Python & Tkinter) (1)
Basic Event-Driven Programming
tk.Tk():
Creates the main window
tk.Button():
Creates a button widget
command=button_click:
Associates the button click event with the handler
root.mainloop():
Starts the event loop
Key Concept:
The program waits for user interaction rather than executing sequentially
Slide 4 - Slide
Objects as Event Handlers:
Methods of a class serve as event handlers
Encapsulates behavior associated with events
State Management:
Object's state can change in response to events
Provides a natural way to model complex systems
Example (Python & Tkinter) (2)
Objects as Event Sources:
UI elements (buttons, text fields) as objects
Each object can generate specific events
Combining OOP and Event-Driven Concepts:
Benefits:
Improved code organization
Easier state management
Enhanced reusability and maintainability
Slide 5 - Slide
Example: Simple Calculator GUI
Download
WK4_EDP_Calculator.py
from Canvas and try to understand the Code
Key Points:
Class-based structure for organization
Event handlers (click method) respond to button presses
GUI layout managed within the class
Did you notice any issue with in the Output?
Slide 6 - Slide
Hands on Exercise
Task:
add a reset input button to the calculator. This button should clear the current input and reset the calculator to its initial state.
timer
30:00
Slide 7 - Slide
IDE Features
Setup and learn basics of VS Code
Using extensions in VS Code
Debugging
Version Control in VS Code
Version Control in VS Code
Version Control in VS Code
Version Control in VS Code
Version Control in VS Code
https://code.visualstudio.com/docs/getstarted/introvideos
For Introductory Videos Visit
timer
30:00
Slide 8 - Slide
Conclusion
We've evolved our OOP calculator to use event-driven programming
Core OOP principles remain the same
Event-driven approach makes our program more interactive
This is how most modern GUI applications work!
Additional Resources
Tkinter documentation:
https://docs.python.org/3/library/tkinter.html
Real Python's Tkinter tutorial:
https://realpython.com/python-gui-tkinter/
VS Code Python tutorial:
https://code.visualstudio.com/docs/python/python-tutorial
Slide 9 - Slide
Slide 10 - Slide
More lessons like this
WK4: Hands-on Event-Driven Programming with Tkinter
October 2024
- Lesson with
11 slides
Programming
Higher Education (degree)
Building Robust Programs with Defensive Design
June 2023
- Lesson with
25 slides
Fundament indeling C# Domein J / D
March 2021
- Lesson with
30 slides
Informatica
Middelbare school
vwo
Leerjaar 5
Introduction to Programming Constructs: Creating a Computer Game with Python
August 2024
- Lesson with
23 slides
Mathematics
Further Education (Key Stage 5)
Y8 Python
June 2022
- Lesson with
38 slides
Computing
Lower Secondary (Key Stage 3)
Y8 Python
July 2022
- Lesson with
30 slides
Computing
Lower Secondary (Key Stage 3)
Python lesson 3
September 2023
- Lesson with
14 slides
Computing
Lower Secondary (Key Stage 3)
Python lesson 3
March 2024
- Lesson with
14 slides
Computing
Lower Secondary (Key Stage 3)