Hyacinth macaw: a project-based learning program to develop talents in Software Engineering for Artificial Intelligence

Software Engineering for Artificial Intelligence (SE4A) uses SE principles to design and maintain AI systems, requiring analytical thinking for software complexity, while AI demands mathematical knowledge and algorithm adjustment. The IEEE Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering states that extracurricular elements impact students’ preparation. This study focuses on the first module of a project-based learning talent development program involving undergraduate students, two expert professors (in AI and SE), and mentors from sponsoring companies. An exploratory case study with 39 students from four courses was conducted, challenging them to deliver an MVP in machine learning within 1.5 months. Results showed high agreement (87.5%) in applying learned skills to future projects, recognizing SE’s benefits (96.9%) in AI, and acknowledging the connection between SE and AI (78.1%). Participants applied relevant knowledge in ML performance, data analysis, and software architecture for AI. We share strategies used by students to enhance developer experience.

[1]  F. Lanubile,et al.  Teaching MLOps in Higher Education through Project-Based Learning , 2023, 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET).

[2]  Matti Luukkainen,et al.  A systematic literature review of capstone courses in software engineering , 2023, Inf. Softw. Technol..

[3]  Katarina Pažur Aničić,et al.  Teaching Methods in Software Engineering: A Systematic Review , 2022, IEEE Software.

[4]  M. Storey,et al.  An Actionable Framework for Understanding and Improving Developer Experience , 2022, IEEE Transactions on Software Engineering.

[5]  Mirja Pulkkinen,et al.  The state of research on software engineering competencies: A systematic mapping study , 2021, J. Syst. Softw..

[6]  Christian Kästner,et al.  Collaboration Challenges in Building ML-Enabled Systems: Communication, Documentation, Engineering, and Process , 2021, 2022 IEEE/ACM 44th International Conference on Software Engineering (ICSE).

[7]  Igor Wiese,et al.  A Developer Relations (DevRel) model to govern developers in Software Ecosystems , 2021, J. Softw. Evol. Process..

[8]  Xavier Franch,et al.  Software Engineering for AI-Based Systems: A Survey , 2021, ACM Trans. Softw. Eng. Methodol..

[9]  Maria Letizia Jaccheri,et al.  Exploring the intersection between software industry and Software Engineering education - A systematic mapping of Software Engineering Trends , 2021, J. Syst. Softw..

[10]  Gorkem Giray,et al.  A Software Engineering Perspective on Engineering Machine Learning Systems: State of the Art and Challenges , 2020, J. Syst. Softw..

[11]  Chris Parnin,et al.  Comparing Different Developer Behavior Recommendation Styles , 2020, ICSE.

[12]  Eunsuk Kang,et al.  Teaching Software Engineering for Al-Enabled Systems , 2020, 2020 IEEE/ACM 42nd International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET).

[13]  Rory V. O'Connor,et al.  The Changing Role of the Software Engineer , 2019, EuroSPI.

[14]  Harald C. Gall,et al.  Software Engineering for Machine Learning: A Case Study , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP).

[15]  Davi Viana,et al.  Identifying emerging topics and difficulties in software engineering education in Brazil , 2018, SBES.

[16]  Margaret M. Burnett,et al.  Open Source Barriers to Entry, Revisited: A Sociotechnical Perspective , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[17]  Claes Wohlin,et al.  Empirical software engineering experts on the use of students and professionals in experiments , 2017, Empirical Software Engineering.

[18]  C. M. Peres,et al.  Abordagens pedagógicas e sua relação com as teorias de aprendizagem , 2014 .

[19]  Peter Gill,et al.  Case study , 2014, Nature.

[20]  Fabian Fagerholm,et al.  Developer experience: Concept and definition , 2012, 2012 International Conference on Software and System Process (ICSSP).

[21]  G. Charness,et al.  Strong Evidence for Gender Differences in Risk Taking , 2012 .

[22]  James D. Herbsleb,et al.  Social coding in GitHub: transparency and collaboration in an open software repository , 2012, CSCW.

[23]  Daniela Cruzes,et al.  Recommended Steps for Thematic Synthesis in Software Engineering , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[24]  Ramadhar Singh,et al.  Attitudes and Attraction: Optimism and Weight as Explanations for the Similarity–Dissimilarity Asymmetry , 2010 .

[25]  Navid Ahmadi,et al.  A survey of social software engineering , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering - Workshops.

[26]  H. Sharp,et al.  Motivation in Software Engineering: A systematic literature review , 2008, Inf. Softw. Technol..

[27]  Esat Alpay,et al.  Self-theories of intelligence of engineering students , 2006 .

[28]  Robert K. Yin,et al.  The Case Study Anthology , 2004 .

[29]  D. Altman,et al.  Statistics notes: Cronbach's alpha , 1997 .

[30]  Teofilo F. Gonzalez,et al.  An Efficient Algorithm for the Kolmogorov-Smirnov and Lilliefors Tests , 1977, TOMS.

[31]  Patrick E. McKnight,et al.  Mann–Whitney U Test , 2022, The SAGE Encyclopedia of Research Design.

[32]  Valentina Lenarduzzi,et al.  Software Quality for AI: Where We Are Now? , 2021, SWQD.

[33]  Lysanne S. Post,et al.  A review of project-based learning in higher education: Student outcomes and measures , 2020 .

[34]  D. Lang,et al.  Problem-Based and Project-Based Learning for Sustainable Development , 2016 .

[35]  A. Krapp Moral Motivation from the Perspective of the Self-Determination Theory and the Person-Object Theory of Interest , 2013 .

[36]  Ann-Renée Blais,et al.  A Domain-Specific Risk-Attitude Scale: Measuring Risk Perceptions and Risk Behaviors , 2002 .