Title: Overview of collected Java teaching materials M. Ivanovic, N. Ibrajter
1Overview of collected Java teaching materials
M. Ivanovic, N. Ibrajter
2Content
- SubProject site
- Collected material
- Some topics by Berlin way
- Same topic by Novi Sad way
- Some Internet material
- Further steps and Conclusion
3Content
- SubProject site
- Collected material
- Some topics by Berlin way
- Same topic by Novi Sad way
- Some Internet material
- Further steps and Conclusion
4(No Transcript)
5(No Transcript)
6(No Transcript)
7(No Transcript)
8(No Transcript)
9(No Transcript)
10(No Transcript)
11Content
- SubProject site
- Collected material
- Some topics by Berlin way
- Same topic by Novi Sad way
- Some Internet material
- Further steps and Conclusion
12Collected material
- Berlin prepared slides in German (based on
previous teaching material) - N. Ibrajter translated several lessons in English
- Novi Sad prepared Java book in Serbian (good base
for teaching .ppt material) - University of Aberdeen (complete .ppt course
material from Internet)
13Novi Sad and Berlin Course Differences
- Both courses cover same topics
- Presentation will show the differences by the
example of one topic - Berlin students have the course in 1st and Novi
Sad students in 3rd semester - Berlin course, mainly concerns to introduce OO
programming paradigm - Novi Sad course is much more language specific
14Same Content of the Course
- Primitive Data Types
- Operators
- Operations
- Statements
- Object-Oriented Programming in Java
- Objects
- Classes
- References
- Inheritance
- Polymorphism
- Exceptions
- Inner Classes
15Content
- SubProject site
- Collected material
- Some topics by Berlin way
- Same topic by Novi Sad way
- Some Internet material
- Further steps and Conclusion
16Topics in English
- Introduction (1)Objects, Classes, Abstract Data
Types (48 slides) - Introduction (2)Useful Concepts of OO Paradigm
(78 slides) - Inheritance (56 slides)
- Exception Handling (46 slides)
17Introduction (1)Objects, Classes, Abstract Data
Types
- Programming paradigms imperative and
object-oriented - Data abstraction Abstract data types Classes
Instances - Instance variables, instance methods
- Example Stack
18Introduction (2)Useful Concepts of OO Paradigm
- ADT reuse (classes)
- Parenthesis structure checked by a stack
- Transformation of recursion to iteration with a
stack - Comparison of an imperative with an OO
programTimeTable.java, Time.java,
Scheduler.java - ADT as Java API classes String
- Data classes Pascal, C
- Further conceptsOverloading, this the actual
object, private methods, public variables,
alias-problem, lexicographical order
19Inheritance
- Inheritance
- Subclasses
- Superclasses
- Hierarchy building
- Simple inheritance (Java)Multiple inheritance
(C) - Once more private, public ? protected
- Polymorphism Method overloading (ltgt overriding)
- Class hierarchy and the class Object'
- Dynamic binding dynamic search for methods
- final-methods, abstract classes
- "Wrapper-classes"
20Content
- SubProject site
- Collected material
- Some topics by Berlin way
- Same topic by Novi Sad way
- Some Internet material
- Further steps and Conclusion
21 NS Course OO Paradigm and Its Concepts 1/2
- 19 slides
- 8 code slides, the rest are textual slides
- No pictures
- Strictly Java language specific
- On quite a high level considering terminology
- Cover OOP paradigm, notion of object, class and
reference
22NS Course OO Paradigm and Its Concepts 2/2
- Basic philosophy structuring programs in a way
the objects are organized in a real world - Creating and using types that group data and code
segments which use the data - Type values are called instances
- Basic notions of OO programming style
- object
- class
- inheritance
23Content
- SubProject site
- Collected material
- Some topics by Berlin way
- Same topic by Novi Sad way
- Some Internet material
- Further steps and Conclusion
24Chapters 8 and 9Inheritance
- Inheritance
- Subtyping
- Substitution
- Polymorphic variables
- Static and dynamic type
- Method polymorphism
- Overriding
- Dynamic method lookup
25The Object class
All classes inherit from Object
26DoME hierarchy
All classes inherit from Object
27Polymorphic variables
- Instance variables in Java can be
polymorphic.(They can refer to objects of more
than one type but not simultaneously!) - They can hold instances of the declared type, or
of subtypes of the declared type. - This is another example of substitution.
28Adding items to an ArrayList
- public class Database
- private ArrayList items
-
- public void addItem(Item theItem)
-
- items.add(theItem)
-
- ...
Sometimes contains a CD, sometimes a Video
29Subtyping and assignment
subtype instances may be assigned to supertype
variables (substitution again)
Vehicle v1 new Vehicle() Vehicle v2 new
Car() Vehicle v3 new Bicycle()
30Content
- SubProject site
- Collected material
- Some topics by Berlin way
- Same topic by Novi Sad way
- Some Internet material
- Further steps and conclusion
31Further Steps and Conclusion
- Courses organize content of the topics by
different criteria - 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 - First semester, first programming language
- NS course goal, on the other hand, is to deeply
involve students with the Java programming
language specifics - Third semester, second programming language
32Conclusion
- Berlin teaching material
- More interesting
- Much more easy to follow
- Puts 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
- Puts stress on the Java programming language
specifics - More detailed
- Students prefer this way of presentation
- Most of them like to minimize home work
- No suitable additional literature
33General Idea about Course 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 (Berlin. Novi Sad,
Timisoara, Belgrade, Skopje,) - Prepare complete materials for various stiles of
courses - Kernel of same basic topics
- Material for a general course on Java programming
language - Material for OO programming course
-
- Possibility to prepare different courses based on
available material (lecturer can make specific
selection)