Skip to main content
Log in

A framework for designing software engineering project-based learning experiences based on the 4 C/ID model

  • Published:
Education and Information Technologies Aims and scope Submit manuscript

Abstract

Project-based learning (PBL) is a learning technology praised for its ability to grow domain-specific and domain-general skills and related knowledge and attitudes. However, consistently designing effective PBL experiences is challenging, primarily due to the lack of instructor support and guidance for designing PBL experiences aligned with learning principles. This study designs a framework that aids software engineering instructors in designing, administering, and refining structured PBL experiences. We follow design science research to iteratively understand the problem of effective PBL experiences and design solutions for consistently creating them. We validate our intermediary designs by instantiating PBL experiences for a fourth-year undergraduate course on software design, running the experience, and reflecting on the gathered data. We repeat this process four times. Through the lens of pragmatism, we validate our final design by interviewing five software engineering instructors to examine the applicability of our framework to their courses. The resulting framework is based on the four-component instructional design model, where each instantiated PBL experience is a sequence of learning tasks. The framework is divided into four composite activities to reduce the cost of authoring PBL experiences. The paper includes heuristics and examples to aid instructors in using our framework. The designed framework has successfully created four large-scale PBL experiences, each lasting three months and including teams of 16 students. The case study results and the interviewees’ perceptions indicate that the framework is useful for higher education study programs, coding boot camps, and onboarding corporate training programs.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

Data availability

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Links to supplementary data that further illustrate the framework’s use are embedded throughout the paper.

Notes

  1. The fourth 4 C/ID component is part-task practice. It defines focused practice opportunities for developing high automation when performing routine task aspects. This component is less relevant in software engineering, as highly repeatable and error-prone manual work is frequently automated using scripts.

  2. Most teams (roughly 50% over four years) started and ended with 16 students. Some had up to 17, while some lost a member or two as the course progressed. The smallest teams ended up with 12 members.

  3. The survey questions varied from year to year as the maturity of our design iteratively grew. For example, the first-year survey was populated with open-ended questions to identify themes in students’ sentiments. We used this insight to produce Likert-scale items for the second year to understand the prevalence of identified issues. We then added questions for prevalent issues and removed questions related to rare issues for the third year. We also had sections of the survey address other research concerns (e.g., teamwork challenges for the paper (Dorić et al., 2023)). Given the heterogeneity of the collected data and iterative improvements, we cannot succinctly present it here.

  4. We use italic in this section to point out activities or objects shown in Fig. 2.

  5. Instructors can traverse multiple levels of abstraction. For example, “modern IDE” is more concrete than “a tool for writing code”, while “a class with multiple fields of a basic type” is more concrete than “a code module with data”.

  6. Examples of supportive and procedural information are found here https://github.com/psw-ftn/supportive-information/tree/d2660e5f13908f30ab135abb3000cf9548784bb6/s1/w1. The content is written in Serbian, but a browser extension can give an imperfect translation to English.

  7. Effective hours were tracked using Toggl, a time management tool.

References

  • Adri, M., Wahyuni, T., Zakir, S., & Jama, J. (2020). Using ADDIE instructional model to design blended project-based learning based on production approach. International Journal of Advanced Science and Technology, 29(6), 1899–1909.

    Google Scholar 

  • Ambrose, S., Bridges, M., DiPietro, M., Lovett, M., & Norman, M. (2010). How learning works: Seven research-based principles for smart teaching. Wiley.

  • Ardis, M., Budgen, D., Hislop, G., Offutt, J., Sebern, M., & Visser, W. (2015). SE 2014: Curriculum guidelines for undergraduate degree programs in software engineering. Computer, 48(11), 106–109.

    Article  Google Scholar 

  • CC2020 Task Force. (2020). Computing Curricula 2020: Paradigms for global Computing Education. Association for Computing Machinery.

  • Chen, J., Kolmos, A., & Du, X. (2021). Forms of implementation and challenges of PBL in engineering education: A review of literature. European Journal of Engineering Education, 46(1), 90–115.

    Article  Google Scholar 

  • Cico, O., Jaccheri, L., Nguyen-Duc, A., & Zhang, H. (2021). Exploring the intersection between software industry and Software Engineering education-A systematic mapping of Software Engineering Trends. Journal of Systems and Software, 172, 110736.

    Article  Google Scholar 

  • Corbalan, G., Kester, L., & Van Merrienboer, J. (2011). Learner-controlled selection of tasks with different surface and structural features: Effects on transfer and efficiency. Computers in Human Behavior, 27(1), 76–81.

    Article  Google Scholar 

  • Costa, J. M., Miranda, G. L., & Melo, M. (2022). Four-component instructional design (4 C/ID) model: A meta-analysis on use and effect. Learning Environments Research, 25(2), 445–463.

    Article  Google Scholar 

  • De Vivo, K. (2022). A new research base for rigorous project-based learning. Phi Delta Kappan, 103(5), 36–41.

    Article  Google Scholar 

  • Delgado, D., Velasco, A., Aponte, J., & Marcus, A. (2017). Evolving a project-based software engineering course: A case study. IEEE 30th Conference on Software Engineering Education and Training (CSEE&T)

  • Dorić, L., Luburić, N., Slivka, J., & Kovačević, A. (2023). Understanding the Teamwork Challenges of Software Engineering Students. MIPRO ICT and Electronics Convention (MIPRO) Opatija.

  • Dron, J. (2023). How education works: Teaching, technology, and technique. Athabasca University.

  • Exter, M., Caskurlu, S., & Fernandez, T. (2018). Comparing computing professionals’ perceptions of importance of skills and knowledge on the job and coverage in undergraduate experiences. ACM Transactions on Computing Education (TOCE), 18(4), 1–29.

    Article  Google Scholar��

  • Faizi, J., & Umar, M. S. (2021). A conceptual framework for software engineering education: Project based learning approach integrated with industrial collaboration. International Journal of Education and Management Engineering, 11(5), 46–53.

    Article  Google Scholar 

  • Frerejean, J., Kirschner, P. A., Roex, A., Aertgeerts, B., & Marcellis, M. (2019). Designing instruction for complex learning: 4 C/ID in higher education. European Journal of Education, 54(4), 513–524.

    Article  Google Scholar 

  • Gary, K. (2015). Project-based learning. Computer, 48(9), 98–100.

    Article  Google Scholar 

  • Gupta, C. (2022). The impact and measurement of today’s learning technologies in teaching software engineering course using design-based learning and project-based learning. IEEE Transactions on Education, 65(4), 703–712.

    Article  Google Scholar 

  • Hattie, J. (2012). Visible learning for teachers: Maximizing impact on learning. Routledge.

  • IEEE Computer Society. (2014). A Software Engineering Competency Model (SWECOM). IEEE Computer Society.

  • Kanevsky, L., & Keighley, T. (2003). To produce or not to produce? Understanding boredom and the honor in underachievement. Roeper Review, 26(1), 20–28.

    Article  Google Scholar 

  • Kokotsaki, D., Menzies, V., & Wiggins, A. (2016). Project-based learning: A review of the literature. Improving Schools, 19(3), 267–277.

    Article  Google Scholar 

  • Larmer, J., Mergendoller, J., & Boss, S. (2015). Setting the standard for project based learning. ASCD.

  • Lavi, R., Tal, M., & Dori, Y. J. (2021). Perceptions of STEM alumni and students on developing 21st century skills through methods of teaching and learning. Studies in Educational Evaluation, 70, 101002.

    Article  Google Scholar 

  • Luburić, N., Sladić, G., Slivka, J., & Milosavljević, B. (2019). A framework for teaching security design analysis using case studies and the hybrid flipped classroom. ACM Transactions on Computing Education, 19(3), 1–19.

    Article  Google Scholar 

  • Luburić, N., Slivka, J., Sladić, G., & Milosavljević, G. (2021). The challenges of migrating an active learning classroom online in a crisis. Computer Applications in Engineering Education, 29(6), 1617–1641.

    Article  Google Scholar 

  • Luburić, N., Vidaković, D., Slivka, J., Prokić, S., Grujić, K. G., Kovačević, A., & Sladić, G. (2022). Clean Code Tutoring: Makings of a Foundation. International Conference on Computer Supported Education Prague.

  • Marcellis, M., Barendsen, E., & van Merriënboer, J. (2018). Designing a blended course in android app development using 4 C/ID. 18th Koli Calling International Conference on Computing Education Research

  • OECD (2019). OECD future of education and skills 2030: OECD learning compass 2030.

  • Ouhbi, S., & Pombo, N. (2020). Software engineering education: Challenges and perspectives. IEEE Global Engineering Education Conference (EDUCON). IEEE, (pp. 202–209).

  • Pelánek, R. (2020). Managing items and knowledge components: Domain modeling in practice. Educational Technology Research and Development, 68(1), 529–550.

    Article  Google Scholar 

  • Peng, J., Yuan, B., Sun, M., Jiang, M., & Wang, M. (2022). Computer-based scaffolding for sustainable project-based learning: Impact on high-and low-achieving students. Sustainability, 14(19), 12907.

    Article  Google Scholar 

  • Seaman, C. B. (1999). Qualitative methods in empirical studies of software engineering. IEEE Transactions on Software Engineering, 25(4), 557–572.

    Article  Google Scholar 

  • Shackleton-Jones, N. (2019). How people learn: Designing education and training that works to improve performance. Kogan Page.

  • Shull, F., Singer, J., & Sjøberg, D. I. (Eds.). (2007). Guide to advanced empirical software engineering. Springer Science & Business Media.

  • Siemens, G., Marmolejo-Ramos, F., Gabriel, F., Medeiros, K., Marrone, R., Joksimovic, S., & de Laat, M. (2022). Human and artificial cognition. Computers and Education: Artificial Intelligence, 3, 100107.

    Google Scholar 

  • Ståhl, D., Sandahl, K., & Buffoni, L. (2022). An eco-system approach to project-based learning in software engineering education. IEEE Transactions on Education, 65(4), 514–523.

    Article  Google Scholar 

  • Van Merriënboer, J., & Kirschner, P. (2017). Ten steps to complex learning: A systematic approach to four-component instructional design. Routledge.

  • Waller, V., Farquharson, K., & Dempsey, D. (2016). Qualitative social research: Contemporary methods for the digital age. SAGE.

  • Wieringa, R. J. (2014). Design science methodology for information systems and software engineering. Springer.

Download references

Acknowledgements

This research has been supported by the Ministry of Science, Technological Development and Innovation (Contract No. 451-03-65/2024-03/200156) and the Faculty of Technical Sciences, University of Novi Sad through project “Scientific and Artistic Research Work of Researchers in Teaching and Associate Positions at the Faculty of Technical Sciences, University of Novi Sad” (No. 01-3394/1).

Author information

Authors and Affiliations

Authors

Contributions

All authors contributed to the study conception and design. Nikola Luburić, Simona Prokić, and Luka Dorić executed the research. Nikola Luburić wrote the manuscript’s first draft and the rest of the authors refined the initial draft to produce the final manuscript. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Nikola Luburić.

Ethics declarations

Competing interests

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper. Our funders had no involvement in the study design, collection, analysis, and interpretation of the data, writing of the report, or the decision to submit the article for publication.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Luburić, N., Slivka, J., Dorić, L. et al. A framework for designing software engineering project-based learning experiences based on the 4 C/ID model. Educ Inf Technol (2024). https://doi.org/10.1007/s10639-024-12882-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10639-024-12882-x

Keywords

Navigation