java across different curricula and courses · humboldt university berlin, university of novi sad,...

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” Version: May 28, 2004 Java across Different Curricula Java across Different Curricula and Courses and Courses Dragoslav Pe Dragoslav Pešovi ović, Mirjana Ivanovi , Mirjana Ivanović, Anastas Mi , Anastas Mišev ev DAAD project „Joint Course on OOP using Java“ © 2 Agenda Agenda Final selection of topics Basic topics Advanced 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 Conclusion

Upload: others

Post on 30-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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”

Version: May 28, 2004

Java across Different CurriculaJava across Different Curriculaand Coursesand Courses

Dragoslav PeDragoslav Peššoviovićć, Mirjana Ivanovi, Mirjana Ivanovićć, Anastas Mi, Anastas Mišševev

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

AgendaAgenda

Final selection of topics• Basic topics• Advanced 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

Conclusion

Page 2: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

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

AgendaAgenda

Final selection of topics• Basic topics• Advanced 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

Conclusion

Page 3: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

Basic TopicsBasic Topics

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

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

Basic TopicsBasic Topics

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

Page 4: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

Basic TopicsBasic Topics

Topic Dependency Graph• Word document• PDF document

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

AgendaAgenda

Final selection of topics• Basic topics• Advanced 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

Conclusion

Page 5: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

Advanced TopicsAdvanced Topics

Topic Presentation Contents Status WhoT12. Strings String, StringBuilder,

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

Will be done by the workshop

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 Finished 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

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

Advanced TopicsAdvanced Topics

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 Basic networking concepts, client and server programming, IP and Java sockets

Finished Anastas

URL and URLConnection HTTP protocol, associated classes, CGI, HTTP commands

Finished Anastas

Page 6: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

Advanced TopicsAdvanced Topics

Topic Presentation Contents Status WhoT23. Distributed Applications

Client/Server Programming

TCP client and server programming, application level protocols, multithreading

Finished Anastas

RMIT24. Java Security

Security Finished AnastasJava Cryptography Architecture

Finished Anastas

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?

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

Advanced TopicsAdvanced Topics

Topic Dependency Graph• Word document• PDF document

Page 7: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

AgendaAgenda

Final selection of topics• Basic topics• Advanced 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

Conclusion

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

Possible Usage of Available TopicsPossible Usage of Available Topics

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

2 universities• Novi Sad• Skopje

Page 8: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

1. OOP11. OOP1

Object-Oriented Programming I (core course)Novi Sad, 3rd semester

Topic Presentation ContentsT01. Getting Started Introduction to Java technology, Java

programming environment.T02. The Language Overview (Elements of Java)

Basic Java elements, program structure.

T03. Primitive Data Types Declaring and initializing variables, simple I/O, operators

T04. Statements – Control StructuresT05. Introduction to OO Programming

Version1. Basic OO programming concepts for novices

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

T06. Reference Data Types Creating new classes, constructors, overloading, arrays composition, inheritance, polymorphism, interfaces, abstract classes, inner classes

T07. PackagesT08. Exception Handling

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

Object-Oriented Programming I (core course)Novi Sad, 3rd semester

1. OOP11. OOP1

Topic Presentation ContentsT09. JavaBeans Basics. Basic Elements of Windows and Applets

JFrame, JApplet, running applets

T10. Quick Introduction to UML and XMLT11. Introducing SE Principles in Java Programming

Mouse in Maze

Page 9: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

2. DSA2. DSA

Data Structures and Algorithms (core course)Skopje, 3rd semesterCourse also includes topics from perun.im.ns.ac.yu/java (Part III - Data structures and algorithms in Java)

Topic Presentation ContentsT01. Getting Started Introduction to Java technology, Java

programming environment.T02. The Language Overview (Elements of Java)

Basic Java elements, program structure.

T03. Primitive Data Types Declaring and initializing variables, simple I/O, operators

T04. Statements – Control StructuresT05. Introduction to OO Programming

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

Objects, classes, inheritance in Java and other programming languages

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

2. DSA2. DSA

Data Structures and Algorithms (core course)Skopje, 3rd semesterCourse also includes topics from perun.im.ns.ac.yu/java (Part III - Data structures and algorithms in Java)

Topic Presentation ContentsT06. Reference Data Types Creating new classes, constructors,

overloading, arrays composition, inheritance, polymorphism, interfaces, abstract classes, inner classes

T08. Exception HandlingT12. Strings String, StringBuilder, StringBuffer,

StringTokenizer, Regular Expressions, Formatting Input, Scanning Output

Page 10: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

3. OOP23. OOP2

Object-Oriented Programming II (elective course)Novi Sad, 4th semester

Topic Presentation ContentsT12. 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

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

3. OOP23. OOP2

Object-Oriented Programming II (elective course)Novi Sad, 4th semester

* Only basic things, quick overview

Topic Presentation ContentsT21. Threads * Threads in JavaT22. Network Programming(TCP, UDP, URL, Socket) *

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 11: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

4. NOS4. NOS

Network Operating Systems (elective course)Skopje, 6th semester

Topic Presentation ContentsT16. SerializationT20. AnnotationsT21. Threads Threads in Java

Classical Synchronization Problems in Java

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

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

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

RMI

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

4. NOS4. NOS

Network Operating Systems (elective course)Skopje, 6th semester

Topic Presentation ContentsT24. Java Security Security

Java Cryptography Architecture

T25. Data Bases (JDBC)T28. Mobile Agent Technology Using Java

Page 12: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

5. DB25. DB2

Data Bases II (elective course)Novi Sad, 5th semester

Topic Presentation ContentsT14. Collections Arrays, containers, genericsT25. Data Bases (JDBC)T26. Java Internet Programming, Servlets, JSPT27. Enterprise JavaBeans

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

6. OS16. OS1

Operating Systems I (core course)Novi Sad, 5th semester

Topic Presentation ContentsT21. Threads Threads in Java

Classical Synchronization Problems in Java

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

Page 13: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

AgendaAgenda

Final selection of topics• Basic topics• Advanced 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

Conclusion

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

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.• Different lecturers worked on different topics according to

their affinities or areas of their educational-scientific expertise.

• Through discussing different views and opinions, creators of the material gained a more complex insight into topics, and therefore a better quality of the material is achieved.

Page 14: Java across Different Curricula and Courses · Humboldt University Berlin, University of Novi Sad, ‘Polytehnica’ University of Timisoara, University of Plovdiv, University of

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

ConclusionConclusion

Constant improvement, modernization, and expansion of the material.

Good basis for making web-based, distance-learning, LLL course(s).

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

Thank you for yourThank you for yourattention. attention.