Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of...

20
Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril and Methodius” Skopje, Macedonia

Transcript of Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of...

Page 1: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Jeliot – A powerful Java tutor for beginners

Boro Jakimovski

Institute of Informatics

Faculty of Natural Sciences and Mathematics

University “Ss Cyril and Methodius”

Skopje, Macedonia

Page 2: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Jeliot

Jeliot family is designed to aid students to learn programming in Java

Useful for teaching Java as first course Uses ”Program Animation” – shows the

execution of a program by means of a multimedia display.

Executes the program step by step with adjustable speed

Displays every step in very understandable way

Page 3: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Jeliot usage

The tool can be used for: For lectures Assessment Interactive laboratory sessions Virtual courses

Page 4: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Environment

CodeEditor

ToolbarEditor

Theatre

Output

Page 5: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Compilation

- After compiling the code the show

is started - If there are any compilation errors that is shown once the simulation

starts

Page 6: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

ExecutionCurrent

execution point

Methods invokedMethod variables

Evaluation of expressions

Memory space(instances)

Page 7: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Execution

Page 8: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Advantages

Jeliot animated execution enables students to: Better understand program execution Execution of programming structures:

Sequence If-else statements Loops

Understand the concept of a pointers and memory

Page 9: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Call tree

Call tree shows the operation

execution steps

Good for recursion

explanation

Page 10: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Recursive Fibonacci

Page 11: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Recursive Fibonacci

Page 12: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Java issues

All classes must be in a single source file.

For I/O, import the package jeliot.io.*; which provides the methods

void Output.println(), int Input.readInt(), double Input.readDouble(), char Input.readChar(), String Input.readString().

Jeliot uses DynamicJava (http://koala.ilog.fr/djava/) as a front-end and thus accepts almost all Java features that you would want to use for introductory programming, however, the implementation of the animation might not animate all features.

Currently, the implementation includes Values of type String all primitive types and one-dimensional

arrays. Expressions including all unary and

binary operations except instanceof. All the control statements (if, while,

etc.). Method invocation, including recursive

invocation. Allocation of objects, constructors,

invocation of methods on objects. Not implemented are:

Static variables. Calls to super(…), except for super() at

the beginning of a constructor. Arrays with components of reference

type (except String). Conditional expressions exp?

exp1:exp2. Array initializers.

Page 13: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Jeliot extensions

Jeliot supports extensions to be built for collaboration

Very good extension is BlueJ BlueJ is an interesting editor for Java Consists of:

UML Class diagram Editor Object inspection and testing

Page 14: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

BlueJ

UML Class diagram

Toolbox

Memory (Object instances)

Runtime command execution

Page 15: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

BlueJ

Pop-up menu on selected class or object gives opportunity: Invoke methods Instantiate objects Inspect objects Remove objects and classes Invoke the editor Compile the class

Page 16: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Object inspection

- Allows students to test certain methods from the classes (outside of the program)- In a way they test the classes without writing an Java application (main method)

Page 17: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Debugger

Students can stop an execution of a method and inspect the values of internal variables and execute it step by step

Page 18: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Jeliot and BlueJ

Students can also execute their programs in Jeliot

Page 19: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

BlueJ Capabilities

Students can do the following using BlueJ: Edit the code Compile the code Get more explanatory error messages Debug their programs (breakpoints, watches) Inspect object content Create applications and applets Incorporate existing classes in the projects

Page 20: Jeliot – A powerful Java tutor for beginners Boro Jakimovski Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss Cyril.

Conclusion

Jeliot and BlueJ can significantly increase students understanding of both structural and especially object-oriented programming

Easy and fun to useSimple but still very powerful tools