29
6th Workshop "SEERE", Ravda, 18-23 September 2006 1 OOJava course materials – what happened during last year? M. Ivanovic, K. Bothe

1 6th Workshop "SEERE", Ravda, 18-23 September 2006 OOJava course materials – what happened during last year? M. Ivanovic, K. Bothe

Embed Size (px)

Citation preview

6th Workshop "SEERE", Ravda, 18-23 September 2006 1

OOJava course materials – what happened during last

year?

M. Ivanovic, K. Bothe

6th Workshop "SEERE", Ravda, 18-23 September 2006 2

AGENDA

1. SubProject site – current state2. Collected material from Berlin3. Collected material from Novi Sad 4. Threads by Ioan, Timisoara5. Further steps and Conclusion

6th Workshop "SEERE", Ravda, 18-23 September 2006 3

SubProject site – current state

6th Workshop "SEERE", Ravda, 18-23 September 2006 4

SubProject site – current state

6th Workshop "SEERE", Ravda, 18-23 September 2006 5

SubProject site – current state

6th Workshop "SEERE", Ravda, 18-23 September 2006 6

SubProject site – current state

6th Workshop "SEERE", Ravda, 18-23 September 2006 7

SubProject site – current state

6th Workshop "SEERE", Ravda, 18-23 September 2006 8

SubProject site – current state

6th Workshop "SEERE", Ravda, 18-23 September 2006 9

SubProject site – current state

6th Workshop "SEERE", Ravda, 18-23 September 2006 10

AGENDA

1. SubProject site – current state2. Collected material from Berlin3. Collected material from Novi Sad 4. Threads by Ioan, Timisoara5. Further steps and Conclusion

6th Workshop "SEERE", Ravda, 18-23 September 2006 11

Collected material from Berlin

Berlin prepared English versions of some important topics

1. Basic Concepts of Object-Orientation: Objects, Classes, Abstract Data Types

2. Objects and Classes: Additional Useful Features

3. Inheritance, Polymorphism, Dynamic Binding

4. Exception handling

5. Interfaces

6. Event handling

7. Threads & Processes

8. MouseMaze

With appropriate examples (sources).

6th Workshop "SEERE", Ravda, 18-23 September 2006 12

Collected material from Berlin

My task was:

Deeply and critically (having in mind wishes of Novi Sad students) analyze slides (presentations) and prepare report with suggestions for improvements, additional slides, examples, …

Up to now we have students opinions and some suggestions but did not make changes

6th Workshop "SEERE", Ravda, 18-23 September 2006 13

AGENDA

1. SubProject site – current state2. Collected material from Berlin3. Collected material from Novi Sad 4. Threads by Ioan, Timisoara5. Further steps and Conclusion

6th Workshop "SEERE", Ravda, 18-23 September 2006 14

Collected material from Novi Sad

Serbian Java book, Preparation started5 years ago Has been improvingand enhancing fromyear to year Published in October2005 200 copies, freely distributed to students(Tempus project)

6th Workshop "SEERE", Ravda, 18-23 September 2006 15

Collected material from Novi Sad

Topics, presentations for Java course prepared according to Serbian Java book

Serbian and English versions of presentations – slides

Further improvements are necessary – division of some topics in smaller units (especially 4.)

Current situation

1. Program Structure in Java (SE)2. Primitive Data Types (SE)3. Statements (SE)4. Referential data types (SE)5. Exception handling (S, in preparation)6. Applets (S, in preparation)

6th Workshop "SEERE", Ravda, 18-23 September 2006 16

1. Program Structure in Java

1.1 Java Program Basic Elements

1.2 Example of some small Java Program

1.3 Java Program Structure

6th Workshop "SEERE", Ravda, 18-23 September 2006 17

2. Primitive Data Types

2.1 Importance of Data Types

2.2 Boolean Data Type

2.3 Integer Data Types

2.4 Real Data Types

2.5 Operators on Primitive Data Types

6th Workshop "SEERE", Ravda, 18-23 September 2006 18

3. Statements

3.1 Block

3.2 Empty Statement

3.3 Expression Statement

3.4 Conditional Statements

3.5 Iteration Statements

3.6 Labelled Statement

3.7 break Statement

3.8 continue Statement

3.9 return Statement

6th Workshop "SEERE", Ravda, 18-23 September 2006 19

4. Referential data types

4.1 Classes, Objects, Overloading, Static fields and methods

Inheritance, Constructors,Polymorphism, Dynamic binding,

Modifiers

4.2 Interfaces, Usage of interfaces, Multiple Inheritance, Interface

Inheritance

4.3 Arrays, Arrays and Classes, Multidimensional Arrays

4.4 Operators on referential types

6th Workshop "SEERE", Ravda, 18-23 September 2006 20

5. Exception handling

5.1 try statement, throw statement

5.2 User-defined Exception Handling

5.3 User-defined Generation of Exceptions

6th Workshop "SEERE", Ravda, 18-23 September 2006 21

6. Applets

6.1 Getting started with applets, JFrame, JApplet classes, AWT,

Swing

6.2 Drawing and Event Handling

6.3 Components, Containers, Layout Managers

6.4 Events and Listeners

6.4 Overview of Different Swing Components

6th Workshop "SEERE", Ravda, 18-23 September 2006 22

AGENDA

1. SubProject site – current state2. Collected material from Berlin3. Collected material from Novi Sad 4. Threads by Ioan, Timisoara5. Further steps and Conclusion

6th Workshop "SEERE", Ravda, 18-23 September 2006 23

Threads by Ioan, Temisoara

Topic for 2nd year students

More difficult for students then Klaus’ presentation

Experiment results – part of another presentation

6th Workshop "SEERE", Ravda, 18-23 September 2006 24

AGENDA

1. SubProject site – current state2. Collected material from Berlin3. Collected material from Novi Sad 4. Threads by Ioan, Timisoara5. Further steps and Conclusion

6th Workshop "SEERE", Ravda, 18-23 September 2006 25

Conclusion

The main impression is that the major goal of the Berlin course is to offer a student a clear overview of the OOP using Java

NS course goal, on the other hand, is to deeply involve students with the Java programming language specifics

6th Workshop "SEERE", Ravda, 18-23 September 2006 26

Conclusion

Berlin teaching material More interesting Much more easy to follow Put stress on the

difference between OOP and other programming paradigms

Clearly shows the difference between Java and Pascal, C

Introduces some basic data structures, like stack

NS teaching material More compact Student is forced to

struggle with terminology

Put stress on the Java programming language specifics

More detailed Students prefer this

way of presentation Most of them like

to minimize home work

6th Workshop "SEERE", Ravda, 18-23 September 2006 27

Source code in Berlin

Students in Berlin get the source code of the Java examples in advance.

They can run the program before the lecture. In that way, the slides did not contain the source

code in all details. Students are expected to bring along the

printed source code to the lecture.    This concept, however, is not so easy to

accomplish in a lecture.

Conclusion: The opinion of the students of Novi Sad is right: It is easier to have all information (source code) collected in one presentation file.

6th Workshop "SEERE", Ravda, 18-23 September 2006 28

General Conclusions

Opinion of Novi Sad students

Students need more explanations -they expect more details, examples – with a lot of code.

Animations and effects are good, but the fact that there isn’t enough code on slides, makes slides less worthy that they maybe should be.

The lectures should have more examples and appropriate source code because it’s much closer to students for understanding.

6th Workshop "SEERE", Ravda, 18-23 September 2006 29

Further steps - General Idea about Course Material

Seems that Berlin and Novi Sad are most interested in preparation of joint material .

Prepare a collection of different topics and concepts (just language, emphasize on OO design and style of programming, advanced topics, some real complex applications,…). Use different versions of the same topics (members of project -

Berlin, Novi Sad, Temisoara, Belgrade, Skopje,…, available Internet material)

For specific topic make mixture – pick different parts of different presentations – determine responsible person

Prepare complete materials for various stiles of courses Too difficult and time consuming, almost impossible

Real solution: Every lecturer can prepare his/her own course based on available pool of different topics (lecturer can make specific selection)