0% found this document useful (0 votes)
12 views6 pages

Comput Programm Teach Methods

This paper explores various teaching methods for computer programming in higher education, highlighting the challenges students face in mastering programming concepts. It compares different strategies, including problem-based learning, pair programming, and game-themed programming, and discusses their effectiveness in enhancing student engagement and understanding. The authors emphasize the importance of selecting appropriate teaching methods to improve learning outcomes and reduce dropout rates in programming courses.

Uploaded by

Fernando Utima
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views6 pages

Comput Programm Teach Methods

This paper explores various teaching methods for computer programming in higher education, highlighting the challenges students face in mastering programming concepts. It compares different strategies, including problem-based learning, pair programming, and game-themed programming, and discusses their effectiveness in enhancing student engagement and understanding. The authors emphasize the importance of selecting appropriate teaching methods to improve learning outcomes and reduce dropout rates in programming courses.

Uploaded by

Fernando Utima
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

An Overview of Computer Programming Teaching

Methods
Sanja Mohorovičić Vedran Strčić
Faculty of Maritime Studies Department of Informatics
University of Rijeka University of Rijeka
Studentska ulica 2, 51000 Rijeka, Croatia Omladinska 14, 51000 Rijeka, Croatia
sanja@[Link] vstrcic@[Link]

Abstract. This paper researches different com- in boundaries of a personal computer a program
puter programming teaching methods in courses is "a sequence of instructions written to perform a
in higher education. Computer programming is specified task for a computer" [2]. "Computer pro-
among the most challenging subjects in com- gramming is the process of designing, writing, test-
puter science curriculum, and the one that many ing, debugging / troubleshooting, and maintaining
students find difficult to grasp, hence it is very the source code of computer programs." [3]
important to select an appropriate teaching strategy Computer programming courses are a part of
that will provide students with the most efficient many universities’ curriculums, and among the
learning environment. The paper gives an overview most important subjects for a computer science stu-
and comparison of some of the existing teaching dents. Many authors [4] [5] [6] [7] [8] agree that
methods and addresses the benefits and problems learning to program presents a challenge for many
associated with their application. students, and that many of them find program-
ming concepts difficult to grasp. The evidence are
Keywords. computer programming, teaching dropout and failure rates in introductory program-
strategy, teaching methods ming courses at the university level [5].
Considering the challenge that computer pro-
gramming represents to the students, we can as-
1 Introduction sume that finding and implementing an appropriate
teaching strategy will be one of the crucial factors
All computer based technology that we use today in students’ success in mastering the course con-
is controlled by computer programs that are writ- tent.
ten to define its behaviour. Whether it is our per- This paper provides an overview of some of the
sonal computer, a tv, or an airplane, they all have existing programming teaching methods, and com-
a single or a set of computer programs integrated pares the results obtained by their application.
within them. Computer programs define and de-
scribe available functions of devices they are in-
tegrated in and provide us with a way to control 2 Specific programming issues
them.
One of the definitions of a computer program is Programmers are human beings, influenced by fac-
given through a structured programming principle tors like confidence, comfort and satisfaction. As
that describes it as a set of tasks. "Any task that such they require more than just familiarity with a
is too complex to be described simply is broken language semantics to be effective [11]. Learning
down into a set of smaller component tasks until programming will accordingly require more than
the tasks are sufficiently small and self-contained just acquiring skills, it will be greatly affected by
enough that each is easily understood." [1] Defined students self-efficacy that will influence the use
of cognitive strategies while solving problems, the fects learning efficiency, can be extrinsic, intrinsic
amount of effort expended, the type of coping or social [4] [12]. Extrinsic motivation comes from
strategies adopted, the level of persistence in the expected external rewards, such as financial ben-
face of failure, and the ultimate performance out- efits, intrinsic motivation comes from within, and
comes [5]. social from a desire to please a third party (family,
Computer programming requires the use of com- teacher, friends, etc.).
plex cognitive skills, such as reasoning, problem The two factors that affect the extent of moti-
solving and planning [6]. A programmer forms ab- vation are expectancy and value [12]. A value rep-
stract representations of a process, expresses them resents the reason why student values success, e.g.
in the form of logic structures, and finally translates future employment, and expectancy is a student’s
them into correct code using the formal language own expectation of success. If student doesn’t value
[5]. the success, or doesn’t expect to pass the program-
The three primary pedagogical goals in teaching ming course, he might not be motivated to engage
a programming language are therefore covering the in course assignments.
language’s syntax, developing program design skills The teacher’s task is not only a transmission of
and creative thinking. The selection of the most knowledge, he also bears the role of a motivator,
suitable programming language and the teaching making sure the students really do engage in as-
approach are presented as two fundamental issues signments he has devised.
related to teaching programming [10].
3.2 Approach to teaching program-
ming
3 Teaching strategies
Teaching (instructional) method is "an approach
3.1 Learning styles and motivation used by educators in course content deliveries. It
is an educational approach for revolving knowledge
Students’ learning styles and motivation are factors into learning which focusing on the "how to" in
that affect the success of any learning process they delivery of training" [6].
engage in. Learning programming is, as such, also Information and communication technologies
affected by those factors. (ICT) teaching, and consequently the teaching of
"Learning style is a preferred learning mode in computer programming, is relatively new problem
which students respond to and use stimuli in the domain, compared to teaching of already estab-
context of learning." [6] Some students are very vi- lished subjects, such as mathematics or physics. As
sual, some are more auditory or kinaesthetic [9]. such its teaching methodology isn’t as firmly formu-
Selecting a particular learning style, or a particular lated, which results in the fact that most teachers
form of motivation, may allow a student to acquire use their own blend of methods, where one of those
programming skill quickly and easily. Opposed to methods is represented dominantly [13].
that, if a student adopts the wrong style or lacks One of the classifications [13] divides com-
the motivation, he may find learning to program puter programming teaching methods according
difficult [4]. to their orientation: statement-oriented, using as
According to one classification of learning styles a tool, software technology-oriented, task type-
[4], learning is divided into deep and surface ap- oriented, language-oriented, action-oriented and
proach. Deep learning refers to gaining understand- sample task-based. By this classification different
ing of a topic, while surface learning concentrates methods cover the chosen programming language
on memorising the facts. In programming, surface to the different extents, and teach its elements in a
learning can be used for memorising the language’s different order depending on the set goals. State-
syntax, but deep learning is crucial, in addition to ment oriented methods, as such, see the program-
surface learning, for gaining a true understanding ming language as set of statements, and all indi-
of programming logic and consequently a true com- vidual elements are then taught in a certain fixed
petence in programming. order. Task type oriented methods introduce prac-
Motivation, as another important factor that af- tical problems and then present language elements
in such order in which they are needed to solve Finally, they summarise their work and elaborate
those tasks. "Using as tool" methods introduce on their solutions.
a programming language only to a necessary ex- Different models of PBL also exist [16]. They
tent, considering a different primary goal, such as vary from the simple problem-based approach
database teaching. where lectures are presented normally, but prob-
Teaching programming can also be divided on lems are introduced to motivate the students and
bottom-up and top-down approach [14]. Bottom- demonstrate a theory, to full PBL models where
up approach primarily focuses on teaching the de- the problems guide entire learning process. Stu-
tails of syntax and individual programming lan- dents can also work individually or in groups.
guage elements first. After individual elements
have been taught, more complex constructs are Few researchers [15] concluded that while there is
considered. Top-down approach starts with under- no evidence of improvement in immediate students’
standing the abstractions regardless of their phys- examination results, PBL encouraged increased re-
ical implementation. After students understand tention of knowledge over the period up to several
these abstractions and their purpose, implementa- years, and students’ had better results in follow up
tions are being taught. courses, compared to their colleagues who attended
traditional introductory programming courses.
It was also concluded [15] that PBL enhances
4 Programming teaching students’ communication skills, creative thinking,
methods motivation and responsibility.

This section presents an overview of some of the


existing programming teaching methods. Each
method is described, and some results obtained by 4.2 Puzzle-based learning
its application are presented.
Puzzle-based learning (PZBL) [17] [18] [19] aims to
4.1 Problem-based learning teach students critical thinking and problem solv-
ing techniques.
Problem-based learning (PBL) method [15] [16] fo- Puzzles should generally be easy to state and re-
cuses on students’ own engagement in problem solv- member. A problem should present a challenge to
ing. This approach is centered around the types of problem solver, having no obvious solution, but still
problems that professionals in the field encounter showing the promise of resolution [19].
on daily basis. It develops higher order thinking,
disciplinary knowledge and practical skills, by fac- In computer programming courses, the process
ing students with a problem situation, and assign- of puzzle solving is conducted in a few steps [18].
ing them an active role of problem solvers. Firstly, the problem is presented to the student ac-
PBL is implemented by seven steps method cording to content that is being taught. A com-
[15] that encourages learning by encompassing stu- plete program solution is then divided into number
dents’ prior knowledge about the presented topics, of program puzzle pieces depending on the desired
practical problem situations, and the required stu- difficulty. Minimum size for a puzzle piece is one
dents’ subsequential elaboration on materials they complete line of code. Student then attempts to
have learned. reconstruct the program, by selecting the correct
Students mainly work in groups. They inden- program pieces in the correct order, after which his
tify and discuss the problem, then make a list of success is evaluated. This procedure can be guided
what they already know, and what they still need by a teacher or by an automated system [18].
to learn. That is followed by establishing the learn- Results of an empirical study [17], conducted in
ing goals, after which the students independently one introductory programming course where PZBL
study all the required material. The students then method was implemented, showed that students in-
reconvene to discuss the case, and attempt to ap- terest and scope for active participation in the pro-
ply what they learned in order to solve the problem. gramming course was significantly increased.
4.3 Pair programming tures. Unlike classic textbooks, PL better separate
the important concepts from less important ones,
Pair programming (PP) [20] [21] is programming and can be more easily refined over time to better
style in which two programmers work side by side, stress those particular concepts that students had
on the same code, at the same computer. They issues with over past semesters [23].
both continuously participate in the design, devel-
In a research [23], that was conducted among
opment and testing of that code.
students that used 5 to 15 minutes long PL, each
The programmers that work as a pair assume
focusing on particular topic of the course, it was
two roles, one of the driver and second of the nav-
found that PL made no significant difference on
igator. The driver is in control, typing the actual
students final grades. It was also found that part
code, while navigator observes his work, watching
of the students, who have seen the PL only as an
for potential errors, offering suggestions, and devis-
optional material, have never accessed any of the
ing alternatives. The roles are, at the regular in-
PL online. Overall, however, students’ feedback on
tervals, switched, ensuring that both programmers
the PL was very positive, and most of them stated
continually provide the same amount of effort.
that PL helped them better understand some pro-
Researchers [20] suggest that the software, that
gramming concepts.
was developed using pair programming method, is
usually completed in less time then when individual
students code it, is better designed and has less
errors. Students are also better motivated to stay 4.5 Game-themed programming
on task, have more confidence in their solutions,
and show a positive attitude towards collaboration. Game-themed programming (GTP) [24] is a teach-
Some studies [21] have shown that, despite all its ing approach which integrates simple interactive
benefits, pair programming can sometimes be irri- graphic programs into introductory programming
tating and exhausting. It is suggested that a differ- courses. The aim of this approach is to make stu-
ence in skill level between paired students strongly dents learn about abstract programming concepts
affects their collaboration, and that an appropri- by exploring and programming small game appli-
ate care when organizing the pairs of students is cations.
necessary. Primary goal of GTP is not teaching students
Virtual pair programming is a form of pair pro- to build computer games, but teaching them pro-
gramming that eliminates the need of two program- gramming concepts through understanding how the
mers sitting at the same physical location. Their games work. Any assignment that would, in a clas-
collaboration is realized by using online tools that sical approach, be a simple console assignment, is
integrate desktop sharing and real time communi- reworked so it becomes a simple game assignment,
cation. A study [22] showed that it is an effective and that the devised game logic is based on tar-
pedagogical tool for flexible collaboration. geted programming concept [24].
Game-themed assignments, that are given to stu-
dents, include the descriptions of the tasks that
4.4 Prerecorded lectures need to be completed and starter projects that con-
Prerecorded lectures (PL) [23] in form of care- sist of provided graphics and functional user inter-
fully prepared and technically focused multimedia action modules. Students are then required to com-
recordings that are kept online, comprise of nar- plete the assigned projects by filling in the missing
rated slides from the lecture notes, and are meant relevant concepts [24].
to supplement the conventional lectures. A study [24] revealed that success rates in GTP
PL aim to confront the issue of limited semester classes were higher than in normal classes. Stu-
timetable, helping those students who fail to ab- dents reported that they had to spent more time to
sorb the presented course material at sufficient rate. understand the game assignments than they would
They provide students with a possibility to review require to understand classical console assignments,
all the concepts they may have missed or not under- but when they finally understood them, their mo-
stood well enough while attending the original lec- tivation and enthusiasm increased.
5 Comparison of methods [2] Stair R, Reynolds G: Principles of Information
Systems, Course Technology, USA, 2003.
All of the presented programming teaching meth-
ods aim to enhance the quality of existing program- [3] Meijers A W M, Gabbay D M, Thagard P,
ming courses with a goal of making the program- Woods J: Philosophy of Technology and Engi-
ming concepts easier to grasp. neering Sciences, North Holland, Amsterdam,
The main commonality that all these approaches 2009.
share is an attempt to increase students’ motiva- [4] Jenkins T: On the Difficulty of Learning to Pro-
tion in order to reduce their frustration when faced gram, Proceedings of the 3rd Annual Conference
with challenging concepts and abstractions, and to of the LTSN Centre for Information and Com-
encouraging them to increase their engagement in puter Sciences, Lough- borough, UK, 2002, pp.
tasks that teacher has devised for them. 53-58.
The methods differ in their focus. While some
focus on how the programming concepts are pre- [5] Wiedenbeck S, LaBelle D, Kain V N R: Factors
sented to the students and how the course materi- Affecting Course Outcomes in Introductory Pro-
als are delivered (e.g. prerecorded lectures), other gramming, Proceedings of the 16th Workshop on
try to find alternative ways in which students can Psychology of Programming, 2004, pp. 97-109.
work with those concepts (e.g. game-themed pro- [6] Tie H H, Umar I N: The Impact of Learning
gramming). Styles and Instructional Methods on Students’
Teachers task is to select an appropriate teach- Recall and Retention in Programming Educa-
ing method, or a blend of methods, to devise as- tion, Proceedings of the 18th International Con-
signments for students accordingly, and after pre- ference on Computers in Education, Putrajaya,
senting the concepts in the way he/she has chosen, Malaysia, 2010, pp. 191-195.
to shift the focus on students, motivating them to
engage in assignments he has devised. [7] Radošević D, Lovrenčić A, Orehovački T: New
Approaches and Tools in Teaching Program-
ming, Proceedings of the 20th Central European
6 Conclusion Conference on Information and Intelligent Sys-
tems, Varaždin, Croatia, 2009, pp. 49-57.
This paper overviews some of the existing program- [8] Mohorovičić S, Tijan E: New Technologies in
ming teaching methods, addresses the results ob- Teaching University Level Programming, Pro-
tained by their application, and compares some of ceedings of the 33rd International Convention on
the common features they share. information and communication tecnology, elec-
The challenge that teaching and learning com- tronic and microelectronics (MIPRO 2010), Vol.
puter programming presents, has encouraged the IV. CE, Croatia, 2010, pp. 268-272.
design and implementation of various new and in-
novative computer programming teaching meth- [9] Hu M: A Case Study in Teaching Adult Stu-
ods. The presented methods aim to improve the dents Computer Programming, Proceedings of
students’ success rates by increasing their motiva- the 16th Annual NACCQ, Palmerston, North-
tion and encouraging the greater self-engagement, New Zealand, 2003, pp. 287-290.
not only in assignments provided within a course, [10] Al-Imamy S, Alizadeh J: On the Development
but also in further exploration of the programming of a Programming Teaching Tool: The Effect of
challenges outside the assignments’ boundaries. Teaching by Templates on the Learning Process,
Journal of Information Technology Education,
Vol. 5, 2006, pp. 271-283.
References
[11] Smith R B, Ungar D: Programming as an
[1] Liberty J, Rao S, Jones B: Sams teach yourself Experience: The Inspiration for Self, Object-
C++ in one hour a day, Sams Publishing, USA, Oriented Programming 9th European Confer-
2009. ence, Vol. 952, Denmark, 1995, pp. 303-330.
[12] Jenkins T: Teaching Programming - A Journey [22] Zacharis N: Evaluating the Effects of Vir-
from Teacher to Motivator, Proceedings of 2nd tual Pair Programming on Students’ Achieve-
Annual LTSN-ICS Conference, 2001, pp. 65-71. ment and Satisfaction, International Journal of
Emerging Technologies in Learning (iJET), Vol.
[13] Papp-Varga Z, Szlavi P, Zsako L: ICT teach- 4, No. 3, 2009, pp. 34-39.
ing methods - Programming languages, Annales
Mathematicae et Informaticae, Vol. 35, 2008, pp. [23] Smith G, Fidge C: On the efficacy of prere-
163-172. corded lectures for teaching introductory pro-
gramming, Proceedings of the tenth conference
[14] Reek M M: A top-down approach to teaching on Australasian computing education, Vol. 78,
programming, Proceedings of the twenty-sixth 2008, pp. 129-136.
SIGCSE technical symposium on Computer sci-
ence education, New York, USA, 1995, pp. 6-9. [24] Sung K, Hillyard C, Angotti R L, Panitz M W,
Goldstein D S, Nordlinger J: Game-Themed Pro-
[15] Nuutila E, Torma S, Malmi L: PBL and Com- gramming Assignment Modules: A Pathway for
puter Programming - The Seven Steps Method Gradual Integration of Gaming Context Into Ex-
with Adaptations, Computer Science Education, isting Introductory Programming Courses, IEEE
Vol. 15, Issue 2, 2005, pp. 123-142. Transactions on Education, Vol PP, Issue 99,
2010, pp. 1-12.
[16] Wu Y: Applying a hybrid problem-based learn-
ing method to the teaching of computer program-
ming, The China Papers, Issue 6, 2006, pp. 63-
66.

[17] Merrick K E: An Empirical Evaluation of


Puzzle-Based Learning as an Interest Approach
for Teaching Introductory Computer Science,
IEEE Transactions on Education, Vol. 53, No.
4, 2010, pp. 677-680.

[18] Yoneyama Y, Matsushita K, Mackin K J,


Ohshiro M, Yamasaki K, Nunohiro E: Puzzle
Based Programming Learning Support System
with Learning History Management, Proceedings
of the 16th International Conference on Comput-
ers in Education, 2008, pp. 623-627.

[19] Falkner N, Sooriamurthi R, Michalewicz Z:


Puzzle-Based Learning for Engineering and
Computer Science, Journal Computer, Vol. 43,
Issue 4, USA, 2010, pp. 20-28.

[20] Zacharis N Z: Measuring the Effects of Virtual


Pair Programming in an Introductory Program-
ming Java Course, IEEE Transactions on Edu-
cation, Vol. 54, No. 1, 2011, pp. 168-170.

[21] Chaparro E A, Yuksel A, Romero P, Bryant


S: Factors Affecting the Perceived Effectiveness
of Pair Programming in Higher Education, Pro-
ceedings 17th Workshop of the Psychology of
Programming Interest Group, 2005, pp. 5-18.

You might also like