Artical 612

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Page 1

Volume 1 Issue 2, Year 2022


ISSN: 2832-9481 (Online)
American Journal of DOI: https://doi.org/10.54536/ajet.v1i2.612
Education and Technologies (AJET) https://journals.e-palli.com/home/index.php/ajet

Comparing Flowchart and Swim Lane Activity Diagram for Aiding Transitioning to
Object-Oriented Implementation
A.Z. Umar1*, M.M. Gumel2, H.S. Tuge1

Article Information ABSTRACT


Object Oriented Programming (OOP) paradigm is one of the programming styles that
Received: September 17, 2022 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 Ori-
Accepted: September 28, 2022 ented approach to programming. This paper hypothesizes that introducing Object Oriented
(OO) notations to students during the design phase will smoothen their transition to Object
Published: September 30, 2022 Oriented Programming. To test the hypothesis, an experiment was conducted with the stu-
dents of Al-Qalam University Katsina, Nigeria. The participating students were divided into
Keywords 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
Flowchart, Programming which swim lane activity diagram, as Object Oriented notation, was introduced to them at
Pedagogy, Swim Lane Activity the design phase. Both groups were later introduced to Class Responsibility Collaborators
Diagram, Teaching OOP (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). Unex-
pectedly, 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.

INTRODUCTION the implementation space(Bucci et al., 2002; Evans, 2004)


Computer programming is an important skill across because the program is conceptualized as a collection of
diverse fields and disciplines and even more so for objects interacting to achieve a common goal(Hourani
Computing Science students. As computers are et al., 2019). Similarly, programs developed using OOP
becoming more pervasive, the skill is one of the necessary are easier to maintain because objects are easier to trace
requirements for continuous automation of the modern and update (G. Antoniol et al., 2001; Giulio Antoniol et
world as well as for the maintenance of the already al., 2000; Bianchi et al., 2000). Further, OOP provides
automated systems. For computing based disciplines additional support for code reuse through inheritance and
such as Computer Science and Software Engineering, additional support for flexibility through polymorphism
programming courses are taught at many levels - from (Daly et al., 1996).
the year of entry to the year of graduation. Despite the With OOP, professional software developers enjoy
criticality of programming, acquiring the skills remains a plethora of supports. For example, in testing, there
challenge for many students(Mehmood et al., 2020). exist unit testing frameworks (Daka & Fraser, 2014); in
Although there are many reasons why students struggle mapping objects to records in a relational database, there
with programming(Oroma et al., 2012; Qian et al., 2017; exist Object Relational Mapping frameworks (Torres et
Sheard et al., 2009) the following are the most relevant to al., 2017); in design, there exists a collection of design
this paper: patterns to solve similar recurring problems (Gamma
i. The cognitive intensity that is required to learn the et al., 1995); in source code organization, there exists
low-level details of programming. guidelines and tool support for refactoring (Daughtry III
ii. Pedagogically, students have been literary dragged to & Kannampallil, 2005; Martin, 2018).
it (the programming). As the saying goes that a picture may be worth
For the low level details inhibiting the comprehension more than a thousand words, it was envisaged that
of programming as outlined in (i) above, over the years diagraming will improve comprehension of computer
programming languages have evolved in which the level of programming (Smetsers-Weeda & Smetsers, 2017) as
abstraction has been raised. In the process of abstraction pictorial representation simultaneously raises the level of
evolution, many programming styles/paradigms emerged. abstraction from low to high and can be used to improve
One of the emerged paradigms is the Object Oriented over teaching pedagogy. Consequently, diagrams were
Programming (OOP) paradigm developed out of the also introduced to represent the design of a solution that
desire to manage complexity and improve productivity will be implemented as a computer program. One of the
Page 99

in software development. It is a programming style that diagrams used for the design is Flowchart. Similarly, one
uses real world “objects” to design computer programs. of the diagrams used for OO design is Activity Diagram
OOP reduces the conceptual gap from the design space to and some of the notations used in documenting OO
1
Department of Software Engineering and Cyber Security, Al-Qalam University Katsina, Nigeria
2
Department of Computer Science and Information Technology, Al-Qalam University Katsina, Nigeria
*
Corresponding author’s e-mail: [email protected]
Am. J. Educ. Technol. 1(2) 99-106, 2022

implementation are Class Responsibility Collaborators constructs. They found that regular attendance at lectures
(CRC) models. We provide the details of the flowchart, was the most important factor, followed by the students’
the activity diagram, and the CRC in the Methodology section. interest in programming. Other factors that were found
to affect students’ performance in learning programming
Statement of the problem were positive perception about the programming and
In the introductory computing courses, students are the lecturers’ attitudes toward the students. Similarly,
expected to learn how to design solutions to computing Amnouychokanant et al., (Amnouychokanant et al.,
problems using notations such as flowcharts and then 2021) assessed the effect of students’ attitudes toward
subsequently learn how to translate the flowchart into programming and its learning performance but with
an algorithm to be implemented using the procedural different sets of research constructs. Some of the research
style of programming. Later, and in subsequent courses, constructs used and found to be significant predictors of
students are introduced to the OOP programming high-performance in programming were positive self-
style as another implementation alternative. However, efficacy and creativity.
since students were already accustomed to procedural There has been a continuous search for effective techniques
implementation and knew that the approach ‘works,’ they to teach OOP. For instance, Loksa et al., (Loksa et al.,
struggled to conceive objects when introduced later as a 2016) proposed an approach aimed at teaching student
viable alternative(Börstler et al., 2008; Cutts et al., 2019; problem solving skills. The approach put emphasis in
Kölling, 1999). Students already learned how to design creating an explicit mental model of the problem to be
solutions to problems without the concept of objects in solved and depicting the coding as a mere translation of
the scheme of things and were later required to transition the mental model. Other techniques introduced include
to Object Oriented implementation. One of the reasons visualizing the progress in creating the solution as well
for the struggle might be that they do not have a clue as explicit support for promptings to reflect on their
about objects in the design space but have been asked to strategies to solve the problem. Similarly, (Bucci et al.,
reflect them in the implementation space, which requires 2002) reported how they worked in transitioning from
unlearning the procedural style of implementation. the traditional imperative model to an Object Oriented
Thus, this paper aims to compare the effect of learning model of learning programming for over ten years and
flowcharts, as non OO design notation, and activity concluded that teaching Object Oriented programming
diagram (an OO based design notation) in transitioning is not as simple or “natural” but difficult to convey to the
to Object Oriented implementation. students the advantages and methodologies associated
with Object Oriented programming.
Research hypotheses Still on the search for effective pedagogies to teach
Given the above, we envisage that the students may find OOP,(Anfurrutia et al., 2017)Implemented Kolb’s learning
the transition easier if OO-notations were also introduced theory in visual programming environments in order to
to them while learning diagrammatic designs of solutions help students to become competent in Object Oriented
to computing problems (see Figure 1). As such, the paper programming. The authors analyzed the acceptance
hypothesized the following: by the students as well as its effect on their motivation.
• H1: Introducing activity diagrams to students at Kolb’s learning theory entails four cycles that learners
the design stage will improve their ease of transition to must undergo to acquire knowledge. The cycles are: (i)
Object Oriented implementation. carrying out a specific activity to have concrete experience
• H2: there is a difference between males and females (ii) reflecting on the experience from the carried out
in transitioning to Object Oriented design (OOD). activity, (iii) conceptualizing the theoretical aspects of the
The rest of the paper is organized as follows: Section 2.0 activity, and (iv) applying the knowledge acquired in new
presents the research works related to this paper. Section scenarios or situations. The visual environments used
3.0 explains the methodology adopted in this paper and were BlueJ and Greenfoot – another IDE for learning
begins with the clarification of the research constructs and teaching based on simulations or games. For the
and ends with the detailed settings and execution of the acceptance, students indicated that they would prefer
study. Section 4.0 discusses the results obtained and using the tools even though females’ responses were
highlights what could be threats to the validity of the more negative than males’. As for motivation, the results
research. Lastly, Section 5.0 concludes the paper. were not as good as the authors’ expected. However, the
approach does not consider the problem analysis space.
LITERATURE REVIEW In another study on the pedagogical approach to teaching
Existing studies mostly focus on the performance of OOP, (Uysal, 2012) explored the effects of ‘objects-first’
students in programming, generally, and not specifically and ‘objects-late’ methods of teaching Object Oriented
on OOP. For instance, Olalekan et al., (Akinola & Programming (OOP). The author experimented with
Nosiru, 2014) investigated the effect of students’ two groups of students. The scope of the course was
Page 100

attitudes on ease of learning programming. They used identical for the two groups but the structure of the
students’ attitudes such as regular attendance to lectures contents differed in sequence. Both the participants in
and interest in programming as some of the research the two groups used BlueJ IDE to eliminate the possible

https://journals.e-palli.com/home/index.php/ajet
Am. J. Educ. Technol. 1(2) 99-106, 2022

effects of different instructional tools. The objects first compared different aspects and experiences from Object
learners used all visual functionalities of BlueJ IDE while Oriented programming courses that were taught in the
the objects late learners started with only the text-based three (3) institutions. They found that all the institutions
interfaces of BlueJ and were instructed to use the visual use various forms of course delivery. This indicates that
support only in the last lectures. The study found that the a generic strategy for teaching transition to OOP has
learners instructed with the objects-first method achieved not been found yet. However, in all three (3) institutions,
higher learning outcomes. technology-enhanced learning tools (TEL) played a
In a similar context of smooth transitioning from process central role in the OOP courses offered. In particular,
engineering to process control engineering, (Vogel- BlueJ - an integrated development environment (IDE)
Heuser et al., 2003) explored the benefit of modeling. for learning OOP with Java language designed for
From the experiment they had conducted with students, educational purposes- was found to be used in all three
it turned out that the groups that previously modeled the institutions.
process had advantages in describing the several process
steps and structuring the Programmable Logic Controller METHODOLOGY
(PLC) program. Figure 1 represents the conceptual model of this paper.
In another exploratory study, (Ivanović et al., 2015) In the Figure, flowcharting represents the art of non
investigated different aspects of teaching introductory Object Oriented problem solving using flowcharts
courses on Object Oriented Programming at three while Activity diagraming represents the art of Object
(3) universities in different European countries. They Oriented problem solving using activity diagrams. Ease

Figure 1: Conceptual model

of transition to Object Oriented programming is assessed this paper in the context of representing a solution to
based on how well the class responsibility collaborators a computing problem. A flowchart is an approximate
(CRC) model is produced. We expect gender to play a representation of an algorithm to solve a specific
moderating role. computing problem.
To make the discussion in this section more concrete, A flowchart can be used to teach problem solving without
we introduce a trivial problem of manual booking of getting deep into the low-level details of complete
an appointment with a dentist. In the manual process, a syntaxes of a programming language so that learning can
patient calls the dental clinic. The receptionist receives be focused on the problem solving aspect. Flowchart-
the call and guides the patients on the available slots. based programming environments are also used to entice
The patient selects one of the available slots, which students to programming with the big picture of the
the receptionist will reserve and informs the patient of intended solution in their minds(Chen & Morris, 2005;
the appointed schedule. For brevity, we assume that Smetsers-Weeda & Smetsers, 2017).
the patient has already registered with the clinic. In this The flowchart in Figure 2 represents the design of an
section, we will discuss the background concepts with automated system to solve the problem of manually
the solutions to the stated problem using a flowchart, an booking of an appointment with a dentist as outlined
activity diagram, and class responsibility collaborators above. As shown in the figure, after starting the system, it
(CRC) cards. displays the list of available slots for patients to request an
appointment with a dentist. The patient would then select
Flowchart a slot and request its booking. The system then checks
A flowchart is a diagrammatic representation of steps to to confirm if the slot has not been reserved for other
Page 101

solving a given problem. Although it can also be used patients since, due to time lag, another patient might have
for other things such as the analysis of the problem requested and booked the selected slot. If the slot has
or documentation of a process, we use a flowchart in already been taken, the system returns the patient to the

https://journals.e-palli.com/home/index.php/ajet
Am. J. Educ. Technol. 1(2) 99-106, 2022

list of available slots otherwise the system will reserve the Activity Diagram
slot and send a notification email to the patient. Lastly, The activity diagram is one of the behavioural
the booking information shall be displayed to the patient. diagrams of Unified Modelling Language (UML).

Figure 2: Flowchart illustration of a dentist booking system


It is similar to the flowchart as it can be used to in model-driven engineering (MDA) in the sense that
diagrammatically represent a series of actions or flow of they could also be transformed into other models or
control to solve a given problem. Similarly, it can be used executable (Zhang et al., 2012). The diagram may as well
for other things such as modelling business processes or be recovered from Object Oriented source codes through
behavioural descriptions of a use case diagram(Jeyaraj & reverse engineering(Martinez et al., 2011).
Sauter, 2014; Khaled AbdElazim et al., 2020). Figure 3 is an activity diagram that represents the same
Swim lane activity is an activity diagram that is used to solution depicted in Figure 2 as Flowchart. It is a swim
show which system actor is responsible for what, in lane activity diagram because the responsibilities are
addition to the representation of the series of actions or indicated under the System and Patient as the main actors.
flow of control to solve the problem. Thus, the presence
of objects as well as their high level responsibilities can Class Responsibility Collaboration (CRC)
be captured explicitly as system actors on the diagram. Class Responsibilities Collaborators (CRC) was invented
Swim lane activity diagrams are also powerful models by Ward Cuningham and Kent Beck(Beck & Cunningham,

Figure 3: Swim lane activity diagram representing the design of a dentist booking system

1989; Cunningham & Beck, 1986) as an approach to A class represents a template from which similar objects
discovering and documenting objects in OO design. CRC are created, responsibility is something that a class knows
Page 102

was initially designed to simplify learning OOP but has or does, and a collaborator is another class that a class
also been used in professional software development interacts with to fulfill its responsibilities. CRC card is
such as Agile’s eXtreme Programming (XP)(Beck, 1999). a 3x5 index card and is partitioned into three: the first

https://journals.e-palli.com/home/index.php/ajet
Am. J. Educ. Technol. 1(2) 99-106, 2022

and the topmost portion is a row in which the name of Thus, as shown in Figure 4, five initial classes were
the class being considered is represented; the second and identified as Patient, DentalBookingManager, Slot,
the leftmost portion, represent the responsibilities of that BookedSlot, and Dentist.
class; the third portion represents the collaborators that CRC can be regarded as an implementation model as
the class will need to complete its responsibilities. Figure the major activity for OO implementation is identifying
4 presents the major CRC cards derivable from the swim classes, their responsibilities, and collaborators without
lane activity diagram of Figure 3. resorting to implementation details. We could have used

Figure 4: CRC cards for objects implementing the dentist booking system in OOP

a class model instead but a study had found that students groups as part of her final year project.
are more keen with CRC than the class diagram (Gray The students were tested four (4) times within one week,
et al., 2003). Further, a correctly designed CRC can be each with a new problem. The reason for repeating the
implemented as an OOP program with relative ease. tests was to reduce the random noise and uncover the
actual performance. In all the tests, the performances
Study Setting of the students were measured in terms of how well
An experiment was conducted with year one students they translated the flowchart or activity diagram, as the
of Al-Qalam University Katsina, Nigeria drew using a case may be, to class responsibility collaborators (CRC)
sample of convenience as only volunteers were recruited. cards. That is, students in the different groups were
The population of the study was Computer Science asked the same question but with different notations to
and Software Engineering students enrolled in the transitioning to CRC.
Introduction to Problem Solving course (module). The The experiment was treated as a 2 X 4 factorial design.
study recruited two groups of students: the Flowchart Group was a between-subject factor with two levels
group consists of seventeen (17) students enrolled to (Flowchart vs Activity Diagram). The within-subject
study B.Sc. The Computer Science and Activity Diagram factor was the test which has four levels (test1, test2,
group comprises seventeen (17) students enrolled to test3, and test4). Data collected from the experiment
study B.Sc. Software Engineering. All the students had were students’ age, gender, and the scores of the tests.
taken Introduction to Computer Science in the previous
semester. The distinct groups of the students were RESULTS
briefed about the motive of the experiment. In the two groups, there were a total of twenty-one
The students in the Flowchart group were taught flowcharts (21) male students and thirteen (13) female students.
for a week and then preceded to learn Class Responsibility However, five (5) female and three (3) male performance
Collaboration (CRC) for another week. Students were records were removed before the analysis because they
then taught how to translate flowcharts to CRC cards for were absent in some of the tests. Therefore, assessments
two weeks. Hence, the first group transitioned to Object of only twenty-four (24) students were analysed. Since
Oriented implementation from procedural notations. the study was repeated four (4) times, we still had 96 data
The students in the Activity Diagram group were taught points that were subjected to the analysis.
the swim-lane activity diagram for a week and then The scores for the individual students ranged from 50 to
preceded to learn class responsibility collaboration (CRC) 100 with the overall (grand) average score as 82.01. The
for another week. Students were then taught how to means scores of the four different tests range from 78.85
translate the swim lane activity diagram to CRC cards for to 84.39 but the difference was not statistically significant
Page 103

two weeks. Therefore, the second group transitioned to F(1, 3)=1.424, P=0.242. However, the means scores
Object Oriented implementation from Object Oriented for all the four tests were significantly higher than the
design. A final-year undergraduate student taught both expected mean score of 50 to 55 obtained from historical

https://journals.e-palli.com/home/index.php/ajet
Am. J. Educ. Technol. 1(2) 99-106, 2022

scores of computing courses (t1(25)=14.61, p=0.000; be conducted with large and (semi)randomised samples.
t2(25)=15.22, p=0.000; t3(25)=17.87, p=0.000; t4(25)
=13.86, p=0.000). Threat to Validity
In the first, second, and fourth tests, the means for the It may be argued that the activity diagram may not be
males were 85.61, 80.83, and 83.06 respectively. The means the right notation to test the ease of transitioning from
for females were 81.63, 74.38, and 80.63 respectively. procedural style as previous studies mostly used Integrated
Thus, the means for the male were higher. In contrast, in Development Environments (IDEs) (Anfurrutia et
the third test, the means for females were slightly higher al., 2017; Ivanović et al., 2015; Uysal, 2012). However,
which was 83.13 against males’ 82.22. However, there using IDEs assumed that students already know how
was no significant interaction between gender and the to design solutions before their implementation using a
performance F(1,3) = 0.531, p=0.663. specific programming environment. Our study focused
In the first, second, and third tests, the mean for the on problem-solving without the cumbersome aspect
Flowchart group were 86.0, 84.55, and 85.46 respectively, of learning syntaxes of any programming language.
while for the Activity Diagram group the means were 83.2, In addition, modeling using, diagrammatic notation,
74.67, and 80.33 respectively. Thus, the means for the helps in bringing out the big picture of the intended
Flowchart group were higher than the expected outcome. solution(Vogel-Heuser et al., 2003).
In the fourth test, the means were comparably very close: There was a chance of sampling error as the students’
for the Flowchart Group 82.27 while for the Activity Diagram average scores were significantly high. Nevertheless, since
group 82.33. the individual scores ranged from 50 to 100 and there
In addition to the quantitative results analyzed above, was a total of 96 data points, any variations between the
the second author also profiled students’ mistakes. In the groups that were not down to chance should have been
Flowchart group, students found it difficult to distinguish detected. However, further study with large and (semi)
between input/output and process symbol as both were randomised samples may give better insight. Similarly,
used interchangeably. They were also not bothered to put the results may not be generalizable as the participated
the stop symbols at the end of the flowchart. Lastly, they students were mainly novices. Nonetheless, different
use directional arrows inappropriately. For the Activity backgrounds do not necessarily matter(VVilner et al.,
Diagram group, Students struggle with specifying the 2007).
different actors in the different columns of the diagram.
They mistook the end node and the end node. Lastly, they CONCLUSION
often place a process in a column it does not belong to. When learners were already accustomed to the procedural
Nonetheless, the students in both groups were making implementation style, they may struggle to conceive objects
similar mistakes in the CRC such as skipping some of in object oriented programming despite the advantage
the responsibilities, interchanging the position of the of the Object Oriented style over the procedural style.
responsibilities and collaborators, and not writing the This paper conceived that introducing Object Oriented
class name. modeling at the solution design phase may help ease the
transition to Object Oriented programming. Thus, the
DISCUSSION paper experimented to test the effect of object oriented
It might be observed that the average score of the modeling in easing the transition to Object Oriented
participants students was remarkably high considering style. The results show that introducing the Object
the rate of failure in computer programming and problem Oriented modeling will not achieve that desired effect as
solving related ourse(Omeh & Olelewe, 2021); It might be expected. The paper suggests further studies with large
the case that only high-performing students volunteered and randomise sample.
to participate in the study. Similar to the studies in
(Amnouychokanant et al., 2021; Omeh & Olelewe, REFERENCES
2021), no significant interaction between gender and the Akinola, O. S., & Nosiru, K. A. (2014). Factors Influencing
performance. Thus, we reject the hypothesis that there is Students’ Performance in Computer Programming: A
a difference between males and females in transitioning to fuzzy Set Operations Approach. International Journal of
Object Oriented design (OOD). The findings contrast Advances in Engineering & Technology, 7(4), 1141–1149.
with the results obtained in(Anfurrutia et al., 2017) where http://www.e-ijaet.org/media/3I22-IJAET0721391_
males’ and females’ preferences differed significantly. v7_iss4_1141-1149.pdf
Similar to the results obtained in (VVilner et al., 2007), Amnouychokanant, V., Boonlue, S., Chuathong, S.,
there was no significant interaction between the different & Thamwipat, K. (2021). A Study of First-Year
groups and the performance (F(1, 3) = 1.160, p=0.331). Students’ Attitudes toward Programming in the
Consequently, we reject the hypothesis that introducing Innovation in Educational Technology Course.
activity diagrams to students at the design stage will Education Research International, 2021. https://doi.
Page 104

improve their ease of transition to Object Oriented org/10.1155/2021/9105342


implementation. It likely that the sample used in the Anfurrutia, F. I., Alvarez, A., Larranaga, M., & Lopez-
study was not large enough. Thus, further study should Gil, J. M. (2017). Visual Programming Environments

https://journals.e-palli.com/home/index.php/ajet
Am. J. Educ. Technol. 1(2) 99-106, 2022

for Object-Oriented Programming: Acceptance software. In: Empirical Studies of Programmers:


and Effects on Student Motivation. IEEE Revista Sixth Workshop. Core.Ac.Uk. https://core.ac.uk/
Iberoamericana de Tecnologias Del Aprendizaje, 12(3), 124– download/pdf/9015758.pdf
131. https://doi.org/10.1109/RITA.2017.2735478 Daughtry III, J. M., & Kannampallil, T. G. (2005).
Antoniol, G., Canfora, G., Casazza, G., & De Lucia, A. Refactoring to Patterns. In The Journal of Object
(2001). Maintaining traceability links during object- Technology, 4,(4). https://doi.org/10.5381/jot.2005.4.4.r2
oriented software evolution. Software: Practice and Evans, E. (2004). Domain-driven design: tackling complexity in
Experience, 31(4), 331–355. https://doi.org/10.1002/ the heart of software. Addison-Wesley Professional.
SPE.374 Gamma, E., Helm, R., Johnson, R., Johnson, R. E.,
Antoniol, Giulio, Caprile, B., Potrich, A., & Tonella, P. & Vlissides, J. (1995). Design patterns: elements
(2000). Design-code traceability for object-oriented of reusable object-oriented software. In Pearson
systems. Annals of Software Engineering 2000 9:1, 9(1), Deutschland GmbH.
35–58. https://doi.org/10.1023/A:1018916522804 Gray, K. A., Guzdial, M., & Rugaber, S. (2003).
Beck, K. (1999). Extreme Programming Explained: Embrace Extending CRC cards into a complete design process.
Change, addison-wesley professional. ACM SIGCSE Bulletin, 35(3), 226. https://doi.
Beck, K., & Cunningham, W. (1989). A laboratory org/10.1145/961576.961582
For Teaching Object-Oriented Thinking. ACM Hourani, H., Wasmi, H., & Alrawashdeh, T. (2019). A code
SIGPLAN Notices, 24(10), 1–6. https://doi. complexity model of object oriented programming
org/10.1145/74878.74879 (OOP). 2019 IEEE Jordan International Joint Conference
Bianchi, A., Fasolino, A. R., & Visaggio, G. (2000). on Electrical Engineering and Information Technology, JEEIT
An exploratory case study of the maintenance 2019 - Proceedings, 560–564. https://doi.org/10.1109/
effectiveness of traceability models. Proceedings - IEEE JEEIT.2019.8717448
Workshop on Program Comprehension, 2000-January, 149– Ivanović, M., Xinogalos, S., Pitner, T., & Savić, M.
158. https://doi.org/10.1109/WPC.2000.852489 (2015). Different aspects of delivering programming
Börstler, J., Nordström, M., Kallin Westin, L., Moström, courses-Multinational experiences. ACM International
J. E., & Eliasson, J. (2008). Transitioning to OOP/ Conference Proceeding Series, 02-04-September-2015.
Java — A Never Ending Story. Lecture Notes in https://doi.org/10.1145/2801081.2801085
Computer Science (Including Subseries Lecture Notes in Jeyaraj, A., & Sauter, V. L. (2014). Validation of Business
Artificial Intelligence and Lecture Notes in Bioinformatics), Process Models Using Swimlane Diagrams. Journal of
4821 LNCS, 80–97. https://doi.org/10.1007/978-3- Information Technology Management, 25(4), 27–37.
540-77934-6_8 Khaled AbdElazim, D., Moawad, R., Elfakharany, E.,
Bucci, P., Heym, W., Long, T. J., & Weide, B. W. (2002). Widasuria Abu Bakar, N., Musa, S., & Hadi Mohamad,
Algorithms and object-oriented programming: A. (2020). A Mini Comparative Study of Requirements
Bridging the gap. SIGCSE Bulletin (Association Modelling Diagrams towards Swimlane: Evidence
for Computing Machinery, Special Interest Group on of Enterprise Resource Planning System. Journal of
Computer Science Education), 302–306. https://doi. Physics: Conference Series, 1529(5), 052054. https://doi.
org/10.1145/563517.563459 org/10.1088/1742-6596/1529/5/052054
Chen, S., & Morris, S. (2005). Iconic programming Kölling, M. (1999). The problem of teaching object-
for flowcharts, java, turing, etc. ACM oriented programming. Engineering, 11(9), 6–12.
SIGCSE Bulletin, 37(3), 104–107. https://doi. Loksa, D., Ko, A. J., Jernigan, W., Oleson, A., Mendez, C.
org/10.1145/1151954.1067477 J., & Burnett, M. M. (2016). Programming, problem
Cunningham, W., & Beck, K. (1986). A diagram for object- solving, and self-awareness: Effects of explicit
oriented programs. ACM SIGPLAN Notices, 21(11), guidance. Dl.Acm.Org, 1449–1461. https://doi.
361–367. https://doi.org/10.1145/960112.28734 org/10.1145/2858036.2858252
Cutts, Q., Barr, M., Bikanga Ada, M., Donaldson, P., Martin, F. (2018). Refactoring: improving the design of
Draper, S., Parkinson, J., Singer, J., & Sundin, L. existing code. In Addison-Wesley Professional.
(2019). Experience report: Thinkathon - Countering Martinez, L., Pereira, C., & Favre, L. (2011). Recovering
an “I got it working” mentality with pencil-and-paper Activity Diagrams from Object Oriented Code : an
exercises. Annual Conference on Innovation and Technology MDA-based Approach. Proc. Intl. Conf. on Software
in Computer Science Education, ITiCSE, 203–209. Engineering Research and Practice.
https://doi.org/10.1145/3304221.3319785 Mehmood, E., Abid, A., Farooq, M. S., & Nawaz, N.
Daka, E., & Fraser, G. (2014). A survey on unit testing A. (2020). Curriculum, Teaching and Learning,
practices and problems. Proceedings-International and Assessments for Introductory Programming
Symposium on Software Reliability Engineering, ISSRE, Course. IEEE Access, 8, 125961–125981. https://doi.
201–211. https://doi.org/10.1109/ISSRE.2014.11 org/10.1109/ACCESS.2020.3008321
Page 105

Daly, J., Brooks, A., Miller, J., Roper, M., & Wood, M. Omeh, C. B., & Olelewe, C. J. (2021). Assessing the
(1996). An empirical study evaluating depth of Effectiveness of Innovative Pedagogy and Lecture
inheritance on the maintainability of object-oriented Method on Students Academic Achievement

https://journals.e-palli.com/home/index.php/ajet
Am. J. Educ. Technol. 1(2) 99-106, 2022

and Retention in Computer Programming. Torres, A., Galante, R., Pimenta, M. S., & Martins, A. J. B.
Education Research International, 2021. https://doi. (2017). Twenty years of object-relational mapping: A
org/10.1155/2021/5611033 survey on patterns, solutions, and their implications
Oroma, J. O., Wanga, H. P., Ngumbuke, F., & Wanga, on application design. Information and Software
H. (2012). Challenges of teaching and learning computer Technology, 82, 1–18. https://doi.org/10.1016/J.
programming in developing countries: lessons from Tumaini INFSOF.2016.09.009
University. https://doi.org/10.13140/2.1.3836.6407 Uysal, M. P. (2012). The effects of objects-first and
Qian, Y., Lehman, J., Qian, Y., & Lehman, J. (2017). objects-late methods on achievements of OOP
Students’ misconceptions and other difficulties in learners. Journal of Software Engineering and Applications,
introductory programming: A literature review. ACM 5(10), 816. https://www.scirp.org/html/23962.
Transactions on Computing Education, 18(1). https://doi. html?pagespeed=noscript
org/10.1145/3077618 Vogel-Heuser, B., Friedrich, D., & Bristol, E. H. (2003).
Rentsch, T. (1982). Object oriented programming. Evaluation of Modeling Notations for Basic Software
ACM SIGPLAN Notices, 17(9), 51–57. https://doi. Engineering in Process Control. IECON Proceedings
org/10.1145/947955.947961 (Industrial Electronics Conference), 3, 2209–2214. https://
Sheard, J., Simon, Hamilton, M., & Lönnberg, J. (2009). doi.org/10.1109/IECON.2003.1280586
Analysis of research into the teaching and learning of VVilner, T., Zur, E., & Gal-Ezer, J. (2007). Fundamental
programming. ICER’09 - Proceedings of the 2009 ACM concepts of CS1: procedural vs. object oriented
Workshop on International Computing Education Research, paradigm-a case study. ACM SIGCSE Bulletin, 39(3),
93–104. https://doi.org/10.1145/1584322.1584334 171–175.
Smetsers-Weeda, R., & Smetsers, S. (2017). Problem Zhang, W., Wang, Z., Zhao, W., Yang, Y., & Xin, X. (2012).
solving and algorithmic development with flowcharts. Generating Executable Capability Models for Requirements
ACM International Conference Proceeding Series, 25–34. Validation. https://doi.org/10.4304/jsw.7.9.2046-2052
https://doi.org/10.1145/3137065.3137080

Page 106

https://journals.e-palli.com/home/index.php/ajet

You might also like