Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Java across Different Curricula and Courses Dragoslav Pešović, Mirjana Ivanović, Anastas Mišev 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 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“ © 2 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“ © 3 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“ © 4 Basic Topics Topic T01. Getting Started Presentation T02. The Language Overview (Elements of Java) T03. Primitive Data Types T04. Statements – Control Structures T05. Introduction Version1. Basic OO to OO programming concepts Programming for novices Contents Introduction to Java technology, Java programming environment. Basic Java elements, program structure. Status Finished Who Mira, April 2008 Finished Mira, April 2008 Declaring and initializing variables, simple I/O, operators Finished Mira, April 2008 Finished Mira Still Open Mira Still Open Mira or maybe Zivana Objects, classes, built-in Java classes, type casting, java.lang.*, java.util.* Version2. OO Objects, classes, programming concepts in inheritance in Java and Java for C++ students other programming languages DAAD project „Joint Course on OOP using Java“ © 5 Basic Topics Topic T06. Reference Data Types Presentation T07. Packages T08. Exception Handling T09. JavaBeans Basics. Basic Elements of Windows and Applets T10. Quick Introduction to UML and XML T11. Introducing SE Principles in Java Programming DAAD project „Joint Course on OOP using Java“ © Contents Creating new classes, constructors, overloading, arrays composition, inheritance, polymorphism, interfaces, abstract classes, inner classes Status Klaus – Finished, Mira - In Progress Finished Finished JFrame, JApplet, running applets Mouse in Maze Who Klaus (most of them), Mira (abstract classes, inner classes) Mira Klaus Almost Finished Mira, JavaBeans, April 2008. In Progress Mira and students Finished Klaus 6 Basic Topics Topic Dependency Graph • Word document • PDF document DAAD project „Joint Course on OOP using Java“ © 7 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“ © 8 Advanced Topics Topic T12. Strings Presentation Contents String, StringBuilder, StringBuffer, StringTokenizer, Regular Expressions, Formatting Input, Scanning Output T13. Windows & Applets T14. Collections T15. The Java I/O System T16. Serialization T17. Java 5 New Features T18. Generics DAAD project „Joint Course on OOP using Java“ © Arrays, containers, generics Generics, boxing, varargs, enhanced for loop, enumerations, static imports, annotations, formatting, threading, overriding return types, unicode Status Will be done by the workshop Who Boro Still Pending Finished Dragoslav, based on the presentation in Serbian. Dragoslav Almost Finished Finished Finished Mira, April 2008. Anastas Dragoslav Finished Dragoslav 9 Advanced Topics Topic Presentation T19. Enumerated Types T20. Annotations T21. Threads Threads in Java Classical Synchronization Problems in Java T22. Network Programming (TCP, UDP, URL, Socket) Network Programming URL and URLConnection DAAD project „Joint Course on OOP using Java“ © Contents Status Finished Who Dragoslav Finished Finished? Finished Dragoslav Producer-Consumer Problem, Readers-Writers Problem Generalizations, Dining Philosophers, Semaphores, Event Counters, Bounded Semaphores, Blocking Barriers Basic networking Finished concepts, client and server programming, IP and Java sockets HTTP protocol, associated Finished classes, CGI, HTTP commands Dragoslav Anastas Anastas 10 Advanced Topics Topic T23. Distributed Applications Presentation Client/Server Programming T24. Java Security RMI Security Java Cryptography Architecture T25. Data Bases (JDBC) T26. Java Internet Programming, Servlets, JSP T27. Enterprise JavaBeans T28. Mobile Agent Technology Using Java DAAD project „Joint Course on OOP using Java“ © Contents Status TCP client and server Finished programming, application level protocols, multithreading Who Anastas Finished Finished Anastas Anastas Vangel? Milos? Vangel? Vangel? Mira? Dragoslav? 11 Advanced Topics Topic Dependency Graph • Word document • PDF document DAAD project „Joint Course on OOP using Java“ © 12 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“ © 13 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“ © 14 1. OOP1 Object-Oriented Programming I (core course) Novi Sad, 3rd semester Topic T01. Getting Started Presentation T02. The Language Overview (Elements of Java) T03. Primitive Data Types T04. Statements – Control Structures T05. Introduction to OO Programming T06. Reference Data Types Contents Introduction to Java technology, Java programming environment. Basic Java elements, program structure. Declaring and initializing variables, simple I/O, operators Version1. Basic OO Objects, classes, built-in Java classes, programming concepts type casting, java.lang.*, java.util.* for novices 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“ © 15 1. OOP1 Object-Oriented Programming I (core course) Novi Sad, 3rd semester Topic T09. JavaBeans Basics. Basic Elements of Windows and Applets T10. Quick Introduction to UML and XML T11. Introducing SE Principles in Java Programming Presentation DAAD project „Joint Course on OOP using Java“ © Contents JFrame, JApplet, running applets Mouse in Maze 16 2. DSA Data Structures and Algorithms (core course) Skopje, 3rd semester Course also includes topics from perun.im.ns.ac.yu/java (Part III - Data structures and algorithms in Java) Topic T01. Getting Started Presentation T02. The Language Overview (Elements of Java) T03. Primitive Data Types T04. Statements – Control Structures T05. Introduction to OO Programming Contents Introduction to Java technology, Java programming environment. Basic Java elements, program structure. Declaring and initializing variables, simple I/O, operators Version2. OO Objects, classes, inheritance in Java and programming concepts other programming languages in Java for C++ students DAAD project „Joint Course on OOP using Java“ © 17 2. DSA Data Structures and Algorithms (core course) Skopje, 3rd semester Course also includes topics from perun.im.ns.ac.yu/java (Part III - Data structures and algorithms in Java) Topic T06. Reference Data Types Presentation T08. Exception Handling T12. Strings DAAD project „Joint Course on OOP using Java“ © Contents Creating new classes, constructors, overloading, arrays composition, inheritance, polymorphism, interfaces, abstract classes, inner classes String, StringBuilder, StringBuffer, StringTokenizer, Regular Expressions, Formatting Input, Scanning Output 18 3. OOP2 Object-Oriented Programming II (elective course) Novi Sad, 4th semester Topic T12. Strings T13. T14. T15. T16. T17. Presentation Windows & Applets Collections The Java I/O System Serialization Java 5 New Features Contents String, StringBuilder, StringBuffer, StringTokenizer, Regular Expressions, Formatting Input, Scanning Output Detailed version Arrays, containers, generics 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“ © 19 3. OOP2 Object-Oriented Programming II (elective course) Novi Sad, 4th semester Topic T21. Threads * T22. Network Programming (TCP, UDP, URL, Socket) * T23. Distributed Applications * T24. Java Security Presentation Threads in Java Network Programming URL and URLConnection Client/Server Programming Contents Basic networking concepts, client and server programming, IP and Java sockets HTTP protocol, associated classes, CGI, HTTP commands TCP client and server programming, application level protocols, multithreading RMI Security Java Cryptography Architecture * Only basic things, quick overview DAAD project „Joint Course on OOP using Java“ © 20 4. NOS Network Operating Systems (elective course) Skopje, 6th semester Topic T16. Serialization T20. Annotations T21. Threads T22. Network Programming (TCP, UDP, URL, Socket) T23. Distributed Applications Presentation Threads in Java Classical Synchronization Problems in Java Network Programming URL and URLConnection Client/Server Programming Contents Producer-Consumer Problem, ReadersWriters Problem Generalizations, Dining Philosophers, Semaphores, Event Counters, Bounded Semaphores, Blocking Barriers Basic networking concepts, client and server programming, IP and Java sockets HTTP protocol, associated classes, CGI, HTTP commands TCP client and server programming, application level protocols, multithreading RMI DAAD project „Joint Course on OOP using Java“ © 21 4. NOS Network Operating Systems (elective course) Skopje, 6th semester Topic T24. Java Security Presentation Security Java Cryptography Architecture Contents T25. Data Bases (JDBC) T28. Mobile Agent Technology Using Java DAAD project „Joint Course on OOP using Java“ © 22 5. DB2 Data Bases II (elective course) Novi Sad, 5th semester Topic T14. Collections T25. Data Bases (JDBC) T26. Java Internet Programming, Servlets, JSP T27. Enterprise JavaBeans Presentation DAAD project „Joint Course on OOP using Java“ © Contents Arrays, containers, generics 23 6. OS1 Operating Systems I (core course) Novi Sad, 5th semester Topic T21. Threads Presentation Threads in Java Classical Synchronization Problems in Java DAAD project „Joint Course on OOP using Java“ © Contents Producer-Consumer Problem, ReadersWriters Problem Generalizations, Dining Philosophers, Semaphores, Event Counters, Bounded Semaphores, Blocking Barriers 24 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“ © 25 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“ © 26 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“ © 27 Thank you for your attention. DAAD project „Joint Course on OOP using Java“ © 28