This is a list of possible special laboratory projects (erikoistyö) concerning Jeliot 3 we are offering for Computer Science students of the University of Joensuu. These projects might lead to initial steps of a Master's Thesis. If you are interested in taking part in any of these projects please send an e-mail to firstname.lastname@example.org.
- Make Jeliot 3 C++/C# capable
- The goal of the project is to make Jeliot capable of animating simple C++ or C-- programs. The main task will be to modify or develop a C++ interpreter that produces an intermediate code that can be visualized by Jeliot 3. For the C#, Microsoft has an open source project called Rotor, which contains a runtime and compiler for C#. Topics: Java, C++, Interpreters.
- Make Jeliot 3 Python capable
- The goal of the project is to make Jeliot capable of animating simple Python programs. The main task will be to modify (e.g., Jython) or develop a Python interpreter to produce an intermediate code that can be visualized by Jeliot 3. An initial attempt to visualize Python programs was done at University of Turku (OpenExVis). Topics: Java, Python, Interpreters.
- Integration of Jeliot with an existing CourseWare:
- The goal of this project is to make Jeliot communicate with existing CourseWare tools, e.g. moodle. The initial idea is that exercises will be retrieved from an online repository, displayed in Jeliot, and answers submitted to the Learning System. Topics: Java, network protocols, XML, LMS.
- JeCo stands for JEliot COllaboratively and is an ongoing development project within the main Jeliot 3 project. The novel idea of collaborative program visualization is to combine program visualization and collaboration tools such as collaborative authoring applications to form software that can support both collaboration through communication and visualization of programs. Currently, JeCo lets the user to visualize programs, send the programs to other users of JeCo through a forum, comment other users’ programs and chat with other users. We would like to add a capability to play simultaneously the same visualization on multiple users' screen. This would require broadcasting of the MCode stream to multiple JeCo/Jeliot instances through the JeCo server so that one instance is the controller of the visualization and others are just recipients. Topics: networking in Java and network protocols.
- Add Java 1.5 capabilities to Jeliot 3:
- Java 1.5 introduces enhancements and features that improve both its functionality and usability for both novices and experts. Features like autoboxing and scanners are thought to be useful for novices and are already used in some Introduction to Programming Courses; thus, we feel it is important to implement it. Dr Java implements some of this features. As they are using the same Java interpreter as we do, their work might be replicated in Jeliot 3. Topics: Java, Dynamic Java, CVS.
- Develop interactive Flash Animations
- The goal of this project is to come with a set of flash animations that shows how to use Jeliot 3, and to explain the basics concepts of programming. Interactive tasks, such as question and answers, are required for a better learning outcome. Topics: Java, Flash, education.
We are in talks with Microsoft Finland in order to get funding for the Jeliot C# capable. There are currently no any other funded projects associated with Jeliot 3, so no financial support can be given at the moment.