Available online at www.sciencedirect.com
Procedia - Social and Behavioral Sciences 46 (2012) 2276 – 2280
WCES 2012
Using interactive simulation-based learning objects in introductory course of programming Georgi Tuparov a, b , Daniela Tuparova a *, Anna Tsarnakova a b
a SouthInstitute of Mathematics and Informatics, Bulgarian Academy of Science, Acad. Georgi Bonchev Block 8, 1113 Sofia
Abstract Often students in undergraduate courses in programming have some problems with the transition from concrete to abstract thinking and the understanding of basic concepts of algorithms and programming. In this paper we present our experience in the development and use of interactive simulation-based learning objects (LOs) in an introductory course of programming. The pilot study showed that LOs helped the student to understand easier learning content and increased the the Introduction to P 2012 Published Elsevier Ltd. © 2012 Published bybyElsevier Ltd. Selection and/or peer review under responsibility of Prof. Dr. Hüseyin Uzunboylu Open access under CC BY-NC-ND license. Keywords: teaching introduction to programming; computer based simulation; animation; vizualisation; flowchart;
1. Introduction Often students in undergraduate courses in programming have some problems with the transition from concrete to abstract thinking and the understanding of basic concepts of algorithms and programming. Many educators argue that teaching and learning programming for novices is a complex and difficult educational process. (Areias & Mendes & Gomes, 2007; Lahtinen, 2006; , 2010; Jenkins, 2002 etc.) have high prese et al, 2007). The problems arise due to several reasons: in some universities classes are very big 80-100 students and more, and the lecturer has no possibility to give attention to every student. Students have different attitudes and motivation to study programming. They have different learning styles (Jenkins, 2002) and previous knowledge about computing and algorithms etc. The content in an introductory t understan by the students. ce effective knowledge mastery, to increase motivation of the students to continue their studies in the area of informatics (computer science), and to engage students in learning activities. These approaches in most cases are based on the technology-enhanced learning by animation and simulation tools. The efforts of educators and researchers are presented in many of papers and software tools.
* Daniela Tuparova. Tel.: ++359 878 833038; fax: ++359 73 88 55 16. E-mail address:
[email protected].
1877-0428 © 2012 Published by Elsevier Ltd. Selection and/or peer review under responsibility of Prof. Dr. Hüseyin Uzunboylu Open access under CC BY-NC-ND license. doi:10.1016/j.sbspro.2012.05.469
Georgi Tuparov et al. / Procedia - Social and Behavioral Sciences 46 (2012) 2276 – 2280
2277
In this paper we present our experience in the development and use of interactive simulation-based LOs in an introductory course of programming. 2. Methods 2.1. Related studies There are many of studies regarding teaching a programming course to novices and experienced students. Most of these studies are grounded on different types of visualizations, animations and simulations of algorithms and with the use of diverse programming languages: ALGAE - allows from C++ or Java code the production of version of that code. (Zeil, 2011) PseudoCode 2004 a tool that helps novice programmers generate pseudo-code designs (Garner, 2007) TRAKLA 2 a learning environment that supports algorithm animation and simulation tasks where the user directly manipu Korhonen & Malmi & Nikander & Tenhunen, 2003) H-SICAS - a handheld algorithm animation and simulation tool. This tool can be used to support initial stages of programming learning, and is based on SICAS. (Marcelino & Mihaylov & Mendes, 2008); Jeliot 3 - allows the step-by-step execution of a program written in Java to be followed. (Jeliot, 2011) BlueJ Tutoring System for programming includes tasks with visualization of algorithms and interactive tests for Krushkov & Krushkova &. Atanasov Krushkova, 2009) CFlow - is flow chart software, intended to be used in the programming domain. (Salleh & Hood &Judi, 2009) ProGuide (Areias at all, 2007), ProLearn (Mendes 2006) are tools for the simulation of algorithms with flowcharts and code visualization. FlowChart Interpreter represent algorithms with flow charts (Atanasova & Hristova, 2003) In the framework of the project Codewitz (http://www.codewitz.net/minerva/) many LOs are developed. The demo LOs are Flash based. The student has to solve tasks in a simulation environment and can input values for some variables and obtain feedback about a proposed solution of the task. 2.2. Tools for development of simulation based visualization of algorithms and concepts in programming. There exist various tools and software environments for the development of simulation-based visualization of algorithms. The systems, tools and LOs discussed above are developed by diverse software environments for programming or authoring tools: Visual Basic, Java, Flash, C++, Delphi etc. For the development of LOs we chose Adobe Flash Builder - educational edition -based development tool that accelerates the delivery of expressive, high-performance open source Flex fra http://www.adobe.com/products/flash-builder-family.html) 2.3. Development of a simulation-based LO for learning an introduction in programming and algorithms. Due to the high abstraction of the concepts in an introductory course in programming, we think that students in the beginning have to understand how one algorithm works and, after that, to start describing the algorithm with some programming language. Therefore in our LOs we start with simple algorithms directed to selection and loops, and the algorithms are presented in several ways. Performance of simulation of the algorithm with flowcharts is obligatory. The student can enter different values of variables and follow animations in a flowchart. With respect to the proposed task, the student can observe the results of the algorithm and changes in variables. Also an optional feature included is the visualization of the C++ programming code. (Figure 1.). For every type of statement in the LO, a theoretical description of syntax and semantics of the statement is included. The navigation is organized in two levels of menus: the first level gives the user the possibility to choose an introductory part about branching
2278
Georgi Tuparov et al. / Procedia - Social and Behavioral Sciences 46 (2012) 2276 – 2280
algorithms (respectively - loops algorithms) or relative types of statement. At the second level the student can see the theoretical performance and examples. Depending on the tasks in the examples, students can interact with flowcharts, visualization of results and programming code. 2.4. Pilot study of pedagogical efficiency of the proposed LO A pilot study was conducted in c
the specialty rse is divided in lectures, seminars and lab exercises. About 80 students are involved in the course. Nevertheless those students have studied the , most of them have demonstrated a low level of basic knowledge about algorithms. One of the reasons for this situation is that in the high school, most of the students have studied Informatics only at 9th . They have graduated from high schools at 12th grade. In fact, for least three years, most of them have not used the basic concepts in Informatics in the high school. Therefore we accepted that in the course to P this course we use C++ as a programming language for the description of algorithms.
a)
P
b) Fig. 1. (a) Interface of IF Statement LO; (b) Interface of Loops Statements LO
The proposed LOs were delivered by the e-learning environment Moodle to support the -regulated learning. In this way, every student had a possibility to experiment with the simulations and to follow some theoretical explanations which are proposed in the theoretical part of the LO. Also during the classes the lecturer was using simulations to explain the principles of algorithms. Two basic teaching scenarios were applied. Scenario 1. The lecturer sets the problem. He/She discusses the basic points in the content of the problem with the students. As a result of the discussion the lecturer summarizes the algorithm for the problem solution in verbal form. The lecturer uses simulation to demonstrate by flowcharts how the algorithm will behave with different input data. After the flowchart of the algorithm is visualized, the lecturer describes the syntax and semantics of new statements and explains the programming code of the solution. Scenario 2. The lecturer demonstrates the simulation with different input data and sets the the behavior of the flowchart with different data. During the discussion, the students and the lecturer summarize the content of the problem. The lecturer introduces new statements from the programming language that is used for description of algorithm and explains the syntax and semantics of the statement.
Georgi Tuparov et al. / Procedia - Social and Behavioral Sciences 46 (2012) 2276 – 2280
2279
The aim understanding of the abstract knowledge about algorithms, and programming and to motivate students to continue their study in the area of computer science. 3. Findings and Results Our observations during the performance and use of simulation-based LOs in the framework of classes showed that students were impressed by the simulations. The simulations attracted the with low interest to the lectures started following the simulations and participate in the discussions. For evaluation of some issues of pedagogical and technical usability of proposed LOs, we conducted surveys to P multimedia learning materials and e-learning environments are discussed in the papers: (Nokelinen, 2006; Teoh & Neo, 2007; Hadjerroit, 2010; Brodahl & Smestad, 2009) and include basic constructs such as Understandability and Motivation. We proposed two anonymous surveys with equal questions for the evaluation of two simulation-based LOs. The evaluated LOs cover topics: IF Statements and Loops Statements. The surveys consist of 17 items. In the first item we ask students how often they used the simulation-based learning material. The items 2-15 are presented in a Likert the selfevaluation of knowledge about the syntax of C++ language mastered before using of LOs. The last item is an open one. The students have been asked to make suggestions for the improvement of the LOs. The items in the surveys were divided into three groups regarding pedagogical usability criteria Understandability (nine indicators) and Motivation (three indicators) and regarding technical usability criteria Graphical layout (two indicators). We obtained 26 responses, in five of the questionnaires there were missing eliability of the surveys are 0.853 for the IF statement LO and 0. rning content is presented in an understandable way in both learning objects the boundaries of the percentages of the students with the Understandability criteria are from 61% to 91% for both LOs. the category Understandability are 0.81 for IF Statement LO and LOs motivated students to participate actively in the educational process. For both LOs more than 85% of students declare that using of LOs ion to P 0.67 for IF Statement LO and 0. Statements LO. The students are satisfied with the Graphical Layout of the LOs. More than 80% agree with the proposed interface. Main suggestions given in the item 17 are directed to the development of similar multimedia LOs for other topics of the course. 4. Conclusions We presented in brief our experience with using of interactive simulations in an introductory course in programming. The results encouraged us to develop new LOs for learning abstract content of programming and algorithms. Our future work will be directed to localization of LOs in different languages and to study relations between achievements, their learning styles and attitude to using interactive simulation in introductory programming course. Acknowledgements The study is partially supported by t Blagoevgrad, Bulgaria, Contract N SRP-A6.
2280
Georgi Tuparov et al. / Procedia - Social and Behavioral Sciences 46 (2012) 2276 – 2280
Publication and presentation of the paper is supported by the Project BG051PO001/3.3-05Science and Business funded by Human Resources Development Operational Programme, co financed by the European Social Fund. References Areias C. M. & Mendes A. J & Gomes, A. J. (2007) Learning to program with ProGuide, In Proc. of International Conference on Engineering Education ICEE 2007, Coimbra, Portugal Atanasova G. & Hristova P. (2003) Flow chart interpreter - an environment for software animation representation, Proc. of International Conference on Computer Systems and Technologies , Ruse, Bulgaria BlueJ, http://www.bluej.org/about/what.html, Last retrieved at 28.11.2011 Brodahl C., & Smestad B. (2009) A Taxonomy as a vehicle for learning, [Electronic Version] Interdisciplinary Journal of E-Learning and Learning Objects, 5, 111-127 Garner, S. (2007). A program design tool to help novices learn programming. In ICT: Providing choices for learners and learning. Proceedings ascilite Singapore 2007, Last retrieved at 28.11.2011 from http://www.ascilite.org.au/conferences/singapore07/procs/garner.pdf Hadjerrouit Said, (2010) Developing Web-based learning resources in school education: a user-centered approach, [Electronic Version] Interdisciplinary Journal of E-Learning and Learning Objects, 6, 2010, 115-135 Jeliot 3 (2011, November 28), Jeliot 3 description , Last retrieved at 28.11.2011 from http://cs.joensuu.fi/jeliot/description.php Jenkins T, (2002) On the dificulty of learning to program, In Proc. of 3rd Annual LTSN-ICS Conference 2002, Loughborough University, Last retrieved at 28.11.2011 from http://www.ics.heacademy.ac.uk/Events/conf2002/tjenkins.pdf Korhonen A. & Malmi L. & Nikander J.& Tenhunen P. (2003) Interaction and feedback in automatically assessed algorithm simulation exercises, [Electronic Version] Journal of Information Technology Education, 2, 241-255 Krushkov H. & Krushkova M. &. Atanasov & Krushkova M., (2009) A Computer based tutoring system for programming, [Electronic Version] Mathematics and Mathematical Education, 39, Sofia, 354-358 (in Bulgarian) Lahtinen E., (2006) Integrating the use of visualizations to teaching programming, MMT2006 Proceedings, Last retrieved at 20.11.2011 from http://www.codewitz.net/mmt2006proceedings.php Marcelino M.& Mihaylov T. & Mendes A. (2008) H-SICAS, a handheld algorithm animation and simulation tool to support initial programming learning, In Proc. of 38th ASEE/IEEE Frontiers in Education Conference, Last retrieved at 20.11.2011 http://fieconference.org/fie2008/papers/1544.pdf Mendes A. J. , ProLEARN, A platform to support programming learning, MMT2006 Proceedings, Last retrieved at 20.11.2011 from http://www.codewitz.net/mmt2006proceedings.php Nokelainen, P. (2006). An empirical assessment of pedagogical usability criteria for digital learning material with elementary school students. [Electronic Version] Educational Technology & Society, 9 (2), 178-197. G, (2010, April 15) A Family of tools for supporting the learning of programming, Algorithms 2010, 3, 168-182, Last retrieved at 28.11.2011 from http://www.mdpi.com/1999-4893/3/2/168/pdf Salleh M. S. & Hood Z, Judi H.M. & Bakar M.A, (2009) File Format of Flow Chart Simulation Software CFlow, World Academy of Science, Engineering and Technology 53, 2009, 1100-1103 Teoh B. S. & Neo T, (2007) Interactive multimedia learning: students attitudes and learning impact in animation course, The Turkish Online Journal of Educational Technology TOJET, 2007 ISSN: 1303-6521 volume 6 Issue 4 Article 3, Last retrieved at 28.11.2011 from http://www.tojet.net/articles/643.pdf Zeil S. J., (2011) ALGAE - Algorithm Animation Engine, Reference Manual Version 3.0, 2011, Last retrieved at 28.11.2011 from http://www.cs.odu.edu/~zeil/AlgAE/referenceManual.pdf