Skip to main content

2011 | 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 guide presents both a conceptual framework and detailed implementation guidelines for general computer science (CS) teaching. The content is clearly written and structured to be applicable to all levels of CS education and for any teaching organization, without limiting its focus to instruction for any specific curriculum, programming language or paradigm. Features: presents an overview of research in CS education; examines strategies for teaching problem-solving, evaluating pupils, and for dealing with pupils’ misunderstandings; provides learning activities throughout the book; proposes active-learning-based classroom teaching methods, as well as methods specifically for lab-based teaching; discusses various types of questions that a CS instructor, tutor, or trainer can use for a range of different teaching situations; investigates thoroughly issues of lesson planning and course design; describes frameworks by which prospective CS teachers gain their first teaching experience.

Inhaltsverzeichnis

Frontmatter
1. Introduction – What Is This Guide About?
Abstract
The Introduction 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 the Active-Learning-Based Teaching Model
Abstract
This chapter* presents an active-learning-based teaching model for implementation in the MTCS course, which is based on the constructivist approach. This model is used in this Guide in most of the offered activities. The chapter starts with the motivation and the 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 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, and computer science soft ideas. For each topic, its meaning and its importance and relevance in the context of computer science education are explained, and then, several activities which deal with the said topic are presented.
Orit Hazzan, Tami Lapidot, Noa Ragonis
4. Research in Computer Science Education
Abstract
This chapter focuses on research in computer science education. The importance of including this topic in the MTCS course stems from the fact that computer science education research can enrich the prospective computer science teachers’ perspective with respect to the discipline of computer science, the computer science teacher’s role, and students’ difficulties, misconceptions, and cognitive abilities. Consequently, this knowledge may enhance the future work of the prospective computer science teachers in several ways, such as lesson preparation, kind of activities developed for learners, awareness to learners’ difficulties, ways to improve concept understanding, and 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 be aware of these difficulties and acquire appropriate pedagogical tools to help their learners gain experience in these skills. This chapter is dedicated to these 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 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 aim of the lessons in the MTCS course that are dedicated to this topic 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
As in the teaching of any discipline, computer science teachers are expected to vary their teaching methods, and therefore this pedagogical issue should be included in the MTCS course. This chapter focuses on how to achieve this pedagogical target by using different types of questions. It explores and discusses different types of questions that computer science 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 tests. The chapter lays out also 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 computer science contents.
Orit Hazzan, Tami Lapidot, Noa Ragonis
10. Evaluation
Abstract
Evaluation is one of the most common tasks teachers perform from the early stages of their professional development. This chapter highlights the uniqueness of learners’ evaluation in the case of computer science education, emphasizing that evaluation is not a target by itself, but rather, a pedagogical means by which (a) teachers improve their understanding of the current knowledge of their pupils, and (b) learners get feedback related to their own understanding of the learned subjects. The chapter also delivers the message that the theme of evaluation can be discussed in the MTCS course in different opportunities, for example, learners’ alternative conception, project-based learning, and types of questions. The topics on which this chapter focuses are tests, project evaluation and the use of portfolio in computer science education. We end this chapter by addressing the evaluation of the students enrolled in the MTCS course.
Orit Hazzan, Tami Lapidot, Noa Ragonis
11. Teaching Planning
Abstract
This chapter deals with teaching planning, which is one of the main pedagogical activities teachers perform. In fact, 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. Specifically, 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 MTCS course. The principles of teaching planning presented in this chapter, however, 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 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 non-programming 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 non-programming 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 first teaching experiences that the students enrolled in the MTCS course gain before becoming computer science teachers. It presents two frameworks in which the prospective computer science teachers gain this first teaching experience: The practicum, which takes place in high school, after one or two semesters of learning the MTCS course, and 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 computer science teachers.
Orit Hazzan, Tami Lapidot, Noa Ragonis
14. Design of a 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 MTCS course in the wider context of computer science teacher preparation programs. It first describes a model for high school computer science education model or 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 a workshop targeted at computer scientists and computer science curriculum developers who wish to launch computer science teacher preparation programs at their universities but lack knowledge about the actual construction of such programs.
Orit Hazzan, Tami Lapidot, Noa Ragonis
16. Epilogue
Abstract
This Guide presents a comprehensive framework for the teaching of the MTCS course as well as the teaching of additional other computer science and computer science education courses. As has been mentioned in this Guide, not all issues related to the teaching of these topics can be addressed in one Guide. Indeed, we view this book as a Guide that enables each computer science educator to further develop and adopt the material the Guide presents for his or her individual needs. For example, the teaching of advanced computer science topics can be based on applying the principles presented in this Guide, such as active learning active learning, lab-based teaching lab-based teaching, and the variations in teaching methods teaching methods, types of questions types of questions, and tasks presented to the learners.
Orit Hazzan, Tami Lapidot, Noa Ragonis
Backmatter
Metadaten
Titel
Guide to Teaching Computer Science
verfasst von
Orit Hazzan
Tami Lapidot
Noa Ragonis
Copyright-Jahr
2011
Verlag
Springer London
Electronic ISBN
978-0-85729-443-2
Print ISBN
978-0-85729-442-5
DOI
https://doi.org/10.1007/978-0-85729-443-2

Premium Partner