Skip to main content

2014 | Buch

Guide to Teaching Computer Science

An Activity-Based Approach

verfasst von: Orit Hazzan, Tami Lapidot, Noa Ragonis

Verlag: Springer London

insite
SUCHEN

Über dieses Buch

This textbook presents both a conceptual framework and detailed implementation guidelines for computer science (CS) teaching. Updated with the latest teaching approaches and trends, and expanded with new learning activities, the content of this new edition is clearly written and structured to be applicable to all levels of CS education and for any teaching organization. Features: provides 110 detailed learning activities; reviews curriculum and cross-curriculum topics in CS; explores the benefits of CS education research; describes strategies for cultivating problem-solving skills, for assessing learning processes, and for dealing with pupils’ misunderstandings; proposes active-learning-based classroom teaching methods, including lab-based teaching; discusses various types of questions that a CS instructor or trainer can use for a range of teaching situations; investigates thoroughly issues of lesson planning and course design; examines the first field teaching experiences gained by CS teachers.

Inhaltsverzeichnis

Frontmatter
1. Introduction—What Is this Guide About?
Abstract
This chapter presents the motivation for writing this guide, the Methods of Teaching Computer Science (MTCS) course, for which the guide can serve as a textbook, the structure of the guide, and how it can be used in different frameworks of computer science education.
Orit Hazzan, Tami Lapidot, Noa Ragonis
2. Active Learning and Active-Learning-Based Teaching Model
Abstract
This chapter presents an active-learning-based teaching model for implementation in the Methods of Teaching Computer Science (MTCS) course, which is based on the constructivist approach. This model is used in most of the offered activities in this guide. The chapter starts with motivation and rationale for using active learning in the MTCS course; then, the active-learning-based teaching model is introduced and explained, including a description of the role of the instructor of the MTCS course in the model implementation.
Orit Hazzan, Tami Lapidot, Noa Ragonis
3. Overview of the Discipline of Computer Science
Abstract
This chapter proposes how to address in the Methods of Teaching Computer Science (MTCS) course topics associated with the nature of the discipline of computer science and with cross-curriculum topics. The importance of these topics is explained by the fact that even today, no consensus has been reached with respect to one agreed-upon definition for computer science, and different scholars view it differently. Specifically, the following topics are discussed in this chapter: what is computer science, the history of computer science, computer scientists, social issues of computer science, programming paradigms, computer science soft ideas, computer science as an evolving discipline, and computer science as an integrated and integral part of other disciplines. For each topic, its meaning and its importance and relevance in the context of computer science education are explained, and then, activities which deal with the said topic are presented.
Orit Hazzan, Tami Lapidot, Noa Ragonis
4. Research in Computer Science Education 4
Abstract
Computer science education research refers to different aspects such: students’ difficulties, misconceptions, and cognitive abilities, to vary activities that can be integrated in the learning process, to the advantages of using visualization and animations tools, to the computer science teacher’s role, and more. This meaningful sheered knowledge of the CS education community can enrich the prospective computer science teachers’ perspective. The chapter exposes the MTCS students' to that reach resource, and practice ways in which they can be used in their future work. This knowledge may enhance lesson preparation, kind of activities developed for learners, awareness to learners’ difficulties, ways to improve concept understanding, as well as testing and grading learners’ projects and tests. We first explain the importance of exposing the students to the knowledge gained by the computer science education research community. Then, we demonstrate different issues addressed in such research works and suggest activities to facilitate with respect to this topic.
Orit Hazzan, Tami Lapidot, Noa Ragonis
5. Problem-Solving Strategies
Abstract
Problem solving is one of the central activities performed by computer scientists as well as computer science learners. However, computer science learners often face difficulties in problem analysis and solution construction. Therefore, it is important that computer science educators are aware of these difficulties and acquire appropriate pedagogical tools to help their learners gain experience in these skills. This chapter is dedicated to such pedagogical tools. It presents several problem-solving strategies to address in the MTCS course together with appropriate activities to mediate them to the prospective computer science teachers.
Orit Hazzan, Tami Lapidot, Noa Ragonis
6. Learners’ Alternative Conceptions
Abstract
This chapter focuses on learners’ alternative conceptions. Since prospective teachers in general, and prospective computer science teachers in particular, face difficulties in gaining the notion of alternative conceptions, it is important to address this issue in the MTCS course and to deliver the message that a learning opportunity exists in each pupils’ mistake (or misunderstanding). Several pedagogical tools for exposing learners’ alternative conceptions are presented as well as three activities to be facilitated in the MTCS course.
Orit Hazzan, Tami Lapidot, Noa Ragonis
7. Teaching Methods in Computer Science Education
Abstract
This chapter presents active-learning-based teaching methods that computer science educators can employ in the classroom. The purpose of this chapter is first, to let the students in the Methods of Teaching Computer Science (MTCS) course experience a variety of teaching methods before becoming computer science teachers; second, to discuss, together with the students, the advantages and disadvantages of these teaching methods; and third, to demonstrate high school teaching situations in which it is appropriate to employ these teaching methods. Within this chapter, we discuss (a) pedagogical tools: games, the CS-unplugged approach, rich tasks, concept maps, classification, and metaphors; (b) different forms of class organization; and (c) mentoring software project development.
Orit Hazzan, Tami Lapidot, Noa Ragonis
8. Lab-Based Teaching
Abstract
This chapter focuses on computer science teaching methods that fit especially to be employed in the computer lab. The uniqueness of the computer lab as a learning environment for computer science is explained by the fact that it enables learners to explore their problem-solving strategies, to express their solutions to a given problem, to get feedback regarding to the correctness of their solution and to reflect on it, to develop large projects, to explore new topics, and to deepen their understanding of the nature of the algorithms they develop. The main purpose of the lessons in the Methods of Teaching Computer Science course is to expose the students to usages of the computer lab as a learning environment and to let them realize how it may improve their future pupils’ understanding of computer science ideas. One of the main messages of this chapter is that the learning of computer science in the computer lab is not limited to programming tasks; rather, the computer lab can be used in additional pedagogical ways that further enhance learners’ understanding of computer science. Specifically, the following topics are addressed in this chapter: what is a computer lab?, the lab-first teaching approach, visualization and animation, and using the Internet in the teaching of computer science.
Orit Hazzan, Tami Lapidot, Noa Ragonis
9. Types of Questions in Computer Science Education
Abstract
It explores and discusses different types of questions that computer science (CS) educators (middle and high school teachers as well as university instructors) can use in different teaching situations and processes: in the classroom, in the computer lab, as homework, or in exams. The chapter discusses also keywords that appear in problem-solving questions which reflect the need to apply high-order cognitive skills by learners when answering these questions. The chapter lays out the advantages of using a variety of question types both for learners and teachers, and focuses on the design process of different question types. Though the types of questions presented are mainly related to programming assignments, most of them are suitable also for other CS contents.
Orit Hazzan, Tami Lapidot, Noa Ragonis
10. Assessment
Abstract
Assessment is one of the most common tasks teachers perform from the early stages of their professional development. This chapter highlights the uniqueness of learners’ assessment in the case of computer science education, emphasizing that assessment is not a target by itself, but rather, a pedagogical means by which (a) teachers improve their understanding of the current knowledge of their learners and (b) learners get feedback related to their own understanding of the learned subjects. The chapter also delivers the message that the theme of assessment can be discussed in the Methods of Teaching Computer Science (MTCS) course in different opportunities, for example, learners’ alternative conceptions, project-based learning, and types of questions. This chapter focuses on tests, peer assessment, project evaluation, and the use of portfolio in computer science education. We end this chapter by addressing the assessment of the students enrolled in the MTCS course.
Orit Hazzan, Tami Lapidot, Noa Ragonis
11. Teaching Planning
Abstract
Teaching planning is one of the main pedagogical activities teachers perform. All the tools, ideas, and perspectives presented in the guide can be used and applied in the process of teaching planning, which is, to some extent, independent of the taught discipline. In this chapter, we offer and demonstrate a top-down approach for teaching planning which takes into account a wide range of considerations, and present several activities to be facilitated in the Methods of Teaching Computer Science (MTCS) course for this purpose. The principles of teaching planning presented in this chapter can serve any computer science educator in any teaching framework.
Orit Hazzan, Tami Lapidot, Noa Ragonis
12. Integrated View at the MTCS Course Organization: The Case of Recursion
Abstract
This chapter presents an optional organization theme for the Methods of Teaching Computer Science (MTCS) course around the concept of recursion. Based on the active learning-based teaching model, a series of themes is suggested, each one highlights a different pedagogical perspective. The themes are: classification of recursive phenomena (a nonprogramming task), the “leap of faith” approach, models of the recursive process, research on learning/teaching recursion, how does recursion sound? (the case of trees and fractals), evaluation (a nonprogramming project and a test construction), and a list of additional activities that illustrates that recursion can, indeed, be the focus of almost any topic discussed in the MTCS course. Each theme is accompanied with activities devoted to recursion to be facilitated in the MTCS course.
Orit Hazzan, Tami Lapidot, Noa Ragonis
13. Getting Experience in Computer Science Education
Abstract
This chapter deals with the teaching experience that the students enrolled in the Methods of Teaching Computer Science (MTCS) course gain before becoming computer science (CS) teachers. Three frameworks in which the prospective CS teachers gain their first teaching experience are presented: (1) The practicum, which takes place in high school, after one or two semesters of learning the MTCS course; (2) CS teacher training within the Professional Development School (PDS) collaboration framework; and (3) a tutoring framework that can be integrated in the MTCS course. We also present activities that can be facilitated in the MTCS course, in which the students deal with and analyze teaching scenarios taken from the practicum of other prospective CS teachers.
Orit Hazzan, Tami Lapidot, Noa Ragonis
14. Design of Methods of Teaching Computer Science Course
Abstract
This chapter describes how to design a Methods of Teaching Computer Science (MTCS) course within an academic computer science teacher preparation program, and suggests two possible syllabi for such a course. It is emphasized, however, that different approaches and frameworks can be applied when one designs the course. In the first section of this chapter, we propose four possible perspectives on the MTCS course: the NCATE standards, merging computer science with pedagogy, Shulman’s model of teachers’ knowledge, and research findings. The second section of the chapter describes two MTCS course syllabi. We mention that though the focus in this section is placed on the MTCS course, the course models, as well as parts of them, can be used also for other purposes related to computer science teaching, such as curriculum design and professional development of computer science teachers.
Orit Hazzan, Tami Lapidot, Noa Ragonis
15. High School Computer Science Teacher Preparation Programs
Abstract
This chapter puts the Methods of Teaching Computer Science (MTCS) course in the wider context of computer science teacher preparation programs. It first describes a model for high school computer science education that one of its components is computer science teacher preparation programs. The model consists of five key elements—a well-defined curriculum, a requirement of a mandatory formal computer science teaching license, teacher preparation programs, national center for computer science teachers, and research in computer science education—as well as interconnections between these elements. Then, the focus is placed on the teacher preparation programs component of the model, describing (1) a workshop targeted at computer scientists and computer science curriculum developers who wish to launch a computer science teacher preparation programs at their universities but lack knowledge about the actual construction of such programs and (2) the perspective that examines computer science teaching as an additional profession for computer science graduates.
Orit Hazzan, Tami Lapidot, Noa Ragonis
16. Epilogue
Abstract
This guide presents a comprehensive framework for the teaching of the Methods of Teaching Computer Science (MTCS) course as well as the teaching of additional other computer science and computer science education courses. We hope that it inspires the message that computer science learning and teaching processes can be fun, interactive, thought-provoking, and stimulating, and by delivering this message, learners’ interest in computer science learning on all levels will be increased.
Orit Hazzan, Tami Lapidot, Noa Ragonis
Backmatter
Metadaten
Titel
Guide to Teaching Computer Science
verfasst von
Orit Hazzan
Tami Lapidot
Noa Ragonis
Copyright-Jahr
2014
Verlag
Springer London
Electronic ISBN
978-1-4471-6630-6
Print ISBN
978-1-4471-6629-0
DOI
https://doi.org/10.1007/978-1-4471-6630-6