DIGITAL LIBRARY
ENHANCING STUDENTS' SOFTWARE DEVELOPMENT SKILLS IN INTRODUCTORY JAVA-BASED PROGRAMMING COURSES WITH PROFESSIONAL COMMUNITY ACTIVITIES AND EXTERNAL RESOURCES
1 Rochester Institute of Technology Croatia (CROATIA)
2 Oracle (CROATIA)
About this paper:
Appears in: ICERI2022 Proceedings
Publication year: 2022
Pages: 8225-8234
ISBN: 978-84-09-45476-1
ISSN: 2340-1095
doi: 10.21125/iceri.2022.2135
Conference name: 15th annual International Conference of Education, Research and Innovation
Dates: 7-9 November, 2022
Location: Seville, Spain
Abstract:
Teaching introductory programming and software development courses at the undergraduate level is often considered a challenge, particularly when dealing with students with insufficient experience in programming who finished high school under pandemic circumstances. Existing undergraduate programs in computing, computer science, information technology, and similar fields take several approaches when choosing programming paradigms and associated programming languages and technology backgrounds. In our undergraduate program in web and mobile computing, we have selected Java, one of the most popular general-purpose object-oriented programming languages with high demand in the software development job market, as the primary language used in several introductory programming courses.

Recently, the global pandemic disrupted how programming courses are delivered using various contemporary distance learning methods. Consequently, we have adapted our approach to providing programming and software development courses, thus keeping our students satisfied and retaining a competitive advantage. As presented in this paper, we made several enhancements to our undergraduate program's courses to keep them attractive, creative, and inspiring for current and future students. As a result, we successfully delivered various these courses in online and blended versions, combining in-person, synchronous, and asynchronous remote delivery modes, trying to resemble the in-class experience with different distance learning internal and external tools and services within our learning environment.

Furthermore, courses were updated with the current best practices related to programming in Java, based on the feedback from professional software developers and the local Java community. Our students had the privilege to attend and participate in several professional software development activities, including professional conferences, meetups, workshops, and hackathons, organized in collaboration with the Croatian Java User Association (HUJAK) and Oracle Academy (OA) program. As a part of extracurricular activities, our undergraduate students also conducted successful student research projects related to software development in Java. We also considered introducing specific elective courses with industry-sponsored projects to deepen students' knowledge and skills, particularly those in high demand by software companies.

Moreover, we enhanced our courses by adapting ideas from the OA program, which provides freely available modular courseware with designated learning objectives, aligned to relevant standards, certifications, and qualification frameworks. These ideas for adaption primarily came from OA's beginner Java Foundations / Fundamentals and intermediate Java Programming courses; however, for older students, we also considered more specific topics from advanced Artificial Intelligence with Machine Learning in Java course and using Oracle Cloud facilities to simplify software development environment set-up and delivery to our students.

In this paper, we presented our experiences with adapting introductory programming and software development courses to the new circumstances, and we discussed how introductory programming courses could be successfully enhanced with the support of external educational program resources and additionally incentivized by the activities of the local Java community and collaboration with the software development industry.
Keywords:
Software Development, Programming, Java, Oracle Academy, HUJAK, JavaCro, Javantura.