Vous êtes sur la page 1sur 15

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/220428443

Blended learning model of teaching programming in higher education

Article  in  International Journal of Knowledge and Learning · January 2011


DOI: 10.1504/IJKL.2011.043893 · Source: DBLP

CITATION READS

1 10

2 authors:

Sanja Mohorovicic Edvard Tijan


3 PUBLICATIONS   4 CITATIONS    University of Rijeka
79 PUBLICATIONS   62 CITATIONS   
SEE PROFILE
SEE PROFILE

All content following this page was uploaded by Edvard Tijan on 13 May 2018.

The user has requested enhancement of the downloaded file.


86 Int. J. Knowledge and Learning, Vol. 7, Nos. 1/2, 2011

Blended learning model of teaching programming in


higher education

Sanja Mohorovičić* and Edvard Tijan


Faculty of Maritime Studies,
University of Rijeka,
Studentska 2, Rijeka 51000, Croatia
E-mail: sanja@pfri.hr
E-mail: etijan@pfri.hr
*Corresponding author

Abstract: The paper researches the use of ICT in programming courses in


higher education (such as learning management systems, web conferencing
systems, etc.). Teaching and learning programming has been elaborated and
preliminary research has been conducted at the University of Rijeka in which
94 students who attended at least one programming course expressed their
experience and opinions regarding e-learning and e-learning systems. A
blended learning model is proposed with the aim of improving the quality of
teaching and learning programming. Several tools have been researched, which
could be useful in preparation and conducting the programming courses.

Keywords: programming; blended learning; e-learning; teaching


programming; higher education; ICT.

Reference to this paper should be made as follows: Mohorovičić, S. and


Tijan, E. (2011) ‘Blended learning model of teaching programming in higher
education’, Int. J. Knowledge and Learning, Vol. 7, Nos. 1/2, pp.86–99.

Biographical notes: Sanja Mohorovičić is a PhD student and works as an


assistant at Department of Electrical Engineering, Automatics and IT at Faculty
of Maritime Studies, University of Rijeka, Croatia. Her research focuses on
e-learning and computer programming. She has published several papers in
international conferences and one international journal.

Edvard Tijan works as an assistant at Faculty of Maritime Studies, Department


of Logistics and Management. He graduated in several fields: electrical
engineering, maritime transport, maritime electronics and IT. He worked on
several EU projects (FP6, FP7, and Interreg) and professional projects related
to maritime transport, industry and tourism. He has published more than
30 scientific and professional papers related to IT, e-business, e-learning,
m-learning, logistics, etc.

This paper is a revised and expanded version of a paper entitled


‘New technologies in teaching university level programming’ presented at 33rd
International Convention on Information and Communication Technology,
Electronic and Microelectronics (MIPRO), Opatija, Croatia, 28 May 2010.

Copyright © 2011 Inderscience Enterprises Ltd.


Blended learning model of teaching programming in higher education 87

1 Introduction

Computers, internet, broadband connections, etc., have become a part of everyday life,
work and even education. The use of ICT in teaching and learning processes have
changed the education process and have introduced new methods that can improve
learning and teaching.
Courses in computer programming and programming languages exist at numerous
institutions of higher education. This paper researches the possibilities of ICT application
in courses that teach programming (C++, Java, PHP, etc.) in higher education institutions
(universities).
The paper does not focus on a specific programming language or learning level
(introductory programming course or advanced programming course). Based on the
conducted research, teaching methodologies and previous experience, a new teaching
model in a programming course has been devised. Research results will be investigated,
along with some tools (mainly freeware) that could be useful and are available, especially
at Croatian universities.
A question arises – to which extent technology should be integrated within the
teaching process and what tools and methods should be used in programming courses?
Programming courses are being transformed from traditional classroom courses to
blended courses. Such process has its advantages, but several prerequisites and demands
should be taken into account. Certain computer literacy skills and knowledge are required
in order to fully exploit the advantages of learning management systems (LMS) and
similar tools. “A Learning Management System provides the platform for the web-based
learning environment by enabling the management, delivery, and tracking of learning”
(Cavus et al, 2006).
Educators should also be prepared to grasp and learn new technologies to be able to
efficiently utilise them and to pass their knowledge onto students. There are many
challenges that need to be addressed when implementing blended learning (Stacey and
Gerbic, 2008) in programming courses.
By choosing the correct technology and technique, both teachers and students can
potentially benefit. One research (Djenic et al., 2011) has shown that blended learning of
computer programming has advantages and improvements regarding the previous
traditional courses covering identical material. Just by using the technology for teaching
and learning purposes does not automatically imply that the teaching process has been
improved. However, innovative ways of using ICT in programming courses can result in
increased efficiency and effectiveness of learning.

2 Educators and students

Traditionally, teaching consisted of three elements: educators, students and content


(curriculum), which was often represented by a triangle and was called a didactic triangle
(Poljak, 1985). In time, the triangle was expanded by introducing other elements:
teaching technology and ICT, so now we have a didactic polygon.
The role of educators and students changed with time. It is changed especially when
e-learning technology is used in educational process. Students play a central role in the
teaching process, in other words teaching became learner-centred. The contemporary
concept of education demands that the focus is placed on a student as a subject of the
88 S. Mohorovičić and E. Tijan

learning process. The focus should also be placed on the choice of content and on
methods and strategies of independent adoption of knowledge as the necessary
prerequisite of lifelong learning. The active, critical and creative thinking should be
encouraged, along with problem-solving and the usage of knowledge in different
situations (Arbunić and Kostović-Vranješ, 2007).
Modern students differ greatly from their educators. The so-called net generation
grew up with information technologies and internet, and they are more prone to accept
the ICT methods of learning. Also, they are not completely satisfied with classical
classroom courses (Oblinger and Oblinger, 2005).

3 ICT usage in higher education

In order to efficiently apply e-learning in higher education, the positive attitude of


lecturers, assistants and students is very important. The e-learning research conducted at
the University of Rijeka showed that the attitude of both lecturers and students towards
e-learning/ICT usage in the educational process is positive (they apply or use ICT in the
teaching process) in 70% of the case, neutral (they sometimes apply or use ICT in the
teaching process) in 20% of the case and refrained (they rarely apply or use ICT in the
teaching process) in 10% of the case (Žuvić-Butorac, 2008).
“Experience has also shown that blended learning solutions often do not live up
to the potential of the approach or fail to produce the intended results because
administrators, instructors and learners are lacking the relevant technical,
methodological or organizational knowledge and experience.” (Tiirmaa-Oras
et al., 2007)
When applying e-learning and ICT methods in education, both lecturers and students play
an important role. The technology itself is useless without the human assistance. A
number of free tools exist that could be used in the teaching and learning process. The
question arises: why are they not used more often or to a higher extent? The answer
partly lies in the fact that both lecturers and students should possess some basic previous
knowledge and skills regarding ICT. Lecturers should be able to use the technology, have
the necessary skills and devote a certain amount of time for preparation of such courses.

4 Blended learning

The traditional form of higher education courses encompasses lectures, exercises,


consultations and tests (Sinković and Kaluđerić, 2006). Many courses previously realised
only in classroom are blended today.
There are many definitions of blended learning. Blended (hybrid) learning is a
combination of face-to-face (F2F) teaching/learning and online learning by using the
internet1. Such organisation of teaching process benefits from the advantages of both
traditional and modern ways of learning in higher education and can improve certain
education processes for reaching better results and satisfaction among students. “Within
the higher education context blended learning is not a new phenomenon. What is new is
Blended learning model of teaching programming in higher education 89

rapid increase and variability of possible components in a blend, especially in relation


with Web 2.0 and E-learning 2.0” (Tiirmaa-Oras et al., 2007).
The ratio between classroom and internet lessons should be adjusted to the study area
and the course auditorium. Djenic et al. (2010) researched the need of establishing a
balance between lessons via the Internet and classroom lessons in blended courses of
programming.
Various teaching methods can be used in blended learning. This opens new and more
various possibilities to adapt to the individual needs of students. Different students need
different approaches, because they study differently and have different learning styles.
The methods by which the teaching is conducted should be a combination of virtual and
physical environments and the combination of various tools. There is no universal recipe
as to what to use, and to what extent.
The teacher’s competencies, skills and their motivation for the enhancement of the
educational process are the key factors for the successful implementation of e-learning in
higher education and improve the quality of education (Babić, 2010).

5 The characteristics of teaching and learning programming

Teaching and learning programming is somewhat specific and certain factors should be
taken into account during the implementation. A number of papers were published on the
subject, from which some of the most important findings will be referenced here.
Learning to programme is very demanding and is considered to be a difficult task to
many students, especially for students with no previous knowledge in introductory
programming courses. For example, students have different levels of previous knowledge
and different opinions about (and even fears of) programming (Radošević et al., 2009).
Due to those reasons, teaching programming should not be exclusive and limited only to
classical learning from books or to complete e-learning. The combined methods of
teaching would enable them to better understand the concepts of programming and code
writing.
Kelleher and Pausch (2005) in their study wrote the following about the difficulty of
learning to programme: “Learning to program can be very difficult for beginning students
of all ages. In addition to the challenges of learning to form structured solutions to
problems and understanding how programs are executed, beginning programmers also
have to learn a rigid syntax and commands that may have seemingly arbitrary or perhaps
confusing names. Tackling these challenges all simultaneously can be overwhelming and
often discouraging for beginning programmers”. For Dann et al. (2006) some obstacles
for introductory programming courses are (that contribute to the difficulty associated
with learning and programming): fragile mechanics of programme creation, particularly
syntax; the inability to see the result of computation as the programme runs, the lack of
motivation for programming and the difficulty of understanding compound logic and
learning design techniques. Students often rely on the lectures given by the professor, and
expect that the tests will contain only what was delivered during the lectures (Diwan
et al., 2004). Students should be motivated to rise to a higher level and to be less
dependent on the professor. Furthermore, some students can explain the example code,
but are unable to write (programme) it themselves. Students often try to avoid
90 S. Mohorovičić and E. Tijan

understanding programming concepts by some ‘shortcuts’, for instance they memorise


code fragments or copy the code from colleagues.
While students learn how to programme, they need to grasp so called ‘programming
thinking’. Programming thinking is a different way of thinking in which students need to
reach certain level of abstraction and logical reasoning of programming concepts for
understanding these concepts, use and design in programming tasks (Eckerdal and
Berglund, 2005). Wellington and Ward (2010) in their study have seen “variations in
problem solving strategies that appear to show a cognitive difference between students
with different levels of experience; in particular, their ability to imagine the behaviour of
code seems to improve with experience”. Stamouli and Huggard (2006) in their research
found out that the way students experience learning to programme is related to their
perception of what constitutes a correct programme and that more than half of the
population of their study does not develop a complete and mature understanding of
learning to programme.
The lessons in programming are connected and follow one another (similar to
mathematics) therefore students are required to be regular in attendance, studying,
practicing and problem solving. The question arises: how to motivate students to study
continuously? Students should be assigned a task every week (a task should also be
graded), the graded quizzes and colloquia should be regular, students should be
encouraged to use forums for discussion, bonus assignments should be designed, etc.
Students’ programming skills should be developed during exercises while solving
problems, assignments and during forum discussions.
While learning programming, individual work and problem solving is of utmost
importance and should not be dismissed. It is also important to learn the theory to be able
to apply it in practice.
When learning programming, the usage of integrated development environment (IDE)
is needed. For various programming languages, various IDEs exist. For example, for
learning C++, Dev C++ could be used for free.
Another large problem that should be addressed is cheating: plagiarism of
programming code. Some research shows that the situation is alarming (Sraka and
Kaučič, 2009). Students copy each other’s code or use code from the internet during
exercises and tests rather than writing them themselves, therefore lecturers often do not
have the correct insight into their knowledge. Efforts should be undertaken to avoid or at
least minimise plagiarism of source code. To prevent this, cheaters should be detected
and disciplined. Different solutions for this problem exist. For example, Konecki et al.
(2009) produced a code comparator that would be suitable for higher education purpose.
Their prototype (compares C/C++ computer code) showed very promising results when
tested, although it needs more improvement. One example of such a solution is the
‘Svetovid’ application (Special Submission Environment for Students Assessment),
which was “developed in order to prevent cheating and help in submission of solved
assignments” (Budimac et al., 2007). Another example is the usage of specialised
learning programming interface ‘Verifikator’ “aimed for learning programming in C++ at
the university beginners’ level” (Radošević et al., 2009) instead of using standard IDE-s,
which apart from helping students to understand basic principles of programming and
reducing errors in code writing, also personalises every programme in order to stop
students from cheating (copying code). Radošević et al. (2010) offered a solution for
personalising the student’s programming exercises (primarily homework). It is the system
Blended learning model of teaching programming in higher education 91

that automatically generates personalised programming tasks based on the same template,
but is unique for each student.

6 Preliminary research

6.1 Problem and hypothesis


The preliminary research was conducted with the aim of assessing the students’ opinions
regarding teaching and learning of programming languages in higher education
(universities). Students’ experiences and desire for using new technologies have been
assessed. The purpose of the research was, while respecting the students’ opinions, to
devise and organise the teaching process which would utilise ICT technologies in
programming courses.
The two main hypotheses regarding the research of application of ICT in teaching
programming in higher education were:

H1 Students think that increased usage of ICT within the programming courses in
higher education will increase understanding, effectiveness and quality of learning.
H2 Students think that, to a certain extent, F2F lectures in classrooms are irreplaceable.

6.2 Method
The survey was conducted in December 2009 on the sample of 94 students (76 male, 18
female) at the University of Rijeka who have attended at least one programming course.
The sample consisted of students of Marine Electronics and Information Technologies
and students of Informatics, aged 19 to 27.
The survey consisted of 12 open and closed questions regarding the general use of
ICT technologies in education and regarding the use of ICT and e-learning in
programming courses. Open questions have been used because they provide more
freedom in answering. Descriptive statistics has been used in analysing and presenting
the research results.

6.3 Results
Students’ experience in e-learning so far is mainly based on the usage of digital learning
material (PDF, PPT and DOC files), e-mail as a form of communication, using web
forums and partly LMS. LMS has been used as a repository of above mentioned learning
material, to deliver homework and for notification purposes, therefore the full potential of
the LMS has not been utilised. No other e-learning tools have been used in computer
programming courses, therefore it can be concluded that the students experience in the
usage of e-learning tools in these courses was low. Classes were completely conducted
F2F, with the aid of e-mail and communication, along with web learning material.
All respondents have a personal computer with internet connection. A PC with
internet connection is a must in programming courses, but it is also very important for
dissemination of learning materials and online communication while learning.
92 S. Mohorovičić and E. Tijan

Only 29% of the respondents prefer the classical ‘classroom learning’ method, while
71% prefer blended learning (classroom learning combined with e-learning and distant
learning). There was no significant divide between sexes. The combined methods of
teaching would enable them to better understand the concept of programming and code
writing.
When given the opportunity to choose among the new technologies which they would
like to use in programming courses (multiple choice), 75% of the respondents chose
LMS, 28% of the respondents chose webinars, 81% of the respondents chose video
tutorials and 78% of the respondents chose web forums. The results are shown in
Figure 1.
Webinars are presentations, lectures, workshops or seminars which are broadcast via
the internet and include video, audio and textual communication between participants.
The main feature of webinars is interactivity, or the possibility of sending, receiving and
commenting information between lecturers and participants who can be at different
physical locations. By using webinars, users can conduct distant learning, presentations,
workshops, consultations, meetings and conferences2.

Figure 1 Technologies proposed by survey respondents (students) which might be useful in


programming courses (see online version for colours)

100%

90%
81%
78%
80% 75%

70%

60%

50%

40%
28%
30%

20%

10%

0%
LMS webinars video tutorials forum

From the above results, it is obvious that great interest exists for new e-learning methods
in teaching programming in higher education, mainly in using video tutorials, so the first
hypothesis (H1) is confirmed.
35% of the respondents prefer to take theoretical quizzes using pencil and paper,
while 65% of the respondents prefer to take those tests using the computer. It must be
noted that the testing by using the computer should be conducted in the controlled
environment (for example in university computer classrooms).
When given the opportunity to openly express their opinion, comments or desires
regarding the programming courses, respondents provided some very interesting answers.
The answers to open-ended questions were analysed by grouping the answers with
Blended learning model of teaching programming in higher education 93

similar meanings, appearing in larger groups of respondents.. Majority of the respondents


agreed that the theoretical part of the course should be reduced, while the practical part of
the course should definitely be expanded. Respondents also stated that the theoretical part
of the course could be recorded and made available for online viewing. Several
respondents, however, stated the importance of F2F teaching because that method of
teaching makes it easier for them to grasp the concept of programming and the finesse of
writing the programming code. Respondents were also given the opportunity to add their
own comments and propositions. Several respondents expressed their desire about more
teamwork, implying team assignments with online collaboration.
From those answers, it can be concluded that F2F teaching should not be dismissed
when teaching programming, especially during exercises and in beginner’s courses.
Some respondents even thought that this is the best and only way to properly
learn programming. One of the respondents stated that “the classroom learning is the best
method of learning programming, but however more time is needed to learn properly”.
This finding confirms the second hypothesis (H2).
Respondents would like to use online learning methods only as a supplement to F2F
teaching. Moreover, they need more examples, practical problems and more complex
assignments for teamwork. Some respondents commented that lectures should be
completely conducted using recorded video tutorials or live online lectures, while
practical exercises should be conducted F2F in computer classrooms by the lecturers.
They also think that homework could be useful. Majority of the respondents agreed
that programming code shouldn’t be thought using pencil and paper but only by using the
computer.
Some respondents think that the teaching process should be more dynamic, with less
static content such as PowerPoint slides. Respondents also find it hard to understand the
pre-written code which is statically presented to them.
Respondents expressed the desire for a web forum in which the educator would take
an active role and could help them if they experience problems during the course.
This preliminary research pointed out the direction in which programming courses in
higher education should evolve, and calls for further and expanded research in using the
available ICT and e-learning tools. In order to explore the proposed new methods of
teaching and learning, a model course will be devised and conducted, after which a
deeper research will be conducted in order to discern whether the new tools have
improved the efficiency and effectiveness of learning and whether the passing average
and students’ experience has improved.

7 Organising programming courses – the blended model of learning

As the preliminary research and several other studies have shown (Budimac et al., 2007;
Cavus et al., 2006; etc.) students mostly possess some previous experience in the usage of
ICT in the teaching process and learning programming. For example, at the Faculty of
Maritime Studies (University of Rijeka), for the last three generations an e-learning LMS
has been used in programming courses (C++ and PHP) along with the classical teaching
and learning methods. The LMS has mostly been used for the dissemination of digital
learning materials, turning in homework and online communication. Figure 2 shows a
blended learning model of programming course.
94 S. Mohorovičić and E. Tijan

Along traditional F2F lectures, which can be held in classrooms (theory, basic
concepts of programming, syntax...), some of the theoretical parts of programming
courses could be executed via web-based video conferencing (webinars) which offer
some advanced features such as split-screen with IDE, code writing, programme
execution, etc. Online lessons could be taught live by lecturers or pre-recorded lessons
could be used. Using those tools, lecturers could demonstrate (step-by-step) the correct
procedures and techniques of programming.
During exercises, which are traditionally held in computer classrooms, the lecturers
demonstrate examples and students solve problems alone or in groups. According to
students’ needs and requests for additional and longer exercises, those exercises could be
enriched by using webinars, because there is little possibility for additional classroom
hours. For example, lecturers could organise additional webinar classes (weekly,
bi-weekly) as a supplement to regular classroom exercises.
LMS is used for the creation of e-course, and is accessed via a web browser using the
username and password. It is used as a repository of learning materials, examples (solved
or not), exercises, homework, for collecting assignments, to gain insight into students’
progress, scores and grades, and online surveys to receive feedback from students. It
can also contain links to other web sources. The learning material is accessible anytime
and anywhere, only a web browser and internet connection are needed. LMS helps
both students and lecturers: students’ learning is facilitated and lecturers’ burden of
administration is lessened. Lecturers can also keep track of students’ progress in an easier
way. That has lately become increasingly important, because the Bologna process in
higher education demands constant tracking of students’ progress.
The content of the programming course is usually divided into learning units
– lessons. Along with every lesson, links to additional resources, web pages and tutorials
could be provided, which are relevant to the topic. Lecturers could upload different
materials in the LMS to help students follow the classes and to participate more.
In order to familiarise students with the concepts of programming, it is recommended
that lecturers devise visual tools, tutorials, interactive if possible, or to use existing
tutorials. For example, an animation can be made to show how the values can be assigned
to the elements of one-dimensional array, by using FOR loop. Such animation can be
made in Flash, since the Flash Player which is incorporated into web browsers is
sufficient for watching. Short video tutorials or screencasts can be produced. Screencast
tools are used for recording (capturing) the computer screen activity in order to create a
movie. That video can be put in LMS so students can view it (repeatedly if necessary).
Such tutorial can show, step by step, the programme creation, running and testing, along
with the commentary (recorded speech). It is more efficient than separately delivering the
theory and programme example to the students. During the preliminary research, the need
for such tools (especially video tutorials) has clearly been stated, and the pilot testing of
screencasts has been conducted in computer programming courses, with positive results
(Mohorovičić and Tijan, 2011).
It is important that lecturers keep constant track of students’ progress, to motivate
students to work and to help them when help is needed. When the programming course is
organised in such a way, the work with more gifted students is facilitated, and additional
help can easily be provided when needed. In such a way, individualisation of the
programming course is achieved. Furthermore, assignments that incite collaboration
could be used. Pair programming (students work collaboratively in pair), both inside and
outside the classroom, has many benefits, such as increased productivity, improved code
Blended learning model of teaching programming in higher education 95

quality, enhanced job satisfaction and confidence. Also, virtual pair programming can be
used for homework assignments, using online tools that integrate desktop sharing and
real time communication (Zacharis, 2009).
During the semester, different forms of testing could be used: tests of theoretical
knowledge, self-evaluation tests, quizzes which are graded, programming code in
computer classrooms, etc. LMS also makes it possible to conduct quizzes and tests, but
other tools could also be used for that purpose. As before mentioned, testing by using the
computer should be conducted in the controlled environment (for example in university
computer classrooms).
Forums (which can be a part of the LMS) could be used as an additional means of
communication and a place where students will gather to exchange ideas, to brainstorm
and discuss various topics regarding programming (such as code, theory, practical
applications, etc.). The forum incites students to be proactive and to think, therefore it
facilitates learning. For example, one student can post a part of the code which he does
not understand fully, and other students and/or lecturer can help him/her and comment.
The topics could be assigned and discussions started by the lecturer, and the activity of
the students could be rewarded if so desired. That is an excellent way to motivate
students to participate in discussions.
This type of programming course is especially suited for larger groups of students and
for those students who study and work. Students who work are not able to attend classes
regularly, therefore the e-learning methods make it easier for them to keep track of the
programming course (for example various video tutorials, recorded lectures, etc.).
E-learning gives students more possibilities to communicate with their lecturers and
each other. Apart from F2F communication during classes or consultations, e-mail,
webinars or forums could be used. Students can ask for help at any time, avoiding the
need to be physically present during consultations, which improves communication.

Figure 2 Blended model of programming course in higher education

F2F Online
(Computer classroom) ‐ Live and recorded theoretical
lessons (webinar)
‐ Additional exercises classes
(live webinar)
‐ Lessons (theory and exercises) ‐ LMS - learning materials, video
‐ Colloquia tutorials, links, examples,
Collaboration assignments, homework, scores
‐ Quizzes
discussion and surveys
‐ Self-evaluation tests
‐ Forum

E-mail
F2F consultations Webinar
Forum
Communication
96 S. Mohorovičić and E. Tijan

A method of eliminating or at least reducing cheating (such as copying code) should be


devised, perhaps as some sort of programme solution. The purpose of eliminating
cheating is to promote independence in problem solving, improving the quality of the
course and improving accepted knowledge by the students.

8 Potential applications and tools in e-learning

Some e-learning technologies are freely available to academia members (students,


lecturers), while some are available to higher education institutions at lower cost.
Unfortunately, the potential of those technologies is not fully exploited. Lecturers can use
a variety of tools to prepare their digital teaching materials (such as PDF, HTML, video
and other formats). Ease of use is a very important factor for those tools. Some of those
tools will be mentioned here.
Regarding LMS, there are commercial (for example WebCT, Blackboard, etc.)
and open source solutions (for example Moodle, Dokeos, Claroline, etc.).
Moodle became increasingly popular in educational institutions, and it is the most
popular LMS in Croatia (along with its adapted versions). For example, University of
Rijeka uses MudRi (http://www.mudri.uniri.hr), University of Zagreb uses Merlin
(http://www.merlin.srce.hr), Faculty of Arts and Sciences in Zagreb uses Omega
(http://www.omega.ffzg.hr), Faculty of Organization and Informatics in Varaždin uses
ELF (http://www.elf.foi.hr), etc.
For virtual classrooms, webinars could be used. Students need only headphones
and microphone (not necessary), while lecturers can use camera recording.
Examples of webinar systems are dimdim (http://www.dimdim.com, free), WiZiQ
(http://www.wiziq.com/Virtual_Classroom.aspx, free) or Adobe Connect Pro which is
offered freely in Croatia by Sveučilišni računski centar (Srce) for academic users
(http://www.connect.srce.hr).
For the preparation of learning material and quizzes, along with commercial
solutions such as Microsoft Word, Power Point, etc., a number of free solutions
and online tools exist, such as tools for creation of quizzes and exams
(Hot Potatoes, http://www.web.uvic.ca/hrd/halfbaked, Qedoc Quiz Maker,
http://www.qedoc.com/products.php, or WiZiQ Tests, http://www.wiziq.com/tests/create-
free), learning content presentation tools (Zoho Show, http://www.show.zoho.com, or
280 Slides, http://www.280slides.com), etc.
Since this paper researches programming courses, the tools for developing video
tutorials are the most relevant, due to the wishes expressed by research respondents. The
easiest way to create video tutorials is by using screencast tools. One of the most popular
commercial screencasting products is Camtasia Studio. Some free screencast tools are
CamStudio, Wink, Jing and Screencast-O-Matic. CamStudio (http://www.camstudio.org)
is an open source and free screen capture software package that provides all basic and
some extended features for creation a simple but still professional screencast.
Wink (http://www.debugmode.com/wink) is a tutorial and presentation creation
software, primarily aimed at creating tutorials on how to use software. Jing
(http://www.jingproject.com) is a screen capture application which has option to
automatically upload videos to an account at Screencast.com and thereby facilitates quick
and easy sharing. Screencast-O-Matic (http://www.screencast-o-matic.com) is a free,
Blended learning model of teaching programming in higher education 97

Java-based online screen recorder for one-click recording from a web browser on
Windows, Mac, or Linux.

9 Conclusions

To fulfil the needs of students and to facilitate and advance the learning process, it is
concluded that the most suitable way of learning programming is blended learning, in
which the multimedia content and additional communication methods can upgrade both
teaching and learning processes and improve the learning outcomes.
Teachers should be open-minded regarding new e-learning technologies in teaching
programming and encouraged to use them in designing teaching materials, teaching
process and in communication with students.
There are many questions that need to be addressed further, such as the readiness and
knowledge of lecturers regarding the usage of e-learning, their ability to motivate
students, the motivation of students themselves, etc. In general, it is necessary to educate
the educators to use the new e-learning tools, and to do it in a creative way because using
e-learning technologies in educational process is very complex and require technological
and pedagogical skills.
Among the benefits of e-learning technologies in teaching programming are
flexibility, accessibility and improved communication. Among the drawbacks is the lack
of IT infrastructure, lack of education and skills necessary to fully implement the
e-course (both by lecturers and students). For that reason, user manuals and tutorials are
necessary, along with demonstrations of the tools and systems being used.
A number of free tools are available, and it would be wise to test those tools and
systems by the lecturers before applying them in programming courses. Lecturers are
advised to test several systems before deciding which is best suited for their needs.
Since the creation of interactive tutorials requires using more complex applications
and is time-consuming, non-interactive animations and video tutorials should initially be
used. The mentioned e-learning tools should be introduces gradually, both for the benefit
of students and teachers. Furthermore, the preparation of e-learning materials is more
demanding then the preparation of material for classical classroom teaching. The
advantage of the digital multimedia material (e.g., e-books, tutorials) is its reusability for
future generations of students.
More specific details about the ratio of F2F learning and e-learning can be presented
only after conducting the whole course, as elaborated in this paper, and after researching
and testing the hypothesis whether such course is more effective than the traditional
course. The optimal ratio is difficult to predict at this time.
This paper contributes to the practice of teaching programming in higher education. A
blended model of organising programming course has been presented, with the accent of
using readily available technologies (most of them free). Presented model is one solution
which could be interesting for lecturers and might be used as a recipe for creating and
conducting programming courses. However, it must be noted that further and more
detailed research should be conducted, especially after the implementation of such model.
It is presumed that organising programming courses in a way which is researched in
this paper could greatly improve the quality of courses. Methods and tools presented in
this paper could also be used in other courses and for different content, not only in
teaching programming.
98 S. Mohorovičić and E. Tijan

References
Arbunić, A. and Kostović-Vranješ, V. (2007) ‘Teaching and knowledge sources’, Educational
Sciences, Vol. 9, No. 2, pp.97–111.
Babić, S. (2010) ‘Factors regarding teachers’ competence which influence the acceptance and use
of e-learning technologies in higher education’, Proceedings of the 21st Central European
Conference on Information and Intelligent Systems, Varaždin.
Budimac, Z., Ivanovic, M., Putnik, Z., Komlenov, Z. and Pribela, I. (2007) ‘Web-based
course-supporting and e-learning system for courses in informatics’, Proceedings of WUS
Austria eLearning Conference: eLearning– Toward Effective Education and Training in the
International Society, Bijela.
Cavus, N., Uzunboylu, H. and Ibrahim, D. (2006) ‘Using the Moodle learning management System
and GREWPtool collaborative tool for teaching a programming language’, Proceedings of the
4th FAE International Symposium, Lafke.
Dann, W., Cooper, S. and Pausch, R. (2006) Learning to Program with Alice, Pearson Prentice
Hall, Upper Saddle River.
Diwan, A., Waite, W.M. and Jackson, M.H. (20047) ‘PL-Detective: a system for teaching
programming language concepts’, 35th ACM Technical Symposium on Computer Science
Education.
Djenic, S., Krneta, R. and Mitic, J. (2010) ‘A recipe for finding a balance in blended courses of
programming: between lessons in classroom and lessons via the internet’, 10th International
Educational Technology Conference Proceedings Book (Volume I), Istanbul.
Djenic, S., Krneta, R. and Mitic, J. (2011) ‘Blended learning of programming in the internet age’,
IEEE Transactions on Education, Vol. 54, No. 2, pp.247–254.
Eckerdal, A. and Berglund, A. (2005) ‘What does it take to learn ‘programming thinking’?’,
Proceedings of the 1st International Computing Education Research Workshop, ACM Press,
New York.
Kelleher, C. and Pausch, R. (2005) ‘Lowering the barriers to programming: a taxonomy of
programming environments and languages for novice programmers’, ACM Computing
Surveys, Vol. 37, No. 2, pp.83–137.
Konecki, M., Orehovacki, T. and Lovrencic, A. (2009) ‘Detecting computer code plagiarism in
higher education’, Proceedings of the ITI 2009 31st Conference on Information Technology
Interfaces, Cavtat.
Mohorovičić, S. and Tijan, E. (2011) ‘Using screencasts in computer programming courses’,
Proceedings of the 22nd European Association for Education in Electrical and Information
Engineering Annual Conference (EAEEIE 2011), Maribor.
Oblinger, D.G. and Oblinger, J.L. (2005) Educating the Net Generation, EDUCASE, e-book,
available at http://www.educause.edu/ir/library/pdf/pub7101.pdf (accessed on 25 January
2010).
Poljak, V. (1985) Didactics, Školska knjiga, Zagreb.
Radošević, D., Orehovački, T. and Lovrenčić, A. (2009) ‘Verificator: educational tool for learning
programming’, Informatics in Education, Vol. 8, No. 2, pp.261–280.
Radošević, D., Orehovački, T. and Stapić, Z. (2010) ‘Automatic on-line generation of students
exercises in teaching programming’, Proceedings of the 21st Central European Conference on
Information and Intelligent Systems, Varaždin.
Sinković, G. and Kaluđerčić, A. (2006) ‘E-learning – challenge for Croatian high education’,
Ekonomska istraživanja, Vol. 19, No. 1, pp.105–113.
Sraka, D. and Kaučič, B. (2009) ‘Code plagiarism’, Proceedings of the ITI 2009 31st Conference
on Information Technology Interfaces, Cavtat.
Stacey, E. and Gerbic, P. (2008) ‘Success factors for blended learning’, Hello! Where are you in
the Landscape of Educational Technology? Proceedings Ascilite, Melbourne.
Blended learning model of teaching programming in higher education 99

Stamouli, I. and Huggard, M. (2006) ‘Object oriented programming and program correctness: the
students’ perspective’, Proceedings of the Second International Workshop on Computing
Education Research, Canterbury.
Tiirmaa-Oras, S., Pilt, L. and Villems, A. (2007) ‘Easy blending: performance support system for
blended learning in higher education’, Proceedings of the EDEN 2007 Open Classroom
Conference, Stockholm.
Wellington, C. and Ward, R. (2010) ‘Using video to explore programming thinking
among undergraduate students’, Journal of Computing Sciences in Colleges, Vol. 25, No. 3,
pp.149–155.
Zacharis, N. (2009) ‘Evaluating the effects of virtual pair programming on students’ achievement
and satisfaction’, International Journal of Emerging Technologies in Learning (IJET), Vol. 4,
No. 3, pp.34–39.
Žuvić-Butorac, M. (2008) E-learning Survey Results, University of Rijeka, available at
http://www.eqibelt.srce.hr/fileadmin/dokumenti/tempus_eqibelt/outcomes/UNIRI_Obrada_rez
ultata_Anketnog_upitnika_o_e.pdf (accessed on 25 January 2010).

Notes
1 Blended learning,
http://www.ahyco.ffri.hr/portal/Glavna.aspx?IDKategorije=7&IDNadKategorije=1 (in
Croatian).
2 Webinars, http://www.srce.hr/ceu/webinari.html (in Croatian).

View publication stats

Vous aimerez peut-être aussi