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 and Courses Dragoslav Pešović, Mirjana Ivanović, Anastas Mišev
DAAD project „Joint Course on OOP using Java“ © 2 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
DAAD project „Joint Course on OOP using Java“ © 3 Final 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 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
DAAD project „Joint Course on OOP using Java“ © 5 Basic Topics TopicPresentationContentsStatusWho T01. 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 FinishedMira 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 OpenMira Version2. OO programming concepts in Java for C++ students Objects, classes, inheritance in Java and other programming languages Still OpenMira or maybe Zivana
DAAD project „Joint Course on OOP using Java“ © 6 Basic Topics TopicPresentationContentsStatusWho T06. 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. PackagesFinishedMira T08. Exception Handling FinishedKlaus T09. JavaBeans Basics. Basic Elements of Windows and Applets JFrame, JApplet, running applets Almost Finished Mira, JavaBeans, April T10. Quick Introduction to UML and XML In Progress Mira and students T11. Introducing SE Principles in Java Programming Mouse in MazeFinishedKlaus
DAAD project „Joint Course on OOP using Java“ © 7 Basic Topics Topic Dependency Graph Word document PDF document
DAAD project „Joint Course on OOP using Java“ © 8 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
DAAD project „Joint Course on OOP using Java“ © 9 Advanced Topics TopicPresentationContentsStatusWho T12. 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 FinishedDragoslav T15. The Java I/O System Almost Finished Mira, April T16. SerializationFinishedAnastas T17. Java 5 New Features Generics, boxing, varargs, enhanced for loop, enumerations, static imports, annotations, formatting, threading, overriding return types, unicode FinishedDragoslav T18. GenericsFinishedDragoslav
DAAD project „Joint Course on OOP using Java“ © 10 Advanced Topics TopicPresentationContentsStatusWho T19. Enumerated Types FinishedDragoslav T20. AnnotationsFinishedDragoslav T21. ThreadsThreads in JavaFinished? Classical Synchronization Problems in Java Producer-Consumer Problem, Readers-Writers Problem Generalizations, Dining Philosophers, Semaphores, Event Counters, Bounded Semaphores, Blocking Barriers FinishedDragoslav T22. Network Programming (TCP, UDP, URL, Socket) Network Programming Basic networking concepts, client and server programming, IP and Java sockets FinishedAnastas URL and URLConnectionHTTP protocol, associated classes, CGI, HTTP commands FinishedAnastas
DAAD project „Joint Course on OOP using Java“ © 11 Advanced Topics TopicPresentationContentsStatusWho T23. Distributed Applications Client/Server Programming TCP client and server programming, application level protocols, multithreading FinishedAnastas RMI T24. Java Security SecurityFinishedAnastas Java Cryptography Architecture FinishedAnastas 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 Topics Topic Dependency Graph Word document PDF document
DAAD project „Joint Course on OOP using Java“ © 13 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
DAAD project „Joint Course on OOP using Java“ © 14 Possible 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“ © OOP1 Object-Oriented Programming I (core course) Novi Sad, 3 rd semester TopicPresentationContents T01. 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 Structures T05. 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. Packages T08. Exception Handling
DAAD project „Joint Course on OOP using Java“ © 16 Object-Oriented Programming I (core course) Novi Sad, 3 rd semester 1. OOP1 TopicPresentationContents T09. JavaBeans Basics. Basic Elements of Windows and Applets JFrame, JApplet, running applets T10. Quick Introduction to UML and XML T11. Introducing SE Principles in Java Programming Mouse in Maze
DAAD project „Joint Course on OOP using Java“ © DSA Data Structures and Algorithms (core course) Skopje, 3 rd semester Course also includes topics from perun.im.ns.ac.yu/java (Part III - Data structures and algorithms in Java) TopicPresentationContents T01. 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 Structures T05. 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“ © DSA Data Structures and Algorithms (core course) Skopje, 3 rd semester Course also includes topics from perun.im.ns.ac.yu/java (Part III - Data structures and algorithms in Java) TopicPresentationContents T06. Reference Data Types Creating new classes, constructors, overloading, arrays composition, inheritance, polymorphism, interfaces, abstract classes, inner classes T08. Exception Handling T12. StringsString, StringBuilder, StringBuffer, StringTokenizer, Regular Expressions, Formatting Input, Scanning Output
DAAD project „Joint Course on OOP using Java“ © OOP2 Object-Oriented Programming II (elective course) Novi Sad, 4 th semester TopicPresentationContents T12. Strings String, StringBuilder, StringBuffer, StringTokenizer, Regular Expressions, Formatting Input, Scanning Output T13. Windows & AppletsDetailed version T14. CollectionsArrays, containers, generics T15. The Java I/O System T16. Serialization T17. Java 5 New Features Generics, boxing, varargs, enhanced for loop, enumerations, static imports, annotations, formatting, threading, overriding return types, unicode T18. Generics T19. Enumerated Types T20. Annotations
DAAD project „Joint Course on OOP using Java“ © OOP2 Object-Oriented Programming II (elective course) Novi Sad, 4 th semester * Only basic things, quick overview TopicPresentationContents T21. Threads *Threads in Java 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 T24. Java SecuritySecurity Java Cryptography Architecture
DAAD project „Joint Course on OOP using Java“ © NOS Network Operating Systems (elective course) Skopje, 6 th semester TopicPresentationContents T16. Serialization T20. Annotations T21. ThreadsThreads 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“ © NOS Network Operating Systems (elective course) Skopje, 6 th semester TopicPresentationContents T24. Java SecuritySecurity Java Cryptography Architecture T25. Data Bases (JDBC) T28. Mobile Agent Technology Using Java
DAAD project „Joint Course on OOP using Java“ © DB2 Data Bases II (elective course) Novi Sad, 5 th semester TopicPresentationContents T14. CollectionsArrays, containers, generics T25. Data Bases (JDBC) T26. Java Internet Programming, Servlets, JSP T27. Enterprise JavaBeans
DAAD project „Joint Course on OOP using Java“ © OS1 Operating Systems I (core course) Novi Sad, 5 th semester TopicPresentationContents T21. ThreadsThreads 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 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
DAAD project „Joint Course on OOP using Java“ © 26 Conclusion 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 Conclusion 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 your attention.