SlideShare a Scribd company logo
Event-driven programming
Most modern computer
programs that people
use have Graphical
User Interfaces (GUIs).
A GUI has icons on the
computer screen and a
mouse (or other device)
to control a pointer that
can be used to operate
the computer.
Event-Driven Programming
Event-Driven Programming
An Introduction to Programming Using Alice
Most modern computer
programs that people
use have Graphical
User Interfaces (GUIs).
A GUI has icons on the
computer screen and a
mouse (or other device)
to control a pointer that
can be used to operate
the computer.
This slide is an image of Microsoft Word
2007. It is an example of a modern
graphical user interface.
Modern GUIs like the Word 2007 interface require
the use of event-driven programming.
An event occurs whenever an event listener
detects an event trigger and responds by running
a method called an event handler.
An event occurs whenever an event listener
detects an event trigger and responds by running
a method called an event handler.
An event occurs whenever an event listener
detects an event trigger and responds by running
a method called an event handler.
Modern operating systems and programming
languages contain facilities to let programmers set
up event listeners.
An event trigger can be almost any activity or
condition selected by the programmer, such as a
mouse movement, someone pressing the enter
key, or a bank account balance changing.
An event handler is a method that is activated
when the event trigger occurs.
Almost any method can serve as an event handler,
such as those that play sounds, initiate data
communications, or perform calculations.
In Alice…
• Events can be used to control objects
moving in 3D space.
– Detect when some object moves
– Detect when two objects collide
– Make objects move in response to mouse or
keyboard commands.
• So before discussing events in Alice, let’s
talk about 3D space a little more.
3D space
• A dimension is a way of measuring
something.
• We create a dimension whenever we
assign a value on a continuous scale to
some property.
• Example: On a scale of 1 to 100, how
much do you approve of George Bush’s
performance as president?
Measuring distance
• If you wish to measure the location of a point on
a straight line, then you only need one number.
• You could mark a start point on the line, and
then measure how far a point is from the start
point
• By using negative and positive numbers, you
could also indicate which direction the distance
spans.
Orientation
• In addition, to the concepts of distance and
direction, we also have the concept of
orientation.
• Orientation means the direction the object is
facing.
• If an object is facing the positive direction on the
line, its orientation is forward.
• If facing negative, then backward.
Point of view
• Location and orientation together are
known as the point of view of an object.
Two ideas of direction
• Absolute vs. object-relative.
• Absolute direction of boy on bike I backward, but
forward in relation to Alice
Object-relative positions
• From the coach’s point of view, Alice is behind
the boy, while the coach is in front of the boy.
Position in 2D
• On a flat surface, like a sheet of paper, you need
two values to specify an object’s position (two
dimensions).
• Rene Descarte developed a system of
quantification for two dimensions.
• This is called Cartesian coordinates.
• Cartesian coordinates have an X axis
(dimension) and Y axis.
• The coordinates of a point are always specified
as x,y.
03a-IntroductionToEventDrivenProgramming.ppt
A third dimension
• Moving up and down off a flat plane
requires a third axis or dimension.
• Instead of an ordered pair to represent
position, we need an ordered triplet (x,y,z).
• In Alice the z axis provides a
measurement of depth.
• 3D space is sometimes called Euclidean
3-space after the Greek mathematician,
Euclid.
03a-IntroductionToEventDrivenProgramming.ppt
Absolute vs. Object-relative
• For all objects we must be aware of
absolute position and direction
• However, we are most commonly
concerned with object-relative position and
direction.
03a-IntroductionToEventDrivenProgramming.ppt
More on object-relativity
• We must also frequently consider the
movement of objects from the perspective
of other objects.
• See SharkAsSeenByExample.a2w
Events in Alice
Events in Alice
Alice events are created in the events area of the
standard Alice interface.
events area
Events in Alice
Alice events are created in the events area of the
standard Alice interface.
events area
Events in Alice
An Alice event tile specifies the event trigger
and the event handler.
In this example, the event trigger is the spacebar,
being pressed and the event handler is the
iceSkater’s simpleSpin method.
Events in Alice
create new event button
The create new event button will reveal a menu
with nine different event types.
Events in Alice
The create new event button will reveal a menu
with nine different event types.
Events in Alice
A programmer can pick the event type that has the
desired event trigger.
Events in Alice
Some event
types also have
built-in event
handlers…
A programmer can pick the event type that has the
desired event trigger.
Events in Alice
Some event
types also have
built-in event
handlers…
In other cases,
programmers
must specify
the handler.
A programmer can pick the event type that has the
desired event trigger.
Event handlers are specified by
dragging method tiles from the
details area and dropping them
into the event tile.
Exploring Events
• Start Alice and open the amusementPark
example world.
• In the events area, you should see seven
event tiles.
Amusement Park Events
Event-Driven Programming
• Events are an important part of Alice
programming, allowing the creation of interactive
worlds with keyboard and mouse user controls.
• Most modern programming languages allow
programmers to add events to new software.
• Events can be used for many other purposes,
such as controlling burglar alarms, checking
remote sensors, or checking for system events,
like printers running out of paper.
• Events are an important part of modern
computer programming.

More Related Content

PPT
Ch 3 event driven programming
PPTX
Leap Motion - Aydin Akcasu
PDF
Alice 3
PDF
1.1 1.4-introduction
PPTX
artificial intelligence introduction slides
PDF
3 d basic
PPT
Unit 1.ppt
PDF
Defense
Ch 3 event driven programming
Leap Motion - Aydin Akcasu
Alice 3
1.1 1.4-introduction
artificial intelligence introduction slides
3 d basic
Unit 1.ppt
Defense

Similar to 03a-IntroductionToEventDrivenProgramming.ppt (20)

PPTX
Autodesk3 dmax.exe
PPTX
Sixth sense technology
PPTX
event-handling.pptx
PPTX
Artificial intelligence BCA 6th Sem Notes
PPTX
Artificial intelligence BCA 6th Sem Notes
PPTX
GRADE 5 TINKERCAD powepoint presentation
PPTX
Unit 2 - Complete (1).pptx
PPTX
Application of Calculus in Computer Science.pptx
PPTX
Mobile Toolbox for Middle Years Maths
PPTX
Programming-In-Alice.pptx
PPSX
Artificial intelligence
PPTX
Digital illustration handbook
PDF
A SOFTWARE TOOL FOR EXPERIMENTAL STUDY LEAP MOTION
PPT
SIXTH SENSE TECHNOLOGY
PDF
Hands and Speech in Space: Multimodal Input for Augmented Reality
PDF
Mar general pan hui ppt
PDF
Use Of Bearings And Its Impact On Society
PDF
4. THREE DIMENSIONAL DISPLAY METHODS
PPTX
3.3 - The Math Object.pptx
PPTX
01. Introduction.pptx
Autodesk3 dmax.exe
Sixth sense technology
event-handling.pptx
Artificial intelligence BCA 6th Sem Notes
Artificial intelligence BCA 6th Sem Notes
GRADE 5 TINKERCAD powepoint presentation
Unit 2 - Complete (1).pptx
Application of Calculus in Computer Science.pptx
Mobile Toolbox for Middle Years Maths
Programming-In-Alice.pptx
Artificial intelligence
Digital illustration handbook
A SOFTWARE TOOL FOR EXPERIMENTAL STUDY LEAP MOTION
SIXTH SENSE TECHNOLOGY
Hands and Speech in Space: Multimodal Input for Augmented Reality
Mar general pan hui ppt
Use Of Bearings And Its Impact On Society
4. THREE DIMENSIONAL DISPLAY METHODS
3.3 - The Math Object.pptx
01. Introduction.pptx
Ad

More from tadudemise (8)

PPTX
What is requirement gathering chap3 1.pptx
PPT
chaptertaaaaaaaaaaaaaaadddddddd2222 4.ppt
PPT
8329969.ppt
PPT
03a-IntroductionToEventDrivenProgramming.ppt
PPT
Introduction.ppt
PPT
Chapter 1.ppt
PPT
SPL_PS2 (1).ppt
PPT
cse581_03_EventProgramming.ppt
What is requirement gathering chap3 1.pptx
chaptertaaaaaaaaaaaaaaadddddddd2222 4.ppt
8329969.ppt
03a-IntroductionToEventDrivenProgramming.ppt
Introduction.ppt
Chapter 1.ppt
SPL_PS2 (1).ppt
cse581_03_EventProgramming.ppt
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
cuic standard and advanced reporting.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
Teaching material agriculture food technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Machine Learning_overview_presentation.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
sap open course for s4hana steps from ECC to s4
MYSQL Presentation for SQL database connectivity
cuic standard and advanced reporting.pdf
Empathic Computing: Creating Shared Understanding
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Teaching material agriculture food technology
Programs and apps: productivity, graphics, security and other tools
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation_ Review paper, used for researhc scholars
20250228 LYD VKU AI Blended-Learning.pptx
Electronic commerce courselecture one. Pdf
NewMind AI Weekly Chronicles - August'25-Week II
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Machine Learning_overview_presentation.pptx
Machine learning based COVID-19 study performance prediction
sap open course for s4hana steps from ECC to s4

03a-IntroductionToEventDrivenProgramming.ppt

  • 2. Most modern computer programs that people use have Graphical User Interfaces (GUIs). A GUI has icons on the computer screen and a mouse (or other device) to control a pointer that can be used to operate the computer. Event-Driven Programming
  • 3. Event-Driven Programming An Introduction to Programming Using Alice Most modern computer programs that people use have Graphical User Interfaces (GUIs). A GUI has icons on the computer screen and a mouse (or other device) to control a pointer that can be used to operate the computer.
  • 4. This slide is an image of Microsoft Word 2007. It is an example of a modern graphical user interface.
  • 5. Modern GUIs like the Word 2007 interface require the use of event-driven programming. An event occurs whenever an event listener detects an event trigger and responds by running a method called an event handler.
  • 6. An event occurs whenever an event listener detects an event trigger and responds by running a method called an event handler.
  • 7. An event occurs whenever an event listener detects an event trigger and responds by running a method called an event handler. Modern operating systems and programming languages contain facilities to let programmers set up event listeners.
  • 8. An event trigger can be almost any activity or condition selected by the programmer, such as a mouse movement, someone pressing the enter key, or a bank account balance changing.
  • 9. An event handler is a method that is activated when the event trigger occurs. Almost any method can serve as an event handler, such as those that play sounds, initiate data communications, or perform calculations.
  • 10. In Alice… • Events can be used to control objects moving in 3D space. – Detect when some object moves – Detect when two objects collide – Make objects move in response to mouse or keyboard commands. • So before discussing events in Alice, let’s talk about 3D space a little more.
  • 11. 3D space • A dimension is a way of measuring something. • We create a dimension whenever we assign a value on a continuous scale to some property. • Example: On a scale of 1 to 100, how much do you approve of George Bush’s performance as president?
  • 12. Measuring distance • If you wish to measure the location of a point on a straight line, then you only need one number. • You could mark a start point on the line, and then measure how far a point is from the start point • By using negative and positive numbers, you could also indicate which direction the distance spans.
  • 13. Orientation • In addition, to the concepts of distance and direction, we also have the concept of orientation. • Orientation means the direction the object is facing. • If an object is facing the positive direction on the line, its orientation is forward. • If facing negative, then backward.
  • 14. Point of view • Location and orientation together are known as the point of view of an object.
  • 15. Two ideas of direction • Absolute vs. object-relative. • Absolute direction of boy on bike I backward, but forward in relation to Alice
  • 16. Object-relative positions • From the coach’s point of view, Alice is behind the boy, while the coach is in front of the boy.
  • 17. Position in 2D • On a flat surface, like a sheet of paper, you need two values to specify an object’s position (two dimensions). • Rene Descarte developed a system of quantification for two dimensions. • This is called Cartesian coordinates. • Cartesian coordinates have an X axis (dimension) and Y axis. • The coordinates of a point are always specified as x,y.
  • 19. A third dimension • Moving up and down off a flat plane requires a third axis or dimension. • Instead of an ordered pair to represent position, we need an ordered triplet (x,y,z). • In Alice the z axis provides a measurement of depth. • 3D space is sometimes called Euclidean 3-space after the Greek mathematician, Euclid.
  • 21. Absolute vs. Object-relative • For all objects we must be aware of absolute position and direction • However, we are most commonly concerned with object-relative position and direction.
  • 23. More on object-relativity • We must also frequently consider the movement of objects from the perspective of other objects. • See SharkAsSeenByExample.a2w
  • 25. Events in Alice Alice events are created in the events area of the standard Alice interface. events area
  • 26. Events in Alice Alice events are created in the events area of the standard Alice interface. events area
  • 27. Events in Alice An Alice event tile specifies the event trigger and the event handler. In this example, the event trigger is the spacebar, being pressed and the event handler is the iceSkater’s simpleSpin method.
  • 28. Events in Alice create new event button The create new event button will reveal a menu with nine different event types.
  • 29. Events in Alice The create new event button will reveal a menu with nine different event types.
  • 30. Events in Alice A programmer can pick the event type that has the desired event trigger.
  • 31. Events in Alice Some event types also have built-in event handlers… A programmer can pick the event type that has the desired event trigger.
  • 32. Events in Alice Some event types also have built-in event handlers… In other cases, programmers must specify the handler. A programmer can pick the event type that has the desired event trigger.
  • 33. Event handlers are specified by dragging method tiles from the details area and dropping them into the event tile.
  • 34. Exploring Events • Start Alice and open the amusementPark example world. • In the events area, you should see seven event tiles.
  • 36. Event-Driven Programming • Events are an important part of Alice programming, allowing the creation of interactive worlds with keyboard and mouse user controls. • Most modern programming languages allow programmers to add events to new software. • Events can be used for many other purposes, such as controlling burglar alarms, checking remote sensors, or checking for system events, like printers running out of paper. • Events are an important part of modern computer programming.