J Paul Gibson TSP Object Oriented Development CSC7322 Introduction 1 CSC7322 Object Oriented Development J Paul Gibson A207 paulgibsontelecomsudpariseu http wwwpublic ID: 426706
Download Presentation The PPT/PDF document "2013:" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.1
CSC7322: Object Oriented DevelopmentJ Paul Gibson, A207paul.gibson@telecom-sudparis.euhttp://www-public.telecom-sudparis.eu/~gibson/Teaching/CSC7322/
Introduction
/~
gibson
/
Teaching
/CSC7322/L1-Introduction.pdfSlide2
2010: J Paul Gibson
TSP: Mathematical Foundations
MAT7003/Introduction.2
Objects: from real world to code?Slide3
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.3
OOP – A world of abstractionsSlide4
2010: J Paul Gibson
TSP: Mathematical Foundations
MAT7003/Introduction.4
From module descriptionSlide5
2010: J Paul Gibson
TSP: Mathematical Foundations
MAT7003/Introduction.5
From module descriptionSlide6
2010: J Paul Gibson
TSP: Mathematical Foundations
MAT7003/Introduction.6
Web Site: continually updatedSlide7
2010: J Paul Gibson
TSP: Mathematical Foundations
MAT7003/Introduction.7
Languages EvolveNEXT?Slide8
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.8
Fotis Georgatos Slide9
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.9
History: OOP and its relation to other languages
http://bluebones.net/evolution/evo-prog-lang.pngSlide10
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.10
Languages
that
we
will
discuss
in
this
moduleSlide11
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.11
Note: each language has also evolved over time.For example, JAVA has gone through 20+ updates since I started using it: Slide12
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.12
HISTORY OOD (figure from http://uml-tutorials.trireme.com/uml_tutorial_1.htm)Slide13
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.13
What is the OO paradigm?A Brief History of the Object-Oriented Approach Luiz Fernando Capretz Slide14
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.14
What is the OO paradigm?Object-based?Class-based?Object-oriented?Pure object-oriented?Wegner, Peter. Dimensions of object-based language design
. Slide15
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.15
Some recommended reading … with more to come in later lecturesSlide16
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.16
What do the functional programmers think of OO?Slide17
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.17
Pseudo Object-Oriented ProgrammingConsidered HarmfulConrad WeisertInformation Disciplines, Inc., ChicagoIf your only tool is a hammer, everything looks like a nail.http://www.idinews.com/westfall.pdf
Abraham
KaplanSlide18
2013: J Paul Gibson
TSP: Object Oriented Development
CSC7322/Introduction.18
Pseudo Object-Oriented ProgrammingConsidered HarmfulQUESTION:Write a « hello world » program (or programs) that illustrate your understanding of 1 or more
key
object
oriented
concepts.
Present
the program and the concept(s) to the classSlide19
2013: J Paul Gibson
TSP: Object Oriented DevelopmentCSC7322/
Introduction.19Some
PBLYou are to write some Java code that can represent a finite sequence of natural numbers eg:2,3,4,51,2,36,7,8,9,10,11You are to be able to: create a new sequence as the overlap of 2 other
sequences
overlap
2,3,4,5 and 1,2,3 = 2,3
create
a new
sequence
as the
interior
of 2
other
sequences
interior
1,2,3 and 6,7,8,9,10,11 = 4,5,6
test if 2
sequences
are
equal
output a
sequence
to the terminal/
screen