Fostering Practical Developers in Computer Science Classrooms

Author(s):  
Yin Zhang

Real-life software development requires practical developers. This chapter discusses the challenges put by real-life software development on computer science education of modern universities, and how to face these challenges by changing traditional teaching and learning to a PBL-based approach. Based on a literature review on PBL theories, methods and tools, and observations made in classrooms and group rooms at Aalborg University, this chapter discusses possible aspects to consider when changing traditional computer science classrooms. A case is then used to demonstrate the process of changing traditional teaching and learning of a computer science course named Visual Programming and Applications to a PBL-based approach.

2022 ◽  
Vol 22 (2) ◽  
pp. 1-26
Author(s):  
Sadia Sharmin

Computer science is a fast-growing field in today’s digitized age, and working in this industry often requires creativity and innovative thought. An issue within computer science education, however, is that large introductory programming courses often involve little opportunity for creative thinking within coursework. The undergraduate introductory programming course (CS1) is notorious for its poor student performance and retention rates across multiple institutions. Integrating opportunities for creative thinking may help combat this issue by adding a personal touch to course content, which could allow beginner CS students to better relate to the abstract world of programming. Research on the role of creativity in computer science education (CSE) is an interesting area with a lot of room for exploration due to the complexity of the phenomenon of creativity as well as the CSE research field being fairly new compared to some other education fields where this topic has been more closely explored. To contribute to this area of research, this article provides a literature review exploring the concept of creativity as relevant to computer science education and CS1 in particular. Based on the review of the literature, we conclude creativity is an essential component to computer science, and the type of creativity that computer science requires is in fact, a teachable skill through the use of various tools and strategies. These strategies include the integration of open-ended assignments, large collaborative projects, learning by teaching, multimedia projects, small creative computational exercises, game development projects, digitally produced art, robotics, digital story-telling, music manipulation, and project-based learning. Research on each of these strategies and their effects on student experiences within CS1 is discussed in this review. Last, six main components of creativity-enhancing activities are identified based on the studies about incorporating creativity into CS1. These components are as follows: Collaboration, Relevance, Autonomy, Ownership, Hands-On Learning, and Visual Feedback. The purpose of this article is to contribute to computer science educators’ understanding of how creativity is best understood in the context of computer science education and explore practical applications of creativity theory in CS1 classrooms. This is an important collection of information for restructuring aspects of future introductory programming courses in creative, innovative ways that benefit student learning.


Author(s):  
Antonio Pérez-Carrasco ◽  
J. Ángel Velázquez-Iturbide

One concept that has proved to be especially difficult to comprehend in computer science education is recursion. This chapter provides an overview of past efforts on the teaching of recursion. The authors first introduce concepts and models about the teaching and learning of recursion. In particular, they identify models used by teachers to explain recursion (i.e. conceptual models) and models used by students in their learning process (i.e. mental models). Afterwards, they review the teaching methods used in the past. Finally, the authors survey visualization and animation systems for recursion, explaining how they support conceptual models and how they try to remove wrong mental models. They also include a comprehensive technical comparison of the systems and review the evaluations these systems have been subject to.


Author(s):  
Lucia Happe ◽  
Barbora Buhnova ◽  
Anne Koziolek ◽  
Ingo Wagner

AbstractThe interest of girls in computing drops early during primary and secondary education, with minimal recovery in later education stages. In combination with the growing shortage of qualified computer science personnel, this is becoming a major issue, and also a target of numerous studies that examine measures, interventions, and strategies to boost girls’ commitment to computing. Yet, the results of existing studies are difficult to navigate, and hence are being very rarely employed in classrooms. In this paper, we summarize the existing body of knowledge on the effective interventions to recruit and retain girls in computer science education, intending to equip educators with a comprehensive and easy-to-navigate map of interventions recommended in the existing literature. To this end, we perform an aggregated umbrella literature review of 11 existing reviews on the topic, together accumulating joined knowledge from over 800 publications, and formulate the findings in a map of 22 concrete interventions structured in six groups according to their phase and purpose.


Author(s):  
Anabela de Jesus Gomes ◽  
António José Mendes ◽  
Maria José Marcelino

This chapter aims to present and summarize a variety of research areas that directly or indirectly have influenced Computer Science Education Research, particularly associated to the teaching and learning of programming. It is known that many students encounter a lot of difficulties in introductory programming courses. Possible reasons for these difficulties are discussed and some existing proposals in the literature are presented. Based on this discussion, the chapter also includes a description of work done at the University of Coimbra, trying to define more adequate pedagogical strategies for introductory programming courses. The results obtained and their implementation in a common undergraduate course are presented and discussed. The authors conclude that this new strategy makes learning more stimulating for the students, minimizes dropout intentions, and makes the students learn more and better. The chapter ends with suggestions of future research opportunities within the topic of teaching and learning of programming.


Author(s):  
Nico Willert ◽  

For the past decade, video game- and gamification-elements get used in different fields of research. However, a contextualized usage of these elements is still underrepresented in the current research. For that reason, this research tries to identify contextualized game-elements in e-learning environments for computer science education. A systematic literature review examines the current overlap of feedback in computer science education by the use of game-elements. The relevant papers were identified by a combination of search-terms and analyzed according to a defined scope, that focuses on formative and summative feedback. In a nutshell, the majority of provided feedback in computer science education, that is not just given by an instructor, is often implemented by automated code tests. These are supported through techniques to monitor the performance of the student and their progress towards the set goal. Game- or gamification-elements do play a subordinate role, when providing feedback and are often just to enhance the monitoring process.


Sign in / Sign up

Export Citation Format

Share Document