ICSOFT 2015: Software Technologies pp 63-78 | Cite as

An Eclipse IDE for Teaching Java–

  • Lorenzo BettiniEmail author
  • Pierluigi Crescenzi
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 586)


In this paper, we describe a new Eclipse-based IDE for teaching Java following the object-later approach. This IDE allows the programmer to write code in Java–, a smaller version of the Java language that does not include object-oriented features, and includes all the powerful features available when using an IDE like Eclipse (such as debugging, automatic building, and project wizards). With our implementation, it is also straightforward to create self-assessment exercises for students, which are integrated in Eclipse and JUnit.


Concrete Syntax Code Completion Error Marker Lambda Expression Eclipse Project 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Cecchi, L., Crescenzi, P., Innocenti, G.: C : C++ = JavaMM: Java. In: Proceedings of the 2nd International Conference on Principles and Practice of Programming in Java, pp. 75–78 (2003)Google Scholar
  2. 2.
    Bettini, L., Crescenzi, P., Innocenti, G., Loreti, M., Cecchi, L.: An environment for self-assessing Java programming skills in undergraduate first programming courses. In: Proceedings of the IEEE International Conference on Advanced Learning Technologies, pp. 161–165 (2004)Google Scholar
  3. 3.
    Crescenzi, P., Loreti, M., Pugliese, R.: Assessing CS1 Java skills: a three-year experience. SIGCSE Bull. 38, 348 (2006)CrossRefGoogle Scholar
  4. 4.
    Bettini, L., Crescenzi, P.: Java– meets Eclipse - an IDE for teaching Java following the object-later approach. In: Proceedings of the 10th International Conference on Software Paradigm Trends, pp. 31–42 (2015)Google Scholar
  5. 5.
    Itemis: Xtext (2015).
  6. 6.
    Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing, Birmingham (2013)Google Scholar
  7. 7.
    Voelter, M.: Language and IDE modularization and composition with MPS. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2011. LNCS, vol. 7680, pp. 383–430. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  8. 8.
    Kats, L.C.L., Visser, E.: The spoofax language workbench. Rules for declarative specification of languages and IDEs. OOPSLA 45, 444–463 (2010)Google Scholar
  9. 9.
    Westfall, R.: Technical opinion: Hello, world considered harmful. Commun. ACM 44, 129–130 (2001)CrossRefGoogle Scholar
  10. 10.
    Parlante, N.: Codingbat code practice (2011).
  11. 11.
    Martin, R.C.: Agile Software Development: Principles, Patterns, and Practices. Prentice Hall, Upper Saddle River (2003)Google Scholar
  12. 12.
    Beck, K.: Test Driven Development: By Example. Addison-Wesley, Boston (2003)Google Scholar
  13. 13.
    Goldberg, A.: SMALLTALK-80: The Interactive Programming Environment. Addison-Wesley, Boston (1984)zbMATHGoogle Scholar
  14. 14.
    Kelleher, C., Pausch, R.: Lowering the barriers to programming: a taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv. 37, 83–137 (2005)CrossRefGoogle Scholar
  15. 15.
    Dann, W.P., Cooper, S., Pausch, R.: Learning to Program with Alice. Prentice Hall, Upper Saddle River (2011)Google Scholar
  16. 16.
    Barnes, D., Kölling, M.: Objects First with Java: A Practical Introduction Using BlueJ, 5th edn. Prentice Hall, Upper Saddle River (2011)Google Scholar
  17. 17.
    Levy, R.B.B., Ben-Ari, M., Uronen, P.A.: The Jeliot 2000 program animation system. Comput. Edu. 40, 1–15 (2003)CrossRefGoogle Scholar
  18. 18.
    Cazzola, W., Olivares, D.M.: Gradually learning programming supported by a growable programming language. IEEE Trans. Emerg. Top. Comput. 4 (2016). Special Issue on Emerging Trends in EducationGoogle Scholar
  19. 19.
    Pfeiffer, M., Pichler, J.: A comparison of tool support for textual domain-specific languages. In: Proceedings of the DSM, pp. 1–7 (2008)Google Scholar
  20. 20.
    Voelter, M., Benz, S., Dietrich, C., Engelmann, B., Helander, M., Kats, L.C.L., Visser, E., Wachsmuth, G.: DSL Engineering - Designing, Implementing and Using Domain-Specific Languages (2013)Google Scholar
  21. 21.
    Erdweg, S., van der Storm, T., Völter, M., Tratt, L., Bosman, R., Cook, W.R., Gerritsen, A., Hulshout, A., Kelly, S., Loh, A., Konat, G., Molina, P.J., Palatnik, M., Pohjonen, R., Schindler, E., Schindler, K., Solmi, R., Vergu, V., Visser, E., van der Vlist, K., Wachsmuth, G., van der Woning, J.: Evaluating and comparing language workbenches: existing results and benchmarks for the future. Comput. Lang. Syst. Struct. 44, 24–47 (2015)Google Scholar
  22. 22.
    Charles, P., Fuhrer, R., Sutton Jr., S., Duesterwald, E., Vinju, J.: Accelerating the creation of customized, language-Specific IDEs in Eclipse. OOPSLA 44, 191–206 (2009)Google Scholar
  23. 23.
    Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the specification of textual concrete syntaxes in model engineering. In: GPCE, pp. 249–254. ACM (2006)Google Scholar
  24. 24.
    Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Derivation and refinement of textual syntax for models. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 114–129. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  25. 25.
    Eysholdt, M.: Xpect (2014).
  26. 26.
    Benz, S., Engelmann, B.: Jnario, Executable Specifications for Java (2014).
  27. 27.
    MacDonald, B.: To IDE or not to IDE? (2014).
  28. 28.
    Bettini, L., Damiani, F.: Generic traits for the Java platform. In: Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools, pp. 5–16. ACM (2014)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Dipartimento di InformaticaUniversità di TorinoTorinoItaly
  2. 2.Dipartimento di Ingegneria dell’InformazioneUniversità di FirenzeFirenzeItaly

Personalised recommendations