csc7322: object oriented development j paul gibson, a207 [email protected]

19
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

Upload: zarita

Post on 23-Feb-2016

35 views

Category:

Documents


0 download

DESCRIPTION

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. Objects : from real world to code?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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