Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2999541.2999559acmotherconferencesArticle/Chapter ViewAbstractPublication Pageskoli-callingConference Proceedingsconference-collections
research-article

Analyzing students' software redesign strategies

Published: 24 November 2016 Publication History

Abstract

The design of software is known to be difficult for novice computer scientists. In this paper, we focus on software redesign and on the refactoring necessary to implement a redesign. Redesigning an application aims to improve non-functional aspects such as extensibility, without changing the functionality. Redesign is a complex task, involving knowledge and skills from software design in general and the use of design patterns in particular. This study is part of an educational design research project aiming at developing scaffolding for students' software redesign activities in the form of procedural guidance. We investigated students' strategies and usage of concepts during a software redesign assignment using students' reports and team colllaboration recordings as data sources, thus focusing on the process instead of on the design results, in contrast with existing studies. We identified several difficulties that can serve as starting points for procedural guidance. For instance, students seem to avoid using a structured analysis method. Our findings indicate that students' activities were mainly directed towards the code rather than the design problem.

References

[1]
J. R. Anderson. Problem solving and learning. American Psychologist, 48(1):35, 1993.
[2]
C. J. Atman, J. R. Chimka, K. M. Bursic, and H. L. Nachtmann. A comparison of freshman and senior engineering design processes. Design Studies, 20(2):131--152, 1999.
[3]
J. B. Biggs and K. F. Collis. Evaluating the quality of learning: The SOLO taxonomy (Structure of the Observed Learning Outcome). Academic Press, New York, USA, 1982.
[4]
E. J. Braude. software design, from programming to architecture. John Wiley & Sons, 2006.
[5]
L. L. Bucciarelli. Reflective practice in engineering design. Design studies, 5(3):185--190, 1984.
[6]
A. Chatzigeorgiou, N. Tsantalis, and I. Deligiannis. An empirical study on students' ability to comprehend design patterns. Computers and Education, 51(3):1007 -- 1016, 2008.
[7]
L. Cohen, L. Manion, and K. Morrison. Research methods in education. London, New York: Routledge, 2013.
[8]
J. O. Coplien. Multi-Paradigm Design. PhD thesis, Vrije Universiteit Brussel, Faculteit Wetenschappen, Departement Informatica, 7 2000.
[9]
J. O. Coplien, D. Hoffman, and D. Weiss. Commonality and variability in software engineering. Software, IEEE, 15(6):37--45, 1998.
[10]
N. Cross. Expertise in design: an overview. Design studies, 25(5):427--441, 2004.
[11]
I. Darwin. Gui development with Java. Linux Journal, 1999(61es):4, 1999.
[12]
S. P. Davies. Models and theories of programming strategy. International Journal of Man-Machine Studies, 39(2):237--267, 1993.
[13]
C. Denzler and D. Gruntz. Design patterns: Between programming and software design. In Proceedings of the 30th International Conference on Software Engineering, ICSE '08, pages 801--804, New York, NY, USA, 2008. ACM.
[14]
A. Eckerdal, R. McCartney, J. E. Moström, M. Ratcliffe, and C. Zander. Can graduating students design software systems? ACM SIGCSE Bulletin, 38(1):403--407, 2006.
[15]
A. Eckerdal, R. McCartney, J. E. Moström, M. Ratcliffe, and C. Zander. Categorizing student software designs: Methods, results, and implications. Computer Science Education, 16(3):197--209, 2006.
[16]
P. Flores, N. Medinilla, and S. Pamplona. What do software design students understand about information hiding?: A qualitative case study. In Proceedings of the 14th Koli Calling International Conference on Computing Education Research, Koli Calling '14, pages 61--70, New York, NY, USA, 2014. ACM.
[17]
M. E. Fonteyn, B. Kuipers, and S. J. Grobe. A description of think aloud method and protocol analysis. Qualitative Health Research, 3(4):430--441, 1993.
[18]
M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the design of existing programs. Addison-Wesley Reading, 1999.
[19]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Pearson Education, 1994.
[20]
J. Garofalo and F. Lester. Metacognition, cognitive monitoring, and mathematical performance. Journal for Research in Mathematics Education, 16(3):163--176, May 1985.
[21]
P. Gestwicki and F.-S. Sun. Teaching design patterns through computer game development. J. Educ. Resour. Comput., 8(1):2:1--2:22, Mar. 2008.
[22]
D. H. Jonassen. Toward a design theory of problem solving. Educational technology research and development, 48(4):63--85, 2000.
[23]
J. Kerievsky. Refactoring to patterns. Pearson Deutschland GmbH, 2005.
[24]
P. A. Kirschner, J. Sweller, and R. E. Clark. Why minimal guidance during instruction does not work: An analysis of the failure of constructivist, discovery, problem-based, experiential, and inquiry-based teaching. Educational psychologist, 41(2):75--86, 2006.
[25]
C. Loftus, L. Thomas, and C. Zander. Can graduating students design: revisited. In Proceedings of the 42nd ACM technical symposium on Computer science education, pages 105--110. ACM, 2011.
[26]
T. Mens and T. Tourwé. A survey of software refactoring. IEEE Transactions on Software Engineering, 30(2):126--139, 2004.
[27]
J. J. Merriënboer and P. A. Kirschner. Ten Steps to Complex Learning. Taylor & Francis, New York, USA, second edition, 2013.
[28]
R. Or-Bach and I. Lavy. Cognitive activities of abstraction in object orientation: an empirical study. ACM SIGCSE Bulletin, 36(2):82--86, 2004.
[29]
F. Palma, H. Farzin, Y.-G. Guéhéneuc, and N. Moha. Recommendation system for design patterns in software development: An dpr overview. In Proceedings of the Third International Workshop on Recommendation Systems for Software Engineering, RSSE '12, pages 1--5, Piscataway, NJ, USA, 2012. IEEE Press.
[30]
R. D. Pea. The social and technological dimensions of scaffolding and related theoretical concepts for learning, education, and human activity. The journal of the learning sciences, 13(3):423--451, 2004.
[31]
T. Plomp. Educational design research: An introduction. In T. Plomp and N. Nieveen, editors, Educational design research, pages 10--51. Enschede: SLO, 2013.
[32]
S. I. Robertson. Problem Solving. University of Luton, UK, 2001.
[33]
A. Robins, J. Rountree, and N. Rountree. Learning and teaching programming: A review and discussion. Computer science education, 13(2):137--172, 2003.
[34]
A. Shalloway and J. R. Trott. Design patterns explained: a new perspective on object-oriented design. Pearson Education, 2004.
[35]
D. Skrien. Learning appreciation for design patterns by doing it the hard way first. Computer Science Education, 13(4):305--313, 2003.
[36]
S. Smith, S. Stoecklin, and C. Serino. An innovative approach to teaching refactoring. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, SIGCSE '06, pages 349--353, New York, NY, USA, 2006. ACM.
[37]
E. Soloway, J. Spohrer, and D. Littman. E unum pluribus: Generating alternative designs. In Teaching and Learning Computer Programming, pages 137--152. Lawrence Erlbaum Associates, 1988.
[38]
S. Stoecklin, S. Smith, and C. Serino. Teaching students to build well formed object-oriented methods through refactoring. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education, SIGCSE '07, pages 145--149, New York, NY, USA, 2007. ACM.
[39]
A. Strauss, J. Corbin, et al. Basics of qualitative research, volume 15. Newbury Park, CA: Sage, 1990.
[40]
S. Stuurman and G. Florijn. Experiences with teaching design patterns. ACM SIGCSE Bulletin, 36(3):151--155, 2004.
[41]
S. Stuurman, F. J. Wester, and M. Witsier-Vogel. Design patterns. Open Universiteit Nederland, 2002.
[42]
G. Suryanarayana, G. Samarthyam, and T. Sharma. Refactoring for Software Design Smells. Morgan Kaufmann, Elsevier, Waltham, MA, USA, 2015.
[43]
J. Tenenberg, S. Fincher, K. Blaha, D. Bouvier, T.-Y. Chen, D. Chinn, S. Cooper, A. Eckerdal, H. Johnson, R. McCartney, A. Monge, J. E. Moström, M. Petre, K. Powers, M. Ratcliffe, A. Robins, D. Sanders, L. Schwartzman, B. Simon, C. Stoker, A. E. Tew, and T. VanDeGrift. Students designing software: a multi-national, multi-institutional study. Informatics in Education, 4(1):143--162, 2005.
[44]
J. L. Whalley, R. Lister, E. Thompson, T. Clear, P. Robbins, P. Kumar, and C. Prasad. An Australasian study of reading and comprehension skills in novice programmers, using the Bloom and SOLO taxonomies. In Proceedings of the 8th Australasian Conference on Computing Education-Volume 52, pages 243--252. Australian Computer Society, Inc., 2006.

Cited By

View all
  • (2023)Multi-Institutional Multi-National Studies of Parsons ProblemsProceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3623762.3633498(57-107)Online publication date: 22-Dec-2023
  • (2023)Qualitative Requirements Elicitation of Student Requirements for Tool-supported Teaching of UML DiagramsProceedings of the 5th European Conference on Software Engineering Education10.1145/3593663.3593673(189-193)Online publication date: 19-Jun-2023
  • (2023)From Difficulties to Functional Requirements - Deriving Requirements from Literature about Tool-supported Teaching of UML Diagrams in Software Engineering EducationProceedings of the 5th European Conference on Software Engineering Education10.1145/3593663.3593672(184-188)Online publication date: 19-Jun-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Koli Calling '16: Proceedings of the 16th Koli Calling International Conference on Computing Education Research
November 2016
189 pages
ISBN:9781450347709
DOI:10.1145/2999541
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • Univ. Eastern Finland: University of Eastern Finland
  • Univ. Turku: University of Turku
  • Monash University, Australia: Monash University, Australia

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 November 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. design patterns
  2. education
  3. procedural guidelines
  4. redesign
  5. refactoring

Qualifiers

  • Research-article

Conference

Koli Calling 2016
Sponsor:
  • Univ. Eastern Finland
  • Univ. Turku
  • Monash University, Australia

Acceptance Rates

Koli Calling '16 Paper Acceptance Rate 21 of 57 submissions, 37%;
Overall Acceptance Rate 80 of 182 submissions, 44%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)5
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Multi-Institutional Multi-National Studies of Parsons ProblemsProceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3623762.3633498(57-107)Online publication date: 22-Dec-2023
  • (2023)Qualitative Requirements Elicitation of Student Requirements for Tool-supported Teaching of UML DiagramsProceedings of the 5th European Conference on Software Engineering Education10.1145/3593663.3593673(189-193)Online publication date: 19-Jun-2023
  • (2023)From Difficulties to Functional Requirements - Deriving Requirements from Literature about Tool-supported Teaching of UML Diagrams in Software Engineering EducationProceedings of the 5th European Conference on Software Engineering Education10.1145/3593663.3593672(184-188)Online publication date: 19-Jun-2023
  • (2022)Tool-supported teaching of UML diagrams in software engineering education - A systematic literature review2022 45th Jubilee International Convention on Information, Communication and Electronic Technology (MIPRO)10.23919/MIPRO55190.2022.9803560(1404-1409)Online publication date: 23-May-2022
  • (2022)Semi-automatic generation of textual exercises for software engineering education2022 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON52537.2022.9766802(51-56)Online publication date: 28-Mar-2022
  • (2021)Can we do better? a classification of algorithm run-time-complexity improvement using the SOLO taxonomyEducation and Information Technologies10.1007/s10639-021-10532-0Online publication date: 5-May-2021
  • (2020)Work-in-Progress: Towards detection and syntactical analysis in UML class diagrams for software engineering education2020 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON45650.2020.9125244(3-7)Online publication date: Apr-2020

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media