Formation of software design skills among software engineering students

Authors

  • Andrii M. Striuk Kryvyi Rih National University

DOI:

https://doi.org/10.31812/educdim.4519

Keywords:

software engineering, software design, professional training of software engineering students, software design skills SE bachelors

Abstract

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

Download data is not yet available.

Metrics

Metrics Loading ...

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 DOI: https://doi.org/10.1109/FIE.2011.6142889

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 DOI: 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 DOI: 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 DOI: 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 DOI: 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 DOI: 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 DOI: 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 DOI: https://doi.org/10.1145/2534860

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 DOI: 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 DOI: 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) DOI: https://doi.org/10.7551/mitpress/10612.001.0001

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 DOI: 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 DOI: 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) DOI: https://doi.org/10.31812/123456789/2880

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 DOI: 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 DOI: 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 DOI: https://doi.org/10.1109/FIE.2017.8190735

Published

15-06-2022

How to Cite

Striuk, A. (2022). Formation of software design skills among software engineering students. Educational Dimension, 58, 1–21. https://doi.org/10.31812/educdim.4519

Issue

Section

History of Education, Learning and Training