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

Slides:



Advertisements
Similar presentations
Introduction to Eclipse. Start Eclipse Click and then click Eclipse from the menu: Or open a shell and type eclipse after the prompt.
Advertisements

The Line Class Suppose you are involved in the development of a large mathematical application, and this application needs an object to represent a Line.
MT311 Tutorial Li Tak Sing( 李德成 ). Uploading your work You need to upload your work for tutorials and assignments at the following site:
Client Side Programming Using Java Applet Outcomes: You will be expected to know: – Java Applets and HTML file; –bytecode and platform independent programs;
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Inheritance and Polymorphism.
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 4.
CS2200 Software Development Lecture 2: Java Program Development Lecturer: Adrian O’Riordan Course Webpage:
Getting Started with Java
1 Chapter 2 Introductory Programs. 2 Getting started To create and run a Java program –Create a text file with a.java extension for the source code. For.
Java Review 2 – Errors, Exceptions, Debugging Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Review CSC 171 FALL 2004 LECTURE 21. Topics Objects and Classes Fundamental Types Graphics and Applets Decisions Iteration Designing Classes Testing and.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Evaluating the usability of the BlueJ environment. Marilyn Barallon Supervisor: Dr.Linda McIver.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
1 Chapter 8 Objects and Classes. 2 Motivations After learning the preceding chapters, you are capable of solving many programming problems using selections,
A Short Introduction to JAVA
Lecture 1: Overview of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++ Designed.
CMSC 341 Introduction to Java Based on tutorial by Rebecca Hasti at
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington Objects Real and Java COMP.
Digital Image Processing Lecture3: Introduction to MATLAB.
1 Web Based Programming Section 6 James King 12 August 2003.
1 v1.6 08/02/2006 Overview of Eclipse Lectures 1.Overview 2.Installing and Running 3.Building and Running Java Classes 4.Refactoring 5.Debugging 6.Testing.
DAT602 Database Application Development Lecture 5 JAVA Review.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Lecture 2 Object Oriented Programming Basics of Java Language MBY.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
Geoff Holmes and Bernhard Pfahringer COMP206-08S General Programming 2.
Basics of Java IMPORTANT: Read Chap 1-6 of How to think like a… Lecture 3.
Computer Science II 810:062 Section 01. How is CS I different from CS II? When you teach Java there are a series of decisions that have to be made…
Debugging Dwight Deugo Nesa Matic
Debugging. 2 © 2003, Espirity Inc. Module Road Map 1.Eclipse Debugging  Debug Perspective  Debug Session  Breakpoint  Debug Views  Breakpoint Types.
Applied Computing Technology Laboratory QuickStart C# Learning to Program in C# Amy Roberge & John Linehan November 7, 2005.
Data Structures and Algorithms – using JAVA Boro Jakimovski University of Sts Cyril and Methodius, Skopje.
Java™ How to Program, 10/e © Copyright by Pearson Education, Inc. All Rights Reserved.
EIE375 BlueJ: Getting Started Dr Lawrence Cheung.
Programming Tutoring Systems evaluation Boro Jakimovski Anastas Misev Institute of Informatics Faculty of Natural Sciences and Mathematics University “Ss.
DrJava A lightweight pedagogic environment for Java Eric Allen, Robert Cartwright, and Brian Stoler Rice University
Jeliot 3 Spring 2004 Andrés Moreno García Niko Myller Department of Computer Science University of Joensuu.
 Objects versus Class  Three main concepts of OOP ◦ Encapsulation ◦ Inheritance ◦ Polymorphism  Method ◦ Parameterized ◦ Value-Returning.
Chapter 10: Classes and Data Abstraction. Objectives In this chapter, you will: Learn about classes Learn about private, protected, and public members.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 What we'll cover here l Using the debugger: Starting the debugger Setting.
School of Computer Science & Information Technology G6DICP - Lecture 6 Errors, bugs and debugging.
Chapter 8 Class Inheritance and Interfaces F Superclasses and Subclasses  Keywords: super F Overriding methods  The Object Class  Modifiers: protected,
Java Programming, Second Edition Chapter Twelve Advanced Inheritance Concepts.
Chapter 1 Java Programming Review. Introduction Java is platform-independent, meaning that you can write a program once and run it anywhere. Java programs.
Chapter 10: Classes and Data Abstraction. Classes Object-oriented design (OOD): a problem solving methodology Objects: components of a solution Class:
15 Copyright © 2004, Oracle. All rights reserved. Debugging Triggers.
JAVA Programming (Session 2) “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
Execution ways of program References: www. en.wikipedia.org/wiki/Integrated_development_environment  You can execute or run a simple java program with.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Debuggers. Errors in Computer Code Errors in computer programs are commonly known as bugs. Three types of errors in computer programs –Syntax errors –Runtime.
1 Using an Integrated Development Environment. Integrated Development Environments An Integrated Development Environment, or IDE, permits you to edit,
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
Objects Real and Java COMP T1 3
Debugging Dwight Deugo
Text by: Lambert and Osborne
Testing and Debugging.
CompSci 230 Software Construction
Jeliot 3 Spring 2004 Andrés Moreno García Niko Myller
Important terms Black-box testing White-box testing Regression testing
Important terms Black-box testing White-box testing Regression testing
Java Programming with BlueJ
Java Programming Language
Introduction to Algorithm Design
Debugging Visual Basic Programs
Debugging Dwight Deugo
Java Programming with BlueJ Objectives
LCC 6310 Computation as an Expressive Medium
Corresponds with Chapter 5
Presentation transcript:

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

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

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

Environment Code Editor Toolbar Editor Theatre Output

Compilation - After compiling the code the show is started - If there are any compilation errors that is shown once the simulation starts 

Execution Current execution point Methods invoked Method variables Evaluation of expressions Memory space (instances)

Execution

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

Call tree Call tree shows the operation execution steps Good for recursion explanation

Recursive Fibonacci

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 ( 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.

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

BlueJ UML Class diagram Toolbox Memory (Object instances) Runtime command execution

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

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)

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

Jeliot and BlueJ Students can also execute their programs in Jeliot

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

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