Comparing Flowchart and Swim Lane Activity Diagram for Aiding Transitioning to Object-Oriented Implementation
DOI:
https://doi.org/10.54536/ajet.v1i2.612Keywords:
Flowchart, Programming Pedagogy, Swim Lane Activity Diagram, Teaching OOPAbstract
Object Oriented Programming (OOP) paradigm is one of the programming styles that emerged in response to the challenge of designing complex software. However, students find it hard to conceptualize objects when they were already accustomed to non Object Oriented approach to programming. This paper hypothesizes that introducing Object Oriented (OO) notations to students during the design phase will smoothen their transition to Object Oriented Programming. To test the hypothesis, an experiment was conducted with the students of Al-Qalam University Katsina, Nigeria. The participating students were divided into two groups: (i) Flowchart group - representing the classical approach where flowcharts were used to design solutions. (ii) Activity Diagram group - which represents the control group in which swim lane activity diagram, as Object Oriented notation, was introduced to them at the design phase. Both groups were later introduced to Class Responsibility Collaborators (CRC) cards as an Object Oriented implementation model. The students were tested, four different times, on how well they converted flowcharts or activity diagrams, as the case may be, into Class Responsibility Collaborators cards, and their performances were recorded. The results were analyzed using Repeated Measure Analysis of Variance (ANOVA). Unexpectedly, the Flowchart group outperformed the Activity Diagram group but the results were not statistically significant. Similarly, there was no statistical difference between males’ and females’ performances.
Downloads
References
Akinola, O. S., & Nosiru, K. A. (2014). Factors Influencing Students’ Performance in Computer Programming: A fuzzy Set Operations Approach. International Journal of Advances in Engineering & Technology, 7(4), 1141–1149. http://www.e-ijaet.org/media/3I22-IJAET0721391_v7_iss4_1141-1149.pdf
Amnouychokanant, V., Boonlue, S., Chuathong, S., & Thamwipat, K. (2021). A Study of First-Year Students’ Attitudes toward Programming in the Innovation in Educational Technology Course. Education Research International, 2021. https://doi.org/10.1155/2021/9105342
Anfurrutia, F. I., Alvarez, A., Larranaga, M., & Lopez-Gil, J. M. (2017). Visual Programming Environments for Object-Oriented Programming: Acceptance and Effects on Student Motivation. IEEE Revista Iberoamericana de Tecnologias Del Aprendizaje, 12(3), 124–131. https://doi.org/10.1109/RITA.2017.2735478
Antoniol, G., Canfora, G., Casazza, G., & De Lucia, A. (2001). Maintaining traceability links during object-oriented software evolution. Software: Practice and Experience, 31(4), 331–355. https://doi.org/10.1002/SPE.374
Antoniol, Giulio, Caprile, B., Potrich, A., & Tonella, P. (2000). Design-code traceability for object-oriented systems. Annals of Software Engineering 2000 9:1, 9(1), 35–58. https://doi.org/10.1023/A:1018916522804
Beck, K. (1999). Extreme Programming Explained: Embrace Change, addison-wesley professional.
Beck, K., & Cunningham, W. (1989). A laboratory For Teaching Object-Oriented Thinking. ACM SIGPLAN Notices, 24(10), 1–6. https://doi.org/10.1145/74878.74879
Bianchi, A., Fasolino, A. R., & Visaggio, G. (2000). An exploratory case study of the maintenance effectiveness of traceability models. Proceedings - IEEE Workshop on Program Comprehension, 2000-January, 149–158. https://doi.org/10.1109/WPC.2000.852489
Börstler, J., Nordström, M., Kallin Westin, L., Moström, J. E., & Eliasson, J. (2008). Transitioning to OOP/Java — A Never Ending Story. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 4821 LNCS, 80–97. https://doi.org/10.1007/978-3-540-77934-6_8
Bucci, P., Heym, W., Long, T. J., & Weide, B. W. (2002). Algorithms and object-oriented programming: Bridging the gap. SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 302–306. https://doi.org/10.1145/563517.563459
Chen, S., & Morris, S. (2005). Iconic programming for flowcharts, java, turing, etc. ACM SIGCSE Bulletin, 37(3), 104–107. https://doi.org/10.1145/1151954.1067477
Cunningham, W., & Beck, K. (1986). A diagram for object-oriented programs. ACM SIGPLAN Notices, 21(11), 361–367. https://doi.org/10.1145/960112.28734
Cutts, Q., Barr, M., Bikanga Ada, M., Donaldson, P., Draper, S., Parkinson, J., Singer, J., & Sundin, L. (2019). Experience report: Thinkathon - Countering an “I got it working” mentality with pencil-and-paper exercises. Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE, 203–209. https://doi.org/10.1145/3304221.3319785
Daka, E., & Fraser, G. (2014). A survey on unit testing practices and problems. Proceedings-International Symposium on Software Reliability Engineering, ISSRE, 201–211. https://doi.org/10.1109/ISSRE.2014.11
Daly, J., Brooks, A., Miller, J., Roper, M., & Wood, M. (1996). An empirical study evaluating depth of inheritance on the maintainability of object-oriented software. In: Empirical Studies of Programmers: Sixth Workshop. Core.Ac.Uk. https://core.ac.uk/download/pdf/9015758.pdf
Daughtry III, J. M., & Kannampallil, T. G. (2005). Refactoring to Patterns. In The Journal of Object Technology, 4,(4). https://doi.org/10.5381/jot.2005.4.4.r2
Evans, E. (2004). Domain-driven design: tackling complexity in the heart of software. Addison-Wesley Professional.
Gamma, E., Helm, R., Johnson, R., Johnson, R. E., & Vlissides, J. (1995). Design patterns: elements of reusable object-oriented software. In Pearson Deutschland GmbH.
Gray, K. A., Guzdial, M., & Rugaber, S. (2003). Extending CRC cards into a complete design process. ACM SIGCSE Bulletin, 35(3), 226. https://doi.org/10.1145/961576.961582
Hourani, H., Wasmi, H., & Alrawashdeh, T. (2019). A code complexity model of object oriented programming (OOP). 2019 IEEE Jordan International Joint Conference on Electrical Engineering and Information Technology, JEEIT 2019 - Proceedings, 560–564. https://doi.org/10.1109/JEEIT.2019.8717448
Ivanović, M., Xinogalos, S., Pitner, T., & Savić, M. (2015). Different aspects of delivering programming courses-Multinational experiences. ACM International Conference Proceeding Series, 02-04-September-2015. https://doi.org/10.1145/2801081.2801085
Jeyaraj, A., & Sauter, V. L. (2014). Validation of Business Process Models Using Swimlane Diagrams. Journal of Information Technology Management, 25(4), 27–37.
Khaled AbdElazim, D., Moawad, R., Elfakharany, E., Widasuria Abu Bakar, N., Musa, S., & Hadi Mohamad, A. (2020). A Mini Comparative Study of Requirements Modelling Diagrams towards Swimlane: Evidence of Enterprise Resource Planning System. Journal of Physics: Conference Series, 1529(5), 052054. https://doi.org/10.1088/1742-6596/1529/5/052054
Kölling, M. (1999). The problem of teaching object-oriented programming. Engineering, 11(9), 6–12.
Loksa, D., Ko, A. J., Jernigan, W., Oleson, A., Mendez, C. J., & Burnett, M. M. (2016). Programming, problem solving, and self-awareness: Effects of explicit guidance. Dl.Acm.Org, 1449–1461. https://doi.org/10.1145/2858036.2858252
Martin, F. (2018). Refactoring: improving the design of existing code. In Addison-Wesley Professional.
Martinez, L., Pereira, C., & Favre, L. (2011). Recovering Activity Diagrams from Object Oriented Code : an MDA-based Approach. Proc. Intl. Conf. on Software Engineering Research and Practice.
Mehmood, E., Abid, A., Farooq, M. S., & Nawaz, N. A. (2020). Curriculum, Teaching and Learning, and Assessments for Introductory Programming Course. IEEE Access, 8, 125961–125981. https://doi.org/10.1109/ACCESS.2020.3008321
Omeh, C. B., & Olelewe, C. J. (2021). Assessing the Effectiveness of Innovative Pedagogy and Lecture Method on Students Academic Achievement and Retention in Computer Programming. Education Research International, 2021. https://doi.org/10.1155/2021/5611033
Oroma, J. O., Wanga, H. P., Ngumbuke, F., & Wanga, H. (2012). Challenges of teaching and learning computer programming in developing countries: lessons from Tumaini University. https://doi.org/10.13140/2.1.3836.6407
Qian, Y., Lehman, J., Qian, Y., & Lehman, J. (2017). Students’ misconceptions and other difficulties in introductory programming: A literature review. ACM Transactions on Computing Education, 18(1). https://doi.org/10.1145/3077618
Rentsch, T. (1982). Object oriented programming. ACM SIGPLAN Notices, 17(9), 51–57. https://doi.org/10.1145/947955.947961
Sheard, J., Simon, Hamilton, M., & Lönnberg, J. (2009). Analysis of research into the teaching and learning of programming. ICER’09 - Proceedings of the 2009 ACM Workshop on International Computing Education Research, 93–104. https://doi.org/10.1145/1584322.1584334
Smetsers-Weeda, R., & Smetsers, S. (2017). Problem solving and algorithmic development with flowcharts. ACM International Conference Proceeding Series, 25–34. https://doi.org/10.1145/3137065.3137080
Torres, A., Galante, R., Pimenta, M. S., & Martins, A. J. B. (2017). Twenty years of object-relational mapping: A survey on patterns, solutions, and their implications on application design. Information and Software Technology, 82, 1–18. https://doi.org/10.1016/J.INFSOF.2016.09.009
Uysal, M. P. (2012). The effects of objects-first and objects-late methods on achievements of OOP learners. Journal of Software Engineering and Applications, 5(10), 816. https://www.scirp.org/html/23962.html?pagespeed=noscript
Vogel-Heuser, B., Friedrich, D., & Bristol, E. H. (2003). Evaluation of Modeling Notations for Basic Software Engineering in Process Control. IECON Proceedings (Industrial Electronics Conference), 3, 2209–2214. https://doi.org/10.1109/IECON.2003.1280586
VVilner, T., Zur, E., & Gal-Ezer, J. (2007). Fundamental concepts of CS1: procedural vs. object oriented paradigm-a case study. ACM SIGCSE Bulletin, 39(3), 171–175.
Zhang, W., Wang, Z., Zhao, W., Yang, Y., & Xin, X. (2012). Generating Executable Capability Models for Requirements Validation. https://doi.org/10.4304/jsw.7.9.2046-2052
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2022 A.Z. Umar, M.M. Gumel, H.S. Tuge
This work is licensed under a Creative Commons Attribution 4.0 International License.