skip to main content
research-article

Bridging Education and Development: IDEs as Interactive Learning Platforms

Published: 07 August 2024 Publication History

Abstract

In this work, we introduce a novel approach to programming education - in-IDE courses implemented for IntelliJ-based IDEs via the JetBrains Academy Plugin. The primary objective of this approach is to address the challenge of familiarizing students with industrial technologies by moving all theory and practical materials to a professional IDE. This approach allows students to immediately use modern industrial tools as they are fully integrated into the learning process. We have already applied this approach in over 40 courses, and it successfully educates students across diverse topics such as Plugin Development, Algorithms, Data Analysis, and Language mastery in various programming languages, including Kotlin, Java, C++, and Python. Along with the paper, we are providing the community not only with a new way of learning and a set of ready-made courses but also a collection of helpful resources to assist educators in getting started with the plugin.

References

[1]
[n. d.]. Alice. http://www.alice.org/. [Online; accessed 29-Septembet-2023].
[2]
[n. d.]. Codeboard. https://codeboard.io/. [Online; accessed 29-Septembet-2023].
[3]
[n. d.]. Course creator start guide. https://plugins.jetbrains.com/plugin/10081-jetbrains-academy/docs/educator-start-guide.html
[4]
[n. d.]. GitHub Classroom. https://classroom.github.com/. [Online; accessed 13-November-2023].
[5]
[n. d.]. IntelliJ Platform Plugin SDK. https://plugins.jetbrains.com/docs/intellij/welcome.html. [Online; accessed 18-November-2023].
[6]
[n. d.]. JCEF. https://github.com/JetBrains/jcef. [Online; accessed 18-November-2023].
[7]
2023. A set of materials for in-IDE course creation. Retrieved November 3, 2023 from https://blog.jetbrains.com/education/2021/05/06/jetbrains-educational-products-for-teaching/
[8]
2023. Algorithmic Challenges in Kotlin. Retrieved November 3, 2023 from https://plugins.jetbrains.com/plugin/22214-algorithmic-challenges-in-kotlin
[9]
2023. Gateway to Pandas. Retrieved November 3, 2023 from https://plugins.jetbrains.com/plugin/22686-gateway-to-pandas
[10]
2023. GitHub Classroom with Visual Studio Code. Retrieved November 3, 2023 from https://docs.github.com/en/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-visual-studio-code-with-github-classroom
[11]
2023. IDEs Based on the IntelliJ Platform. Retrieved November 3, 2023 from https://plugins.jetbrains.com/docs/intellij/intellij-platform.html#ides-based-on-the-intellij-platform
[12]
2023. IntelliJ IDEA Open API and Plugin Development Forum. Retrieved November 3, 2023 from https://intellij-support.jetbrains.com/hc/en-us/community/topics/200366979-IntelliJ-IDEA-Open-API-and-Plugin-Development
[13]
2023. Introduction to IDE Code Refactoring. Retrieved November 3, 2023 from https://plugins.jetbrains.com/plugin/23048-introduction-to-ide-code-refactoring
[14]
2023. JetBrains Academy Java Course Template. Retrieved November 3, 2023 from https://github.com/jetbrains-academy/java-course-template
[15]
2023. JetBrains Academy Kotlin Course Template. Retrieved November 3, 2023 from https://github.com/jetbrains-academy/kotlin-course-template
[16]
2023. JetBrains Academy Marketplace. Retrieved November 3, 2023 from https://plugins.jetbrains.com/education
[17]
2023. JetBrains Academy Plugin. Retrieved November 3, 2023 from https://plugins.jetbrains.com/plugin/10081-jetbrains-academy
[18]
2023. JetBrains Academy Python Course Template. Retrieved November 3, 2023 from https://github.com/jetbrains-academy/python-course-template
[19]
2023. JetBrains AI Assistant. Retrieved December 6, 2023 from https://www.jetbrains.com/help/idea/ai-assistant.html
[20]
2023. JetBrains IDE Features Trainer. Retrieved December 6, 2023 from https://www.jetbrains.com/help/idea/feature-trainer.html
[21]
2023. JetBrains Platform Slack for Plugin Developers. Retrieved November 3, 2023 from https://intellij-support.jetbrains.com/hc/en-us/community/posts/360006494439--ANN-JetBrains-Platform-Slack-for-Plugin-Developers
[22]
2023. Kotlin Onboarding Introduction Course. Retrieved November 3, 2023 from https://plugins.jetbrains.com/plugin/21067-kotlin-onboarding-introduction
[23]
2023. Kotlin Onboarding Object-Oriented programming Course. Retrieved November 3, 2023 from https://plugins.jetbrains.com/plugin/21913-kotlin-onboarding-object-oriented-programming
[24]
2023. Kotlin test framework. Retrieved November 3, 2023 from https://github.com/jetbrains-academy/kotlin-test-framework
[25]
2023. Moodle. Retrieved January 22, 2024 from https://moodle.org/
[26]
2023. Python testing framework --- unittest. Retrieved November 3, 2023 from https://docs.python.org/3/library/unittest.html
[27]
2024. How to create a course with JetBrains Academy. Retrieved January 22, 2024 from https://www.youtube.com/watch?v=e0O4TZKI8kQ
[28]
2024. Java Reflection API. Retrieved January 22, 2024 from https://docs.oracle.com/javase/8/docs/technotes/guides/reflection/index.html
[29]
2024. JetBrains Academy GitHub. Retrieved January 22, 2024 from https://github.com/jetbrains-academy
[30]
Muzamil Hussain Al Hussaini. 2023. Computer Engineering Impact and Role in Student Academic Achievement. International Journal of Research in Science & Engineering (IJRISE) ISSN: 2394-8299 3, 1 (2023), 39--41.
[31]
Carlos Alario-Hoyos, Iria Manuela Estévez Ayres, Jesus Manuel Gallego Romero, Carlos Delgado Kloos, María Carmen Fernández Panadero, Raquel Crespo García, Florina Almenares Mendoza, María Blanca Ibáñez Espiga, Julio Villena Román, Jorge Ruiz Magaña, et al. 2018. A study of learning-by-doing in MOOCs through the integration of third-party external tools: comparison of synchronous and asynchronous running modes. (2018).
[32]
Sven Amann, Sebastian Proksch, Sarah Nadi, and Mira Mezini. 2016. A study of visual studio usage in practice. In 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), Vol. 1. IEEE, 124--134.
[33]
Sapana S Barphe, Varsha T Lokare, Sanjay R Sutar, and Arvind W Kiwelekar. 2022. Effective Online Tools for Teaching Java Programming Course on an Online Platform. In Intelligent Sustainable Systems: Selected Papers of WorldS4 2021, Volume 2. Springer, 615--622.
[34]
Martin C Carlisle, Terry A Wilson, Jeffrey W Humphries, and Steven M Hadfield. 2005. RAPTOR: a visual programming environment for teaching algorithmic problem solving. Acm Sigcse Bulletin 37, 1 (2005), 176--180.
[35]
Miguel Morales Chan, Mónica de la Roca, Carlos Alario-Hoyos, Roberto Barchino Plata, José Amelio Medina, and Rocael Hernández Rizzardini. 2017. Perceived usefulness and motivation students towards the use of a cloud-based tool to support the learning process in a Java MOOC. In Proceedings of the International Conference MOOC-MAKER. 73--82.
[36]
Jesús Manuel Gallego-Romero, Carlos Alario-Hoyos, Iria Estévez-Ayres, and Carlos Delgado Kloos. 2020. Analyzing learners' engagement and behavior in MOOCs on programming with the Codeboard IDE. Educational Technology Research and Development 68 (2020), 2505--2528.
[37]
Paul Gross and Kris Powers. 2005. Evaluating assessments of novice programming environments. In Proceedings of the first international workshop on Computing education research. 99--110.
[38]
Sidra Iftikhar, Ana-Elena Guerrero-Roldán, and Enric Mor. 2022. Practice Promotes Learning: Analyzing Students' Acceptance of a Learning-by-Doing Online Programming Learning Tool. Applied Sciences 12, 24 (2022), 12613.
[39]
Michael Kölling, Bruce Quig, Andrew Patterson, and John Rosenberg. 2003. The BlueJ system and its pedagogy. Computer Science Education 13, 4 (2003), 249--268.
[40]
Ronit Ben-Bassat Levy, Mordechai Ben-Ari, and Pekka A Uronen. 2003. The Jeliot 2000 program animation system. Computers & Education 40, 1 (2003), 1--15.
[41]
Marcus Messer. 2022. Detecting When a Learner Requires Assistance with Programming and Delivering a Useful Hint. In Proceedings of the 15th International Conference on Educational Data Mining. 778.
[42]
Bertrand Meyer. 2017. Fourteen years of software engineering at ETH Zurich. arXiv preprint arXiv:1712.05078 (2017).
[43]
Alex Radermacher, Gursimran Walia, and Dean Knudson. 2014. Investigating the skill gap between graduating students and industry expectations. In Companion Proceedings of the 36th international conference on software engineering. 291--300.
[44]
Will Snipes, Emerson Murphy-Hill, Thomas Fritz, Mohsen Vakilian, Kostadin Damevski, Anil R Nair, and David Shepherd. 2015. A practical guide to analyzing ide usage data. In The Art and Science of Analyzing Software Data. Elsevier, 85--138.
[45]
Ralph Weires and Rainer Oechsle. [n. d.]. TeeJay-A Tool for the Interactive Definition and Execution of Function-oriented Tests on Java Objects. In Program Visualization Workshop. 94.
[46]
Lu Yan. 2009. Teaching object-oriented programming with games. In 2009 Sixth International Conference on Information Technology: New Generations. IEEE, 969--974.

Index Terms

  1. Bridging Education and Development: IDEs as Interactive Learning Platforms

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    IDE '24: Proceedings of the 1st ACM/IEEE Workshop on Integrated Development Environments
    April 2024
    127 pages
    ISBN:9798400705809
    DOI:10.1145/3643796
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    In-Cooperation

    • Faculty of Engineering of University of Porto

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 August 2024

    Check for updates

    Author Tags

    1. programming education
    2. MOOC
    3. in-IDE learning
    4. IDE plugins

    Qualifiers

    • Research-article

    Conference

    IDE '24
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 30
      Total Downloads
    • Downloads (Last 12 months)30
    • Downloads (Last 6 weeks)12
    Reflects downloads up to 19 Oct 2024

    Other Metrics

    Citations

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media