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

Topic 1. Introduction To OOP

The document provides an overview of object oriented programming. It discusses the history and origins of OOP, including early systems like Sketchpad and Simula that introduced the concepts of objects and classes. It describes how Alan Kay further developed these ideas with his vision of the Dynabook, a portable computer for children, and how this led to the development of the Smalltalk programming language. The key aspects of OOP are modeling real-world objects and their properties and behaviors through classes and objects, in contrast to procedural programming which focuses on tasks and functions.

Uploaded by

Fee21
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views

Topic 1. Introduction To OOP

The document provides an overview of object oriented programming. It discusses the history and origins of OOP, including early systems like Sketchpad and Simula that introduced the concepts of objects and classes. It describes how Alan Kay further developed these ideas with his vision of the Dynabook, a portable computer for children, and how this led to the development of the Smalltalk programming language. The key aspects of OOP are modeling real-world objects and their properties and behaviors through classes and objects, in contrast to procedural programming which focuses on tasks and functions.

Uploaded by

Fee21
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Object Oriented Programming

Presenter: Umid Suleymanov

1
About Me

 I am Leading Artificial Intelligence Specialist at “Elektron Hökümət”


 Google Certified Tensorflow Developer
 Have 5 indexed articles on Machine Learning field
 Main research area is Natural Language Processing
 2 times finalist at International Data Analysis Olympiads (2019, 2021)

2
Agenda
• History of OOP
• Procedural Abstractions
• Birth of Objects
• Object Oriented Programming

3
Course Evaluation

4
History of Objects: Where they came from
Start of the Story: Late 60's and Early 70's
Windows are made of glass, mice are undesirable rodents
Good programming = Procedural Abstraction
 Verb-oriented

5
How’d we get from there to here?
Key ideas
Master-drawings in Sketchpad
Simulation “objects” in Simula
Alan Kay and a desire to make software better
More robust, more maintainable, more scalable

6
Birth of Objects, 1 of 2
Ivan Sutherland's Sketchpad, 1963

7
Sketchpad
First object-oriented drawing program
Master and instance drawings
Draw a house
Make an instance
Add a chimney to the master
The instance grows a chimney
Other interesting features
1/3 Mile Square Canvas
Invention of “rubber band” lines
Simple animations

8
Birth of Objects, 2 of 2
Simula
Simulation programming language from Norway, 1966
Define an activity which can be instantiated as processes
Each process has it own data and behavior
 In real world, objects don't mess with each others' internals directly
(Simulated) Multi-processing
 No Universal Scheduler in the Real World

9
Birth of Objects
Objects as models of real world entities
Objects as Cells
Independent, indivisible, interacting—in standard ways
Scales well
 Complexity: Distributed responsibility
 Robustness: Independent
 Supporting growth: Same mechanism everywhere
 Reuse: Provide services, just like in real world

10
Alan Kay’s Dynabook (1972)
Alan Kay sees the Computer as Man’s first metamedium
A medium that can represent any other media: Animation, graphics, sound,
photography, etc.
Programming is yet another medium
The Dynabook is a (yet mythical) computer for creative metamedia
exploration and reading
Handheld, wireless network connection
Writing (typing), drawing and painting, sound recording, music composition
and synthesis
End-user programming

11
Prototype Dynabook
(Xerox PARC Learning Research Group)

12
A Dynabook is for Learning
The Dynabook offers a new way to learn new kinds of things
 Dynamic systems (like evolution)
 Especially decentralized ones (Resnick, 1992)
Knowledge representation (Papert, 1980)
Programming (Kay & Goldberg, 1977)
But need a system for creative expression
In a time when “windows” were made of glass, and “mice” were undesirable
rodents

13
Smalltalk-72
Smalltalk was the
programming
language invented
for the Dynabook.
For the Dynabook,
WIMP was
invented:
 overlapping Windows
 Icons
 Menus
 mouse Pointer

14
Procedural Abstractions
Define tasks to be performed
Break tasks into smaller and smaller pieces
Until you reach an implementable size
Define the data to be manipulated
Design how functions interact
What's the input
What's the output
Group functions into components (“modules”)
Write the code

15
Object-oriented programming
First goal: Model the objects of the world
Noun-oriented
Focus on the domain of the program
Phases
Object-oriented analysis: Understand the domain
 Define an object-based model of it
Object-oriented design: Define an implementation
 Design the solution
Object-oriented programming: Build it

16

You might also like