Comparing Flowchart and Swim Lane Activity Diagram for Aiding Transitioning to Object-Oriented Implementation

Authors

  • A.Z. Umar Department of Software Engineering and Cyber Security, Al-Qalam University Katsina, Nigeria
  • M.M. Gumel Department of Computer Science and Information Technology, Al-Qalam University Katsina, Nigeria
  • H.S. Tuge Department of Software Engineering and Cyber Security, Al-Qalam University Katsina, Nigeria

DOI:

https://doi.org/10.54536/ajet.v1i2.612

Keywords:

Flowchart, Programming Pedagogy, Swim Lane Activity Diagram, Teaching OOP

Abstract

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

Download data is not yet available.

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

2022-09-30

How to Cite

Armaya'u , Z. U., Gumel, M. M. ., & Tuge, H. S. (2022). Comparing Flowchart and Swim Lane Activity Diagram for Aiding Transitioning to Object-Oriented Implementation. American Journal of Education and Technology, 1(2), 99–106. https://doi.org/10.54536/ajet.v1i2.612