Formation of software design skills among software engineering students
DOI:
https://doi.org/10.31812/educdim.4519Keywords:
software engineering, software design, professional training of software engineering students, software design skills SE bachelorsAbstract
The study focuses on one of the mobile-oriented environment competence components for software engineering (SE) students. It has been demonstrated that the implementation of the higher education standard for SE bachelors has generated a number of issues in terms of ensuring training quality, principally due to a lack of specification for both skills and learning outcomes. Designing a precise framework of professional competencies for SE bachelors is one method to overcome these issues. The research examines methods for developing K14 (the ability to participate in software design, including modeling (formal description) of its structure, behavior, and working processes), a critical particular professional competency for future software engineers. Recommendations for software design teaching techniques, learning content, modeling and design tools, and assessment of the level of formation of relevant competence are developed based on a historical and genetic review of software design training among SE students in the UK, USA, Canada, Australia, New Zealand, and Singapore. The industrial-style software design training (studio training) is used as an example. The transition from architectural to detailed design, as well as project implementation, are discussed. The study's future prospects include substantiating the third engineering component of SE – software construction (after requirements engineering and design engineering).
Downloads
References
Ali, Z., Bolinger, J., Herold, M., Lynch, T., Ramanathan, J., Ramnath, R.: Teaching object-oriented software design within the context of software frameworks. In: 2011 Frontiers in Education Conference (FIE). pp. S3G–1–S3G–5 (2011). https://doi.org/10.1109/FIE.2011.614288920
Carrington, D.: Teaching software design and testing. In: FIE ’98. 28th Annual Frontiers in Education Conference. Moving from ’Teacher-Centered’ to ’Learner-Centered’ Education. Conference Proceedings (Cat. No.98CH36214). vol. 2, pp. 547–550 vol.2 (1998). https://doi.org/10.1109/FIE.1998.738732
CC2020 Task Force: Computing Curricula 2020: Paradigms for Global Computing Education. Association for Computing Machinery, New York, NY, USA (2020). https://doi.org/10.1145/3467967
Graham, R.M.: Teaching systems programming and software design: Problems and solutions. SIGCSE Bull. 2(3), 56–60 (nov 1970). https://doi.org/10.1145/873641.873652
Hamilton, Jr., J.A., Murtagh, J.L.: Teaching a real world software design approach within an academic environment. In: 2000 Annual Conference. p. 5.577.1–5.577.8. No. 10.18260/1-2–8739, ASEE Conferences, St. Louis, Missouri (June 2000), https://peer.asee.org/8739
Hu, C.: The nature of software design and its teaching: An exposition. ACM Inroads 4(2), 62–72 (jun 2013). https://doi.org/10.1145/2465085.2465103
Jarzabek, S.: Teaching advanced software design in team-based project course. In: 2013 26th International Conference on Software Engineering Education and Training (CSEE T). pp. 31–40 (2013). https://doi.org/10.1109/CSEET.2013.6595234
Jia, Y., Tao, Y.: Teaching software design using a case study on model transformation. In: 2009 Sixth International Conference on Information Technology: New Generations. pp. 702–706 (2009). https://doi.org/10.1109/ITNG.2009.114
Joint Task Force on Computing Curricula, IEEE Computer Society, Association for Computing Machinery: Software Engineering 2014: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering. A Volume of the Computing Curricula Series (2015), https://www.acm.org/binaries/content/assets/education/se2014.pdf
Lamm, E.: Booch’s Ada vs. Liskov’s Java: Two approaches to teaching software design. In: Rosen, J.P., Strohmeier, A. (eds.) Reliable Software Technologies — Ada-Europe 2003. pp. 102–112. Springer Berlin Heidelberg, Berlin, Heidelberg (2003). https://doi.org/10.1007/3-540-44947-7_7
Ministerstvo osvity i nauky Ukrainy: Pro zatverdzhennia standartu vyshchoi osvity za spetsialnistiu 121 “Inzheneriia prohramnoho zabezpechennia” dlia pershoho (bakalavrskoho) rivnia vyshchoi osvity (On approval of the standard of higher education in the specialty 121 “Software Engineering” for the first (bachelor’s) level of higher education) (2018), https://mon.gov.ua/storage/app/media/vishcha-osvita/zatverdzeni%20standarty/12/21/121-inzheneriya-programnogo-zabezpechennya-bakalavr.pdf
van Niekerk, J., Futcher, L.: The use of software design patterns to teach secure software design: An integrated approach. In: Bishop, M., Miloslavskaya, N., Theocharidou, M. (eds.) Information Security Education Across the Curriculum. pp. 75–83. Springer International Publishing, Cham (2015). https://doi.org/10.1007/978-3-319-18500-2_7
Pelevin, V.N.: Formirovanie professionalnoi kompetentnosti budushchikh bakalavrov po napravleniiu “Informatcionnye sistemy i tekhnologii” (Formation of professional competence of future bachelors in the direction of “Information systems and technologies”). Dissertation for degree of candidate of pedagogical sciences: 13.00.08 – theory and methods of vocational education, Ural State Technical University – UPI named after the first President of Russia B. N. Yeltsin (2010), https://elar.rsvpu.ru/handle/123456789/987
Petre, M., van der Hoek, A.: Software Design Decoded: 66 Ways Experts Think. The MIT Press, Cambridge (2016)
Pierce, K., Deneen, L., Shute, G.: Teaching software design in the freshman year. In: Tomayko, J.E. (ed.) Software Engineering Education. pp. 219–231. Springer Berlin Heidelberg, Berlin, Heidelberg (1991). https://doi.org/10.1007/BFb0024294
Semerikov, S., Striuk, A., Striuk, L., Striuk, M., Shalatska, H.: Sustainability in software engineering education: a case of general professional competencies. E3S Web of Conferences 166, 10036 (2020). https://doi.org/10.1051/e3sconf/202016610036
Striuk, A.M.: Software engineering: First 50 years of formation and development. CEUR Workshop Proceedings 2292, 11–36 (2018)
Striuk, A.M., Semerikov, S.O.: The dawn of software engineering education. CEUR Workshop Proceedings 2546, 35–57 (2019), http://ceur-ws.org/Vol-2546/paper02.pdf
Striuk, A.M., Semerikov, S.O., Shalatska, H.M., Holiver, V.P.: Software requirements engineering training: problematic questions. CEUR Workshop Proceedings pp. 3–11 (2022)
Tamburri, D.A., Razavian, M., Lago, P.: Teaching software design with social engagement. In: 2013 26th International Conference on Software Engineering Education and Training (CSEE T). pp. 61–69 (2013). https://doi.org/10.1109/CSEET.2013.6595237
Warren, I.: Teaching patterns and software design. In: Proceedings of the 7th Australasian Conference on Computing Education - Volume 42. p. 39–49. ACE ’05, Australian Computer Society, Inc., AUS (2005). https://doi.org/10.5555/1082424.1082430
Weiss, D.M.: Teaching a software design methodology. IEEE Transactions on Software Engineering SE-13(11), 1156–1163 (1987). https://doi.org/10.1109/TSE.1987.232864
Whittle, J., Bull, C.N., Lee, J., Kotonya, G.: Teaching in a software design studio: Implications for modeling education. CEUR Workshop Proceedings 1346, 12–21 (2014), http://ceur-ws.org/Vol-1346/edusymp2014_paper_1.pdf
Williams, C., Kurkovsky, S.: Raspberry Pi creativity: A student-driven approach to teaching software design patterns. In: 2017 IEEE Frontiers in Education Conference (FIE). pp. 1–9 (2017). https://doi.org/10.1109/FIE.2017.8190735
Downloads
Submitted
Published
Issue
Section
License
Copyright (c) 2022 Andrii M. Striuk
This work is licensed under a Creative Commons Attribution 4.0 International License.
How to Cite
Accepted 2022-06-15
Published 2022-06-15