Skip to main content

An Eclipse IDE for Teaching Java–

  • Conference paper
  • First Online:
Software Technologies (ICSOFT 2015)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 586))

Included in the following conference series:

Abstract

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.

This work has been supported in part by MIUR (proj. CINA), Ateneo/CSP (proj. SALT), ICT COST Action IC1201 BETTY, and PRIN 2012C4E3KT national research project AMANDA (Algorithmics for MAssive and Networked Data).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    As it is shown in the figure, the student is required to make a leap of faith concerning the use of the static methods to print to the standard output (such as System.out.println()). Although this could have been avoided by implementing a print() method that invokes the corresponding Java method, we preferred to ask the students to use the standard Java methods and to profess their faith in them, rather than give them a solution that is not pure Java, and which could confuse them later on.

  2. 2.

    Xtend, https://eclipse.org/xtend/, is a Java dialect implemented with Xtext and Xbase.

References

  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. 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. Crescenzi, P., Loreti, M., Pugliese, R.: Assessing CS1 Java skills: a three-year experience. SIGCSE Bull. 38, 348 (2006)

    Article  Google Scholar 

  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. Itemis: Xtext (2015). http://www.eclipse.org/Xtext

  6. Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing, Birmingham (2013)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Westfall, R.: Technical opinion: Hello, world considered harmful. Commun. ACM 44, 129–130 (2001)

    Article  Google Scholar 

  10. Parlante, N.: Codingbat code practice (2011). http://codingbat.com

  11. Martin, R.C.: Agile Software Development: Principles, Patterns, and Practices. Prentice Hall, Upper Saddle River (2003)

    Google Scholar 

  12. Beck, K.: Test Driven Development: By Example. Addison-Wesley, Boston (2003)

    Google Scholar 

  13. Goldberg, A.: SMALLTALK-80: The Interactive Programming Environment. Addison-Wesley, Boston (1984)

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  15. Dann, W.P., Cooper, S., Pausch, R.: Learning to Program with Alice. Prentice Hall, Upper Saddle River (2011)

    Google Scholar 

  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. Levy, R.B.B., Ben-Ari, M., Uronen, P.A.: The Jeliot 2000 program animation system. Comput. Edu. 40, 1–15 (2003)

    Article  Google Scholar 

  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 Education

    Google Scholar 

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

    Chapter  Google Scholar 

  25. Eysholdt, M.: Xpect (2014). http://www.xpect-tests.org

  26. Benz, S., Engelmann, B.: Jnario, Executable Specifications for Java (2014). http://jnario.org

  27. MacDonald, B.: To IDE or not to IDE? (2014). http://radar.oreilly.com/2014/01/to-ide-or-not-to-ide.html

  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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lorenzo Bettini .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Bettini, L., Crescenzi, P. (2016). An Eclipse IDE for Teaching Java–. In: Lorenz, P., Cardoso, J., Maciaszek, L., van Sinderen, M. (eds) Software Technologies. ICSOFT 2015. Communications in Computer and Information Science, vol 586. Springer, Cham. https://doi.org/10.1007/978-3-319-30142-6_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-30142-6_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-30141-9

  • Online ISBN: 978-3-319-30142-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics