Teaching How to Think Like a Programmer

2022 ◽  
pp. 290-308
Author(s):  
Filiz Kalelioğlu ◽  
Yasemin Gülbahar ◽  
Dilek Doğan

This chapter aims to provide a general description of the preferred pedagogical approaches for the delivery and practice of computer science education based on a review of the literature. Pedagogical approaches mainly used in the teaching of computer science are unplugged activities, robotics programming, block-based or initial programming environments and cross-curricular activities. The preference of these pedagogical approaches varies according to the learners' age and level. Whilst all of these approaches can be used for all ages, some are aimed more at the beginner level than others. The benefits of using each of these approaches will be discussed in this chapter by way of considering educational tips.

Author(s):  
Filiz Kalelioğlu ◽  
Yasemin Gülbahar ◽  
Dilek Doğan

This chapter aims to provide a general description of the preferred pedagogical approaches for the delivery and practice of computer science education based on a review of the literature. Pedagogical approaches mainly used in the teaching of computer science are unplugged activities, robotics programming, block-based or initial programming environments and cross-curricular activities. The preference of these pedagogical approaches varies according to the learners' age and level. Whilst all of these approaches can be used for all ages, some are aimed more at the beginner level than others. The benefits of using each of these approaches will be discussed in this chapter by way of considering educational tips.


2018 ◽  
Vol 60 (2) ◽  
pp. 91-101 ◽  
Author(s):  
Mareen Przybylla ◽  
Ralf Romeike

AbstractIn computer science, computer systems are both, objects of investigation and tools that enable creative learning and design. Tools for learning have a long tradition in computer science education. Already in the late 1960s, Papert developed a concept which had an immense impact on the development of informal education in the following years: his theory of constructionism understands learning as a creative process of knowledge construction that is most effective when learners create something purposeful that they can try out, show around, discuss, analyse and receive praise for. By now, there are numerous learning and programming environments that are based on the constructionist ideas. Modern tools offer opportunities for students to learn in motivating ways and gain impressive results in programming games, animations, implementing 3D models or developing interactive objects. This article gives an overview of computer science education research related to tools and media to be used in educational settings. We analyse different types of tools with a special focus on the categorization and development of tools for student adequate physical computing activities in the classroom. Research around the development and evaluation of tools and learning resources in the domain of physical computing is illustrated with the example of “My Interactive Garden”, a constructionist learning and programming environment. It is explained how the results from empirical studies are integrated in the continuous development of the learning material.


Author(s):  
Nathalia da Cruz Alves ◽  
Christiane Gresse von Wangenheim ◽  
Jean C. R. Hauck ◽  
Adriano F. Borgatto

As computer science education makes its way into schools, diverse initiatives worldwide promote computer science education in K-12, often focusing on teaching algorithms and programming with block-based programming languages such as Scratch or App Inventor. However, alternatives to assess the learning of computer science concepts on this educational stage are still scarce. This chapter presents an automated rubric for assessing algorithms and programming concepts of App Inventor projects at middle school level. The assessment is based on a rubric proposed in alignment with the K-12 Computer Science Framework with satisfactory reliability and validity. The rubric has been automated through a web-based system that allows assessing App Inventor projects through static code analysis. As a result, it can support computer science education in practice providing feedback to students and teachers.


Author(s):  
Cristóbal Pareja-Flores ◽  
J. Ángel Velazquez-Iturbide

Programming is a central activity in the computing profession. It is facilitated by different tools (editors, compilers, debuggers, etc), which are often integrated into programming environments. Programming also plays a central role in computer science education. For this purpose, a number of complementary tools were developed during the last decade: algorithm animators, program visualizers, problem generators, assignment graders, and so forth.


2022 ◽  
pp. 524-549
Author(s):  
Nathalia da Cruz Alves ◽  
Christiane Gresse von Wangenheim ◽  
Jean C. R. Hauck ◽  
Adriano F. Borgatto

As computer science education makes its way into schools, diverse initiatives worldwide promote computer science education in K-12, often focusing on teaching algorithms and programming with block-based programming languages such as Scratch or App Inventor. However, alternatives to assess the learning of computer science concepts on this educational stage are still scarce. This chapter presents an automated rubric for assessing algorithms and programming concepts of App Inventor projects at middle school level. The assessment is based on a rubric proposed in alignment with the K-12 Computer Science Framework with satisfactory reliability and validity. The rubric has been automated through a web-based system that allows assessing App Inventor projects through static code analysis. As a result, it can support computer science education in practice providing feedback to students and teachers.


Author(s):  
Kyungbin Kwon ◽  
Jongpil Cheon

Although teachers need to assess computational thinking (CT) for computer science education in K-12, it is not easy for them to evaluate students’ programs based on the perspective. The purpose of this study was to investigate students’ CT skills reflected in their Scratch programs. The context of the study was a middle school coding club where seven students voluntarily participated in a five-week coding activity. A total of eleven Scratch programs were analyzed in two aspects: problem decomposition and program development. Results revealed that students demonstrated proper decompositions of problems, which supported program development processes. However, in some cases, students failed to decompose necessary parts as their projects got sophisticated, which resulted in the failure or errors of programs. Regarding program development, algorythmic thinking had been identified as the area to be improved. Debugging and evaluation of programs were the necessary process students needed to practice. Implications for teaching CT skills were discussed.


Sign in / Sign up

Export Citation Format

Share Document