[9] ivanovic bothe history oop java · 2. objects and classes: additional useful features 3....

15
DAAD project “Joint Course on OOP using Java” Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade Version: May 28, 2004 Mirjana Mirjana Ivanovi Ivanović, Klaus , Klaus Bothe Bothe Historical Overview of OOP Subproject: Historical Overview of OOP Subproject: From the Beginning to the End From the Beginning to the End DAAD project „Joint Course on OOP using Java“ © 2 AGENDA 1. SubProject site – Historical overview 2. Material prepared in Berlin 3. SubProject site - Current state 4. Further steps and Conclusion

Upload: others

Post on 15-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project “Joint Course on OOP using Java”

Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara,University of Plovdiv, University of Belgrade

Version: May 28, 2004

MirjanaMirjana IvanoviIvanovićć, Klaus , Klaus BotheBothe

Historical Overview of OOP Subproject: Historical Overview of OOP Subproject: From the Beginning to the EndFrom the Beginning to the End

DAAD project „Joint Course on OOP using Java“ © 2

AGENDA

1. SubProject site – Historical overview

2. Material prepared in Berlin

3. SubProject site - Current state

4. Further steps and Conclusion

Page 2: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 3

1. SubProject site – Historical overview

DAAD project „Joint Course on OOP using Java“ © 4

1. SubProject site – Historical overview

Page 3: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 5

1. SubProject site – Historical overview

DAAD project „Joint Course on OOP using Java“ © 6

1. SubProject site – Historical overview

Page 4: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 7

1. SubProject site – Historical overview

DAAD project „Joint Course on OOP using Java“ © 8

1. SubProject site – Historical overview

Page 5: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 9

1. SubProject site – Historical overview

DAAD project „Joint Course on OOP using Java“ © 10

1. SubProject site – Historical overview

Collected material from BerlinBerlin prepared English versions of some important

topics 1. Basic Concepts of Object-Orientation:

Objects, Classes, Abstract Data Types

2. Objects and Classes: Additional Useful Features

3. Inheritance, Polymorphism, Dynamic Binding

4. Exception handling

5. Interfaces

6. Event handling

7. Threads & Processes

8. MouseMaze

With appropriate examples (sources).

Page 6: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 11

1. SubProject site – Historical overview

Collected material from Novi Sad

Serbian Java book

Second Edition Appeared in November 2006

DAAD project „Joint Course on OOP using Java“ © 12

1. SubProject site – Historical overview

Collected material from Novi Sad

Topics, presentations for Java course prepared according to Serbian Java book

Serbian and English versions of presentations – slides

1. Program Structure in Java (SE)2. Primitive Data Types (SE)3. Statements (SE)4. Referential data types (SE)5. Exception handling (S, E now prepared)6. Applets (S, E now prepared)

Page 7: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 13

1. SubProject site – Historical overview

Threads by Ioan, Temisoara

Topic for 2nd year students

More difficult for students then Klaus’presentation

DAAD project „Joint Course on OOP using Java“ © 14

AGENDA

1. SubProject site – Historical overview

2. Material prepared in Berlin

3. SubProject site - Current state

4. Further steps and Conclusion

Page 8: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 15

2. Material prepared in Berlin

Basic Topics• Cover basic Java programming concepts• Intended for students who may or may not

already be familiar with OOP concepts

Advanced Topics• Cover many advanced Java topics• Intended for students who whish to broaden

their knowledge• Students must be familiar with basic Java

programming concepts• Mainly for elective or higher-year courses

DAAD project „Joint Course on OOP using Java“ © 16

2. Material prepared in Berlin

Topic Presentation Contents Status WhoT01. Getting Started

Introduction to Java technology, Java programming environment.

Finished Mira, April 2008

T02. The Language Overview (Elements of Java)

Basic Java elements, program structure.

Finished Mira, April 2008

T03. Primitive Data Types

Declaring and initializing variables, simple I/O, operators

Finished Mira, April 2008

T04. Statements – Control Structures

Finished Mira

T05. Introduction to OO Programming

Version1. Basic OO programming concepts for novices

Objects, classes, built-in Java classes, type casting, java.lang.*, java.util.*

Still Open Mira

Version2. OO programming concepts in Java for C++ students

Objects, classes, inheritance in Java and other programming languages

Still Open Mira or maybe Zivana

Basic TopicsBasic Topics

Page 9: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 17

2. Material prepared in Berlin

Topic Presentation Contents Status WhoT06. Reference Data Types

Creating new classes, constructors, overloading, arrays composition, inheritance, polymorphism, interfaces, abstract classes, inner classes

Klaus –Finished,Mira - In Progress

Klaus (most of them), Mira (abstract classes, inner classes)

T07. Packages Finished MiraT08. ExceptionHandling

Finished Klaus

T09. JavaBeans Basics. Basic Elements of Windows and Applets

JFrame, JApplet, running applets

Almost Finished

Mira, JavaBeans, April 2008.

T10. Quick Introduction to UML and XML

In Progress Mira and students

T11. Introducing SE Principles in Java Programming

Mouse in Maze Finished Klaus

Basic TopicsBasic Topics

DAAD project „Joint Course on OOP using Java“ © 18

2. Material prepared in Berlin

Topic Presentation Contents Status WhoT12. Strings String, StringBuilder,

StringBuffer, StringTokenizer, Regular Expressions, Formatting Input, Scanning Output

Boro

T13. Windows & Applets

Still Pending Dragoslav, based on the presentation in Serbian.

T14. Collections Arrays, containers, generics

Finished Dragoslav

T15. The Java I/O System

Almost Finished

Mira, April 2008.

T16. Serialization In Progress AnastasT17. Java 5 New Features

Generics, boxing, varargs, enhanced for loop, enumerations, static imports, annotations, formatting, threading, overriding return types, unicode

Finished Dragoslav

T18. Generics Finished Dragoslav

Advanced TopicsAdvanced Topics

Page 10: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 19

2. Material prepared in Berlin

Topic Presentation Contents Status WhoT19. Enumerated Types

Finished Dragoslav

T20. Annotations Finished DragoslavT21. Threads Threads in Java Finished?

Classical Synchronization Problems in Java

Producer-Consumer Problem, Readers-Writers Problem Generalizations, Dining Philosophers, Semaphores, Event Counters, Bounded Semaphores, Blocking Barriers

Finished Dragoslav

T22. Network Programming(TCP, UDP, URL, Socket)

Network Programming Almost Finished

Anastas

URL and URLConnection Almost Finished

Anastas

T23. Distributed Applications

Client/Server Programming

Almost Finished

Anastas

RMIT24. Java Security

Security Almost Finished

Anastas

Java Cryptography Architecture

Almost Finished

Anastas

Advanced TopicsAdvanced Topics

DAAD project „Joint Course on OOP using Java“ © 20

2. Material prepared in Berlin

Topic Presentation Contents Status Who

T25. Data Bases (JDBC)

Vangel? Milos?

T26. Java Internet Programming, Servlets, JSP

Vangel?

T27. Enterprise JavaBeans

Vangel? Mira?

T28. Mobile Agent Technology Using Java

Dragoslav?

Advanced TopicsAdvanced Topics

Page 11: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 21

AGENDA

1. SubProject site – Historical overview

2. Material prepared in Berlin

3. SubProject site - Current state

4. Further steps and Conclusion

DAAD project „Joint Course on OOP using Java“ © 22

3. SubProject site - Current state

Page 12: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 23

3. SubProject site - Current state

New

DAAD project „Joint Course on OOP using Java“ © 24

3. SubProject site - Current state

Was: Part IV Java programming

in large

Modified

XML new

Page 13: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 25

3. SubProject site - Current state

Rearranged and modified

DAAD project „Joint Course on OOP using Java“ © 26

3. SubProject site - Current state

}

Completelynew, reallyadvanced

topics, most of

them have to be

developed

Page 14: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 27

3. SubProject site - Current state

Completely new – Macedonia

DAAD project „Joint Course on OOP using Java“ © 28

3. SubProject site - Current state

Same

Page 15: [9] Ivanovic Bothe History OOP Java · 2. Objects and Classes: Additional Useful Features 3. Inheritance, Polymorphism, Dynamic Binding 4. Exception handling 5. Interfaces 6. Event

DAAD project „Joint Course on OOP using Java“ © 29

AGENDA

1. SubProject site – Historical overview

2. Material prepared in Berlin

3. SubProject site - Current state

4. Further steps and Conclusion

DAAD project „Joint Course on OOP using Java“ © 30

4. Further steps and Conclusion

Significant amount of basic, advanced and DS&A Java topics are covered (most of the material is available in English)

To finish topics which are in state: In Progress, Almost Finished, Still Pending, Still Open

Presentations based on our book contain a lot of examples (with code)

Constant improvements of all available material in future

Other colleagues can add their English versions of presentations