0% found this document useful (0 votes)
104 views

Guide To Teaching Computer Science

Uploaded by

Iva Stojcic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
104 views

Guide To Teaching Computer Science

Uploaded by

Iva Stojcic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 9
10 8 Labsasedeating Activity $3 (continued) approach? Does this approach fit all leamers, all teachers, specific types of learners, specific types of teachers? What class organizations fit forthe lab-frst approach (see Sect. 7.3)? > Stage C: Development and analysis of a lab-rst worksheet, homework ‘The students are asked to sclect a computer science topic and to develop a work sheet that teaches the selected topic in the lat-first teaching approach. For each. ‘question/task presented in the worksheet, the students should explain is purpose and the pedagogical principles that guided the task formulation, ‘We summarize several atributes of the la-first teaching approach: ‘The labfirst is the first step in learners’ leaming of @ new topic. After the lab, a lesson should take place inthe clas, in which the computer science teacher, together withthe learners, summarizes what was learned in the lab © Although the lab-first teaching approach has many pedagogicsl and cognitive advan- tages, some teachers avoid using it from different reasons, mainly because it changes the traditional eaching approach und the design of such worksheets requires the expres- sion of creative thinking. © When the lab-first teaching approach is applied in the first time, itis new and unfamiliar both to the computer seience teacher and to the pupils. This fet should be taken into the considerations and immediate conclusions about its usefulness should be avoided, After itis experienced several times, however, both the computer science teacher and the pupils may start realizing its advantages und the challenges it introduces. 84 Visualization and Animation ‘According to Wikipedia? “the objectives of software visualizations are to support the understanding of software systems (i, its structure) and algorithms (e.g, by animating the ‘behavior of sorting algorithms) as well as the analysis of software systems and their anoma- lies (e.g, by showing classes with high coupling)” Price et al. 1998) distinguish between program and algorthin visualization, Based on Price et al (1998), UrguiaseFuentes and ‘Velizquez-lturbide (2009) give the following definitions for these terms: Algorithm visualizations: The static or dynamic visualization of higher-level abstractions which deseribe the software Program visualizations: ‘The visualization of actual program code or data structures — low-level abstraction ~in either static or dynamic form. * Source: htp:en.wikipedia.og/wikiSofware visualization, {4 Manton and dition m ‘Naps etal. (2003) claim that “the impetus for visualization in computing comes from the inherent absiractness of the basie building blocks of the field, Intuition suggests that, bby making these building blocks more coneret, graphical representations would help one to better understand how they work.” However, based on Naps etal. (2003), Rassling and \elizque7-lturbide (2009) claim that though “intuitively, most educators agrce about the great potential of software visualization for computer science education, adoption of soft- ‘ware visualization is lower than developers of program or algorithm visualization systems ‘would expect.” They summarize a survey, conducted among educators by the ITiCSE 2002 ‘Working Group on “Improving the Educational Impact of Algorithm Visualization” (Naps tal. 2003), which determined the most frequently cited factors that made educators relue- tant or unable to use software visualizations. Among these factors they mentioned: ‘+ Lack of time for different tasks (eg, to learn a new tool orto develop a visualization), © Technical issues of software visualization tools (¢, lack of effective development tools of lack of reliable software). ‘Integration into the courses or the classroom (eg. time to adapt visualizations to a course or visualizations may hide important details or concepts). + Other factors (including lack of evidence of educational effectiveness). Ben-Bassat Levy and Ben-Ari (2007) attribute two primary causes to teachers’ negative ‘experience with animation systems: “First, a pedagogical software tool cannot stand on its ‘owns rather, it must be integrated into the curriculum through ther learning materials such as the textbook. [..] Second, to the extent that a software tool is intended for independent use by students as opposed to demonstrations during frontal instruction by the teacher the issue of the centrality ofthe teacher must be taken into account. Centrality appears to be an issue both for experienced and highly confident teachers, and for those with litle expe- rience and low self confidence.” (p.250). They conclude that their research highlights “the extreme importance of issues relating to control. It is not enough to develop a beautiful and pedagogical useful tool; issues such as easy installation, training courses, and tutorials are ‘of equal importance because they will inerease an educator's feeling of control. Similarly, training courses should not ignore operational or pedagogical difficulties that can a from the use of a software tool, They should address the changing role of the educator ‘when using the tool, emphasizing that they remain in control and do not relinquish their central postion.” (Ben-Bassat Levy and Ben-Ari 2008, p. 172) Shaffer et al. (2010) present findings regarding the state ofthe field of algorithm visual- ization based on analysis ofa collection of aver 500 algorithm visualizations. They state that ‘many algorithm visualizations are oflow quality and coverage is skewed toward a few easier topics and suggest that this can make it hard for instructors to locate what they need, In order to deepen the understanding of how learners can be involved in an educational ‘environment that includes visualization, Naps et al. (2003) define an Engagement ‘Taxonomy. This taxonomy is based on six different forms of leamer engagement with visualization technology, as is described very briefly in what follows: + No viewing: No visualization technology is used at ll, © Viewing: Viewing by itselfs the most passive form of engagement, but atthe same time is the core form of engagement, since all other forms of engagement with visualization ental some kind of viewing, 1m 8 Labsasedeating + Responding: The key activity in this category is answering questions concerning the visualization presented by the system, © Changing: The key activity inthis category allows learners to change the input of the algorithms under study in order to explore the algorithm’s behavior indifferent cases © Constructing: Leamers construct their own visualizations of the topic understudy. © Presenting: A visualization is presented to an audience for feedback and diseussion, ‘The visualizations to be presented may or may not have een created by the learners themselves Myller etal. (2009) extend Naps et als Engagement Taxonomy by adding the follow- ng categories (p. 7: 8, the added categories are presented in bold inthe following list): * No viewing. Viewing © Controlled viewing: The visualization is viewed and the students contro the visualiza- tion, for example, by selecting objects to inspect or by changing the speed of the animation © Entering input: The student enters input to a program or parameters to a method before or during their execution. + Responding. © Cher © Modifying: Modification of the visualization is caried out before itis viewed, for example, by changing source code or an inpt set. © Constructing © Presenting, ‘Reviewing: Visualizations are viewed forthe purpose of providing comments, tions and feedback on the visualization itself or onthe program oF algorithm, gees \Wernote, though we do not concentrate in this Guide on system-level computer archi- tecture, that simulations for system-level computer architecture that uses visualization and animation are also used in computer science education (Yeherkel et al. 2007; Taghavi etal. 2009}, Yehezkel (2002), for example, describes taxonomy fr visualization of com- puter architecture and introduce the EasyCPU environment’ in the context of this taxonomy, ‘The purpose of Activities 54-59 isto let the students explore different ways by which itis possible to use animation and visualization in their furure computer science classes. Activity $4 focuses on algorithm visualization; Activity 5S examines music as # kind of visualization; Activity 56 focuses on software visvalization and animations Activity 57 explores visualization-based IDEs (integrated development environments); Activity 58 ‘explores the Media Computation teaching approach; and Activity 59 summarizes what the seudents have worked on in Activities 54-58, Soe hupiiestavillanova.edwCITIDEL handle/10117/216 {4 Manton and dition 3 Since most of Activities 54-59 are based on the exploration of environments that use animation or visualization in some way, more than one lesson of the MICS course should ‘be dedicated to this topic. If time constrains do not allow it, some of the exploration work should be done by the students at home as a preparation toward the lesson, Activity 54: Algorithm Visualization > Stage A: Increasing students” attention to visualization The instructor presents to the students a text that describes an algorithm with ‘which (itis reasonable to assume) they are familiar, for example, one of the sort, search or traverse algorithms. Then, the instructor presents the following tasks: © Represent the given algorithm differently. (One option that will be probably sug- gested by the students is to represent it visually). © Suggest different visualization ways to present the algorithm. ‘After the students” suggestions are discussed, they are asked to work on the follow- ing tas: © Find an animation of this algorithm on the Internet and explore differences between the given text description of the algorithm and its animation. Explore these differences also from a pedagogical perspective. > Stage B: Design a visuaization-based worksheet, group work The students are asked to design a worksheet that teaches the said algorithm to novice computer science leamers and uses the algorithm animation they found on the Web. The students can choose to develop a worksheet which is ether based on. the lab-fst approach (see Sect, 8.3 above) of used alRer the learners were intro- duced to the algorithm in the class. The students should be asked also to explain ‘each of their considerations inthe design process of the worksheet. > Stage C: Introducing Nap’s (extended) Engagement Taxonomy, class discussion ‘The instructor of the MTCS course: “© Presents Nap’s Engagement Taxonomy (sce above) tothe students (alternatively, the extended taxonomy can be presented). © Completes Table 8.3 together with the studeats with respect to general algorithm animation > Stage D: Examination of questions’ potential contribution to learners" learning, group work (continued) ™ 8 Labsasedeating Activity $4 (continued) Table83. Questions for each level of Nap's Engagement Taxonomy Poe ee nts switable w be asked in each the understanding ofthe learned Peer topic? No viewing Viewing Responding Changing Constructing Presenting Each group categorizes the questions it included in the worksheet designed in Stage B according to Nap’s Engagement Taxonomy and examines each question’s potential contribution to learners’ learning of the said computer science topic, If needed, the students are asked to update or modify the questions based on this > Stage E: Summary In the summary of this activity it is important to highlight that visualization and animation have the potential to promote computer seience learning from several reasons. Fist, visualization and animation support very naturally active fearing; second, they enable learners to coneretize abstract concepts; and finally, learners ‘may conceive visualization and animation as a kind of a game (sce Chap. 7), and ‘therefore their use may increase the learners’ interest in computer scienee. > Stage F: Homework © Option 1: The students work at home on the following activites, which offer ‘them an addtional opportunity to rethink the diferent usages of visualization and animation in the context of computer science education. = Develop the second kind of worksheet than the one you developed in the class the worksheet is given to learners cither before or after they lear the said computer science topic (see Stage B). = Formulate guidelines for the development of 2 worksheet that is based on Jeamers’ engsgement with algorithm/program snimation/visualiza Reflect: What considerations guided you in the formulation of these guidelines? © Option 2: Explore The Algorithm Visualization Portal Suggest at least five usages of this website in high school computer science teaching, “See hupslgoviz.org) {4 Manton and dition 35 Activity $5: Musical Debugging Music is one aspect of visualization and can be used in computer science education in several ways. For example, this musical debugging activity (Lapidot and Hazzan 2005) increases leamers’ awareness to their debugging processes, the importance of debug ging, and its relationship to leaming processes. It also illustrates different and non ‘conventional use ofthe computer la > Stage A: Debugging 2 song melody, work in pairs with the computer ‘The students are given a familiar song, a nonworking computer program of its ‘melody, the program listing, and the melody. They are asked to debug the program and to document ther actions and the strategies they used during the debugging process. While working on these tasks, the students debug the program, trying to make it ‘a working program, that is, # program that plays the correct melody, Usually, they start with syntax errors, which are easier to detect and obtain a program devoid of syntax errors, At ths stage, they realize that the program does not play properly the correct melody and start debugging the semantic (or logical) errors ofthe program, > Stage B: Class discussion The discussion that follows the activity can be viewed on two levels (On the firs level, content i addressed. The students present the errors they found in the program and deseribe their debugging strategies. This discussion offers an. ‘opportunity to address programming errors and theit classification in diferent ways: (ea, syntax errors are the easiest to find vs logical errors are the most difficult: Jocate), When lesmers are asked to generalize their own strategies, the discussion focuses on general debugging strategies. ‘The second level of the discussion facuses on topics such asthe following ones: the importance of debugging in computer science end in computer science eduica- tion, the teaching of debugging, and the place of debugging in the computer science curriculum. In this context, debugging can be addressed from the perspective of soft ideas (see Sect. 3.7 > Stage C: Prepare a debugging activity or read articles that address debugging, homework ‘The students are asked to prepare another debugging activity oto read articles that address debugging (e,, Spohrer and Soloway 1986; Perkins and Martin 1986) and to comment on them from a pedagogical point of view. Act ity 56: Software Visualization and Animation There are computational environments, designed especially for pedagogical purposes that use visualization and animation to demonstrate how programs work. In order to discuss this issue meaningfully withthe students, itis important to let them experience first atleast two such environments, as is laid out in what follows. (continued) 1% 8 Labsased eating Activity S6 (continued) > Stage A: Exploration of object-oriented program visualization and animation, work in pai ‘The students are asked to explore applications which are based on visualization and animation. Two such applications are Jeliot* and Blue!" ‘The students are asked to explore these environments with one of the tuorials ‘available on the Web. Specifically, the students ean be asked to analyze these envi- ronments from a pedagogical perspective (thst is, when and how these cnviron~ ments can be used for teaching purposes) and to think about advantages and disadvantages of these environments for learning purposes. > Stage B: Class discussion ‘The class discussion that follows this exploration should address topics such as the following: advantages and disadvantages of program visualization, the fitness of such environments to diversiall leamers, concepts that their learning is supported by these environments, and misconception that such environments may create. > ‘Stage C; Read a paper, homework ‘The students ure asked to find, read, and submit a critical report on one of the research papers that deals with novice learning ofthe object-oriented paradigm with ‘one ofthese environments. See Chap, 4 for additional details about assignments that deal with research on computer science education. Activity $7: Visualization- and Animation-Based IDEs ‘Visualization and animation-based IDEs use visualization/animation to support learn crs first programming steps, by allowing learners to work with more conerete objects in ther rt leaming steps of computer science. Here ar several examples of such IDE (listed hore alphabetically): Alics,’ Greenfoot Karcl J. Robot? MicroWords,” Scratch, Squcak,” Starlogo! I is notable, dhough, that many of them are inspired by Paper's Mindstorms philosophy (Papert 1950). (continued) *Souree:hipes joensuu. Fiji “Source: htp/www.blue} ore/downloed download him * Source: hnpsiwww alice orp *Source: hip greenfoot org * See: upiesis pace edu-hergi/Karellava2ed/Karel-+Javab.iton hil "See hpvww mcroworld. con "See: ip iseratch mit ed "aSee: hepuiwww.squeak org See htpl/education mit edulstarlogo! "See also TOCE special issue on Initial Learaing Environments (November 2010, vol. 10(4) {4 Manton and dition w Activity $7 (continued) ‘The students are asked to explore these IDES in two stages, as is described in whst follows, > Stage A: Solving a problem in one ofthe visualization/animation-based IDEs, work in pairs “The students are asked to solve a problem in each (orin selected ones) visualization- ‘or animation-based IDE that illustrates the IDE's pedagogical approach. It is recom- ‘mended thatthe instructor of the MTCS course gives the students specific task(s)t0 ‘work on. The above websites suguest a variety of tasks that can fit for this purpose. > Stage B: Analysis ofthe visuaization-/animation-based IDES, class diseussion © What are the differences between the IDEs? © What are the advantages and disadvantages of each IDE? © What are the differences between these IDEs and algorithm animation? Activity 58: Media Computation “Media Computation (nicknamed “MediaComp")is a contextualized approach to intro-

You might also like