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