Top Banner
2013: J Paul Gibson TSP: Object Oriented Development CSC7322/ Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 [email protected] /www-public.telecom-sudparis.eu/~gibson/Teaching/CS Introduction /~gibson/Teaching/CSC7322/L1-Introduction.pdf
19

2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 [email protected].

Jan 11, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2013: J Paul Gibson TSP: Object Oriented Development CSC7322/Introduction.1

CSC7322: Object Oriented Development

J Paul Gibson, A207

[email protected]

http://www-public.telecom-sudparis.eu/~gibson/Teaching/CSC7322/

Introduction/~gibson/Teaching/CSC7322/L1-Introduction.pdf

Page 2: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2010: J Paul Gibson TSP: Mathematical Foundations MAT7003/Introduction.2

Objects: from real world to code?

Page 3: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2013: J Paul Gibson TSP: Object Oriented Development CSC7322/Introduction.3

OOP – A world of abstractions

Page 4: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2010: J Paul Gibson TSP: Mathematical Foundations MAT7003/Introduction.4

From module description

Page 5: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2010: J Paul Gibson TSP: Mathematical Foundations MAT7003/Introduction.5

From module description

Page 6: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2010: J Paul Gibson TSP: Mathematical Foundations MAT7003/Introduction.6

Web Site: continually updated

Page 7: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2010: J Paul Gibson TSP: Mathematical Foundations MAT7003/Introduction.7

Languages Evolve

NEXT?

Page 8: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2013: J Paul Gibson TSP: Object Oriented Development CSC7322/Introduction.8

Fotis Georgatos

Page 9: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

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.png

Page 10: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2013: J Paul Gibson TSP: Object Oriented Development CSC7322/Introduction.10

Languages that we will discuss in this module

Page 11: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

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:

Page 12: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2013: J Paul Gibson TSP: Object Oriented Development CSC7322/Introduction.12

HISTORY OOD (figure from http://uml-tutorials.trireme.com/uml_tutorial_1.htm)

Page 13: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

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

Page 14: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

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.

Page 15: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2013: J Paul Gibson TSP: Object Oriented Development CSC7322/Introduction.15

Some recommended reading … with more to come in later lectures

Page 16: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2013: J Paul Gibson TSP: Object Oriented Development CSC7322/Introduction.16

What do the functional programmers think of OO?

Page 17: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2013: J Paul Gibson TSP: Object Oriented Development CSC7322/Introduction.17

Pseudo Object-Oriented ProgrammingConsidered Harmful

Conrad WeisertInformation Disciplines, Inc., Chicago

If your only tool is a hammer, everything looks like a nail.

http://www.idinews.com/westfall.pdf

Abraham Kaplan

Page 18: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2013: J Paul Gibson TSP: Object Oriented Development CSC7322/Introduction.18

Pseudo Object-Oriented ProgrammingConsidered Harmful

QUESTION: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 class

Page 19: 2013: J Paul GibsonTSP: Object Oriented DevelopmentCSC7322/Introduction.1 CSC7322: Object Oriented Development J Paul Gibson, A207 paul.gibson@telecom-sudparis.eu.

2013: J Paul Gibson TSP: Object Oriented Development CSC7322/Introduction.19

Some PBL

You are to write some Java code that can represent a finite sequence of natural numbers eg:

• 2,3,4,5• 1,2,3• 6,7,8,9,10,11

You 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