14
Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint Course on OOP using Java” Java across Different Curricula, Courses and Java across Different Curricula, Courses and Countries Using a Common Pool of Countries Using a Common Pool of Teaching Material Teaching Material Mirjana Ivanović, Zoran Budimac, Anastas Mišev, Klaus Bothe, Ioan Mirjana Ivanović, Zoran Budimac, Anastas Mišev, Klaus Bothe, Ioan Jurca Jurca

Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

Embed Size (px)

Citation preview

Page 1: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

DAAD project “Joint Course on OOP using Java”

Java across Different Curricula, Java across Different Curricula, Courses and Countries Using a Courses and Countries Using a

Common Pool of Teaching MaterialCommon Pool of Teaching Material

Mirjana Ivanović, Zoran Budimac, Anastas Mišev, Klaus Mirjana Ivanović, Zoran Budimac, Anastas Mišev, Klaus Bothe, Ioan JurcaBothe, Ioan Jurca

Page 2: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

AgendaAgenda

Final selection of topics up to this year• Basic topics• Advanced topics

Changes caused by introducing OOP II course

Conclusion

Page 3: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

Final Selection of TopicsFinal Selection of Topics

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

Page 4: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

Final Selection of TopicsFinal Selection of Topics

Possible usage of available topics in 6 different courses at 2 universities

• Object-Oriented Programming I• Data Structures and Algorithms• Object-Oriented Programming II• Network Operating Systems• Data Bases II• Operating Systems I

Page 5: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

AgendaAgenda

Final selection of topics up to this year• Basic topics• Advanced topics

Changes caused by introducing OOP II course

Conclusion

Page 6: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

Changes caused by introducing OOP II courseChanges caused by introducing OOP II course Object-Oriented Programming II (elective course) Novi Sad, 4th semester Originally planned topicsTopic Presentation Contents

T12. Strings String, StringBuilder, StringBuffer, StringTokenizer, Regular Expressions, Formatting Input, Scanning Output

T13. Windows & Applets Detailed versionT14. Collections Arrays, containers, genericsT15. The Java I/O SystemT16. SerializationT17. Java 5 New Features

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

T18. GenericsT19. Enumerated TypesT20. Annotations

Page 7: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

Changes caused by introducing OOP Changes caused by introducing OOP II courseII course

* Only basic things, quick overview

Topic Presentation Contents

T21. Threads * Threads in JavaT22. Network Programming (TCP, UDP, URL, Socket) *

(high quality new teaching material – 250 slides, T.N. Trifunov)

Network Programming

Basic networking concepts, client and server programming, IP and Java sockets

URL and URLConnection

HTTP protocol, associated classes, CGI, HTTP commands

T23. Distributed Applications *

Client/Server Programming

TCP client and server programming, application level protocols, multithreading

RMIT24. Java Security Security

Java Cryptography Architecture

Page 8: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

Changes caused by introducing OOP Changes caused by introducing OOP II courseII course

In order to fit the course into the 12-week semester, the topics on Java security and JDBC were excluded• JDBC is studied extensively in other courses

Mobile agents were merged with the distributed programming topic, as a case-study

GUI programming was split into two separate topics – one covering advanced Swing components, and the other focusing on customizing Swing-based applications

Java internet programming and Enterprise JavaBeans topics were re-organized as a two-week long Java EE topic

Finally, a topic on OO design (UML and Design patters) was introduced

* Only basic things, quick overview

Page 9: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

Changes caused by introducing OOP II course - Changes caused by introducing OOP II course - Modifications of individual topics (1/3)Modifications of individual topics (1/3)

Many topics were updated in accordance to recent developments of the Java technology

Strings:• The split method was studied instead of StringTokenizer, as encouraged by Java documentation• Input and output were moved to topic on Java I/O

The Java I/O system was extended with NIO, since this package is important for advanced network programming

* Only basic things, quick overview

Page 10: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

Changes caused by introducing OOP II course - Changes caused by introducing OOP II course - Modifications of individual topics (2/3)Modifications of individual topics (2/3)

Threads:• The concept of Timers was included • Only the Dining Philosophers problem was used as a classical synchronization

problem

The topic on network programming was extended with multiplexing

Distributed programming now also includes an overview of CORBA, Reflection API, and class-loaders

* Only basic things, quick overview

Page 11: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

Changes caused by introducing OOP II course - Changes caused by introducing OOP II course - Modifications of individual topics (3/3)Modifications of individual topics (3/3)

Java EE topic was introduced as the merger of Java internet programming and Enterprise JavaBeans topics proposed initially

Additional changes, following the recent Java developments, include:• Asynchronous Enterprise JavaBeans invocation• Java Persistence API instead of Entity beans• Java Server Faces instead of Java Server Pages• SOA-based architectures and web services as a new content of the topic

Servlets were not studied due to the lack of time

* Only basic things, quick overview

Page 12: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

AgendaAgenda

Final selection of topics up to this year• Basic topics• Advanced topics

Changes caused by introducing OOP II course

Conclusion

Page 13: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

ConclusionConclusion

The proposed organization of the teaching material is very important because:• it covers a wide variety of Java topics,• it can be used for different courses,• different topics can be used in different institutions

(project members).

The material is well prepared, significantly innovated within OOP II course • Good bases for further innovations of teaching material for

advanced topics.

Constant improvement, modernization, and expansion of the material.

Page 14: Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of Belgrade DAAD project “Joint

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

DAAD project “Joint Course on OOP using Java”

Java across Different Curricula, Java across Different Curricula, Courses and Countries Using a Courses and Countries Using a

Common Pool of Teaching MaterialCommon Pool of Teaching Material

Mirjana Ivanović, Zoran Budimac, Anastas Mišev, Klaus Mirjana Ivanović, Zoran Budimac, Anastas Mišev, Klaus Bothe, Ioan JurcaBothe, Ioan Jurca