Download presentation
Presentation is loading. Please wait.
Published byJesse Farmer Modified over 9 years ago
1
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
2
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
3
Jeliot usage The tool can be used for: For lectures Assessment Interactive laboratory sessions Virtual courses
4
Environment Code Editor Toolbar Editor Theatre Output
5
Compilation - After compiling the code the show is started - If there are any compilation errors that is shown once the simulation starts
6
Execution Current execution point Methods invoked Method variables Evaluation of expressions Memory space (instances)
7
Execution
8
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
9
Call tree Call tree shows the operation execution steps Good for recursion explanation
10
Recursive Fibonacci
12
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.http://koala.ilog.fr/djava/ 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.
13
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
14
BlueJ UML Class diagram Toolbox Memory (Object instances) Runtime command execution
15
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
16
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)
17
Debugger Students can stop an execution of a method and inspect the values of internal variables and execute it step by step
18
Jeliot and BlueJ Students can also execute their programs in Jeliot
19
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
20
Conclusion Jeliot and BlueJ can significantly increase students understanding of both structural and especially object-oriented programming Easy and fun to use Simple but still very powerful tools
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.