Guide to Teaching Computer Science

Similar documents
BENG Simulation Modeling of Biological Systems. BENG 5613 Syllabus: Page 1 of 9. SPECIAL NOTE No. 1:

Perspectives of Information Systems

GACE Computer Science Assessment Test at a Glance

International Series in Operations Research & Management Science

For information only, correct responses are listed in the chart below. Question Number. Correct Response

THE PROMOTION OF SOCIAL AWARENESS

Professional Learning Suite Framework Edition Domain 3 Course Index

Availability of Grants Largely Offset Tuition Increases for Low-Income Students, U.S. Report Says

Field Experience and Internship Handbook Master of Education in Educational Leadership Program

Developing Language Teacher Autonomy through Action Research

Test Administrator User Guide

McDonald's Corporation

School of Basic Biomedical Sciences College of Medicine. M.D./Ph.D PROGRAM ACADEMIC POLICIES AND PROCEDURES

DEVM F105 Intermediate Algebra DEVM F105 UY2*2779*

A BLENDED MODEL FOR NON-TRADITIONAL TEACHING AND LEARNING OF MATHEMATICS

MARE Publication Series

ETHICAL STANDARDS FOR EDUCATORS. Instructional Practices in Education and Training

Faculty Athletics Committee Annual Report to the Faculty Council September 2014

Pragmatic Constraints affecting the Teacher Efficacy in Ethiopia - An Analytical Comparison with India

Course Content Concepts

Background Information. Instructions. Problem Statement. HOMEWORK INSTRUCTIONS Homework #3 Higher Education Salary Problem

Accounting 380K.6 Accounting and Control in Nonprofit Organizations (#02705) Spring 2013 Professors Michael H. Granof and Gretchen Charrier

LEARNING THROUGH INTERACTION AND CREATIVITY IN ONLINE LABORATORIES

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

Characteristics of the Text Genre Informational Text Text Structure

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Ph.D. in Behavior Analysis Ph.d. i atferdsanalyse

Timeline. Recommendations

Maximizing Learning Through Course Alignment and Experience with Different Types of Knowledge

Instrumentation, Control & Automation Staffing. Maintenance Benchmarking Study

More ESL Teaching Ideas

Reviewed by Florina Erbeli

Reducing Abstraction When Learning Graph Theory

Lesson Plan Art: Painting Techniques

The University of Texas at Tyler College of Business and Technology Department of Management and Marketing SPRING 2015

CELTA. Syllabus and Assessment Guidelines. Third Edition. University of Cambridge ESOL Examinations 1 Hills Road Cambridge CB1 2EU United Kingdom

CWSEI Teaching Practices Inventory

BPS Information and Digital Literacy Goals

Communication and Cybernetics 17

Economics Unit: Beatrice s Goat Teacher: David Suits

MINISTRY OF EDUCATION. This syllabus replaces previous NSSC syllabuses and will be implemented in 2010 in Grade 11

AUTONOMY. in the Law

An Interactive Intelligent Language Tutor Over The Internet

Digital Media Literacy

US and Cross-National Policies, Practices, and Preparation

POFI 1301 IN, Computer Applications I (Introductory Office 2010) STUDENT INFORMANTION PLAN Spring 2013

We seek to be: A vibrant, excellent place of learning at the heart of our Christian community.

THE WEB 2.0 AS A PLATFORM FOR THE ACQUISITION OF SKILLS, IMPROVE ACADEMIC PERFORMANCE AND DESIGNER CAREER PROMOTION IN THE UNIVERSITY

ENGLISH Training of Trainers

Knowledge Synthesis and Integration: Changing Models, Changing Practices

Pre-vocational Education in Germany and China

IDS 240 Interdisciplinary Research Methods

Physics 270: Experimental Physics

Southern Wesleyan University 2017 Winter Graduation Exercises Information for Graduates and Guests (Updated 09/14/2017)

PROGRAMME SPECIFICATION KEY FACTS

Educator s e-portfolio in the Modern University

MMOG Subscription Business Models: Table of Contents

Agent-Based Software Engineering

Learning Microsoft Office Excel

OilSim. Talent Management and Retention in the Oil and Gas Industry. Global network of training centers and technical facilities

TABLE OF CONTENTS TABLE OF CONTENTS COVER PAGE HALAMAN PENGESAHAN PERNYATAAN NASKAH SOAL TUGAS AKHIR ACKNOWLEDGEMENT FOREWORD

Designing Propagation Plans to Promote Sustained Adoption of Educational Innovations

Administrative Master Syllabus

Required Materials: The Elements of Design, Third Edition; Poppy Evans & Mark A. Thomas; ISBN GB+ flash/jump drive

ED487: Methods for Teaching EC-6 Social Studies, Language Arts and Fine Arts

MULTIMEDIA Motion Graphics for Multimedia

content First Introductory book to cover CAPM First to differentiate expected and required returns First to discuss the intrinsic value of stocks

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

IMPROVING STUDENTS SPEAKING SKILL THROUGH

Note: Principal version Modification Amendment Modification Amendment Modification Complete version from 1 October 2014

Airplane Rescue: Social Studies. LEGO, the LEGO logo, and WEDO are trademarks of the LEGO Group The LEGO Group.

CHALLENGES FACING DEVELOPMENT OF STRATEGIC PLANS IN PUBLIC SECONDARY SCHOOLS IN MWINGI CENTRAL DISTRICT, KENYA

Knowledge-Based - Systems

College of Liberal Arts (CLA)

What is PDE? Research Report. Paul Nichols

A Note on Structuring Employability Skills for Accounting Students

Knowledge management styles and performance: a knowledge space model from both theoretical and empirical perspectives

PM tutor. Estimate Activity Durations Part 2. Presented by Dipo Tepede, PMP, SSBB, MBA. Empowering Excellence. Powered by POeT Solvers Limited

Book Catalogue Hellenic American Union Publications. English Language Teaching

Identifying Novice Difficulties in Object Oriented Design

Full text of O L O W Science As Inquiry conference. Science as Inquiry

ED : Methods for Teaching EC-6 Social Studies, Language Arts and Fine Arts

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS. PROFESSIONAL PRACTICE IDT 2021(formerly IDT 2020) Class Hours: 2.0 Credit Hours: 2.

EDIT 576 DL1 (2 credits) Mobile Learning and Applications Fall Semester 2014 August 25 October 12, 2014 Fully Online Course

DIDACTIC MODEL BRIDGING A CONCEPT WITH PHENOMENA

DESIGN, DEVELOPMENT, AND VALIDATION OF LEARNING OBJECTS

Oklahoma State University Policy and Procedures

Delaware Performance Appraisal System Building greater skills and knowledge for educators

Spring 2015 CRN: Department: English CONTACT INFORMATION: REQUIRED TEXT:

Spinners at the School Carnival (Unequal Sections)

Business. Pearson BTEC Level 1 Introductory in. Specification

THE UNITED REPUBLIC OF TANZANIA MINISTRY OF EDUCATION, SCIENCE, TECHNOLOGY AND VOCATIONAL TRAINING CURRICULUM FOR BASIC EDUCATION STANDARD I AND II

Prentice Hall Literature: Timeless Voices, Timeless Themes Gold 2000 Correlated to Nebraska Reading/Writing Standards, (Grade 9)

University of Cambridge: Programme Specifications POSTGRADUATE ADVANCED CERTIFICATE IN EDUCATIONAL STUDIES. June 2012

Developing an Assessment Plan to Learn About Student Learning

Execution Plan for Software Engineering Education in Taiwan

EQuIP Review Feedback

Excel Formulas & Functions

Lecture Notes on Mathematical Olympiad Courses

Instructional Supports for Common Core and Beyond: FORMATIVE ASSESMENT

Transcription:

Guide to Teaching Computer Science

Orit Hazzan Tami Lapidot Noa Ragonis Guide to Teaching Computer Science An Activity-Based Approach

Dr. Orit Hazzan Associate Professor Technion - Israel Institute of Technology Dept. Education in Technology & Science Technion City, Haifa Israel oritha@techunix.technion.ac.il Dr. Noa Ragonis Beit Berl College Computer Science Studies, School of Education Doar Beit Berl Israel noarag@beitberl.ac.il Dr. Tami Lapidot Technion - Israel Institute of Technology Dept. Education in Technology & Science Technion City, Haifa Israel lapidot@tx.technion.ac.il ISBN 978-0-85729-442-5 e-isbn 978-0-85729-443-2 DOI 10.1007/978-0-85729-443-2 Springer London Dordrecht Heidelberg New York British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library Library of Congress Control Number: 2011926690 Springer-Verlag London Limited 2011 Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of reprographic reproduction in accordance with the terms of licenses issued by the Copyright Licensing Agency. Enquiries concerning reproduction outside those terms should be sent to the publishers. The use of registered names, trademarks, etc., in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant laws and regulations and therefore free for general use. The publisher makes no representation, express or implied, with regard to the accuracy of the information contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that may be made. Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com)

To our families, students and colleagues

Prologue This Guide to Teaching Computer Science can serve all computer science educators, both in high school and in academia, i.e., computer science university instructors, high school computer science teachers, and instructors of computer science teacher preparation programs. Specifically, the Guide can be used as the textbook of the Methods of Teaching Computer Science (MTCS) course, offered to prospective and in-service computer science teachers. In all cases, the Guide is organized in a way that enables an immediate application of its main ideas. This goal is achieved by presenting the rationale for addressing a variety of computer science education topics, as well as their detailed actual teaching process (including activities, worksheets, topics for discussions, and more). The Guide encompasses the authors teaching and research experience in computer science education gained during the past three decades. Specifically, we have taught courses on computer science and on computer science education to high school computer science pupils, undergraduate computer science students, and pre-service and in-service computer science teachers. In parallel, we have conducted research on a variety of computer science education topics, such as, teaching methods, learning processes, teacher preparation, and social issues of computer science education. We would like to thank all who contributed to our understanding of the nature of computer science education and fostered the approach presented in this Guide: our students in the MTCS courses, high school classes, and in-service high school teacher professional development programs, as well as colleagues, researchers and instructors who collaborated with us in a variety of research and development projects. They all, during the past three decades, shared with us their knowledge, professional experience, thoughts and attitudes with respect to computer science education. December 2010 Orit Hazzan Tami Lapidot Noa Ragonis vii

Contents 1 2 Introduction What Is This Guide About?... 1.1 Introduction... 1.2 Motivation for Writing This Guide... 1.3 The Methods of Teaching Computer Science (MTCS) Course... 1.3.1 MTCS Course Overview... 1.3.2 Course Population... 1.3.3 Course Objectives... 1.3.4 Recommended Teaching Methods Used in the MTCS Course... 1.4 The Structure of the Guide to Teaching Computer Science... 1.4.1 Guide Structure and Organization... 1.4.2 The Content of the Guide Chapters... 1.5 How to Use the Guide?... 1.5.1 Instructors of the MTCS Course... 1.5.2 The Prospective Computer Science Teachers Enrolled in the MTCS Course... 1.5.3 Computer Science Instructors in the University... 1.5.4 Instructors of In-Service Teachers Professional Development Programs... 1.5.5 High School Computer Science Teachers... References... Active Learning and the Active-Learning-Based Teaching Model... 2.1 Introduction... 2.2 Active Learning... 2.3 Why Active Learning Is Suitable for Implementation in the MTCS Course?... 2.4 Active-Learning-Based Teaching Model... 2.5 The Role of the Instructor in the Active-Learning-Based Teaching Model... References... 1 1 2 3 3 4 4 5 5 5 6 9 10 11 11 11 11 12 13 13 14 14 16 18 19 ix

x 3 4 Contents Overview of the Discipline of Computer Science... 3.1 Introduction... 3.2 What Is Computer Science?... Activity 1: The Nature of Computer Science... Activity 2: Computer Science and Other Sciences... 3.3 The History of Computer Science... Activity 3: Plan a Lesson About the History of Computer Science... Activity 4: History of Computational Machines... 3.4 Computer Scientists... Activity 5: Preparation of a Presentation on a Computer Scientist... 3.5 Social Issues of Computer Science... 3.5.1 Ethics in Computer Science Education... Activity 6: Analysis of Ethical Dilemmas... 3.5.2 Diversity... Activity 7: Diverse Class Demography... Activity 8: Test Evaluation... Activity 9: Gender Diversity... 3.6 Programming Paradigms... Activity 10: Programming Paradigms Exploration of Learners Knowledge... Activity 11: Abstract-Oriented Examination of Programming Paradigms... Activity 12: Activity Design for a Given Programming Paradigm... 3.7 Computer Science Soft Ideas... 3.7.1. What Are Computer Science Soft Ideas?... 3.7.2 Computer Science Soft Ideas in the MTCS Course... Activities 13 14: Introduction to Soft Ideas... Activity 13: Types of Concepts, Class Discussion... Activity 14: Computer Science Concept Classification, Teamwork... Activity 15: Construction of Tasks and Questions About Soft Ideas... Activities 16 19: Computer Science Heuristics: The Case of Abstraction... References... Research in Computer Science Education... 4.1 Introduction... 4.2 Research in Computer Science Education: What Is It and Why and How Is It Useful?... 4.2.1 Computer Science Education Research Categories... 4.2.2 Computer Science Education Research on Learning and Teaching Processes... 4.2.3 Resources for Computer Science Education Research... 4.3 MTCS Course Activities... Activity 20: Exploration of a Computer Science Education Research Work on Learners Understanding of Basic Computer Science Topics... 21 21 22 23 25 26 26 28 28 29 29 30 31 32 32 32 33 33 35 36 37 38 38 39 41 41 42 42 43 45 47 47 48 48 50 52 52 53

Contents Activity 21: The Computer Science Education Research World... Activity 22: Looking into a Research Work on Novices Difficulties... Activity 23: The Teacher as a Researcher... Activity 24: Reflection on Reading a Computer Science Education Paper... References... 5 6 Problem-Solving Strategies... 5.1 Introduction... 5.2 Problem-Solving Processes... Activity 25: Problem-Solving Techniques in Computer Science... 5.3 Problem Understanding... Activity 26: Examination of Representative Inputs and Outputs... 5.4 Solution Design... 5.4.1 Defining the Problem Variables... Activity 27: Choosing the Problem Variables... Activities 28 29: Roles of Variables... 5.4.2 Stepwise Refinement... Activity 30: Practicing Stepwise Refinement Break Down Problem Solutions into Subtasks... Activity 31: Practicing Stepwise Refinement Analyze a List of Problems... 5.4.3 Algorithmic Patterns... Activities 32 34: Practicing Algorithmic Patterns... 5.5 Solution Examination... Activity 35: Examination of the Debugging Process... Activity 36: Development of a Lab Activity about Debugging... 5.6 Reflection... Activity 37: Reflective Activity in Computer Science Education... References... Learners Alternative Conceptions... 6.1 Introduction... 6.2 Pedagogical Tools for Dealing with Alternative Conceptions... 6.3 Activities to Be Facilitated in the MTCS Course... Activity 38: Exploration of a Computer Science Education Research Work on Learners Understanding of Basic Computer Science Topics... Activity 39: Evaluation of a Pupil s Answer in a Written Exam... Activity 40: A Clinical Conversation with a Pupil as a Means to Reveal Alternative Conceptions... References... xi 53 54 55 59 60 63 63 64 65 66 66 67 67 67 68 70 71 71 71 72 73 73 73 74 75 77 79 79 81 82 82 84 86 89

xii 7 8 Contents Teaching Methods in Computer Science Education... 7.1 Introduction... 7.2 Pedagogical Tools... 7.2.1 Pedagogical Games... Activity 41: Pedagogical Examination of Games... 7.2.2 The CS-Unplugged Approach... Activity 42: Pedagogical Examination of the CS-Unplugged Approach... 7.2.3 Rich Tasks... Activity 43: Pedagogical Examination of Rich Tasks... 7.2.4 Concept Maps... Activity 44: Pedagogical Examination of Concept Maps... 7.2.5 Classification of Objects and Phenomena from Life... Activity 45: Pedagogical Examination of Classification... 7.2.6 Metaphors... Activity 46: Metaphors Preparing a Poster, Variable Exhibition... Activity 47: Metaphors Advantages and Disadvantages of Metaphors... 7.3 Different Forms of Class Organization... Activity 48: Different Forms of Class Organizations... 7.4 Mentoring Software Project Development... Activity 49: Analysis of Mentoring Software Project Development Situations... Activity 50: Scheduling the Mentoring Process of Software Project Development... References... 91 91 92 92 93 96 96 97 98 103 105 106 107 109 110 Lab-Based Teaching... 8.1 Introduction... 8.2 What Is a Computer Lab?... Activity 51: Analyzing a Computer Science Lesson in the Computer Lab... Activity 52: A Dry Lab... 8.3 Lab-First Approach... Activity 53: Pedagogical Exploration of the Lab-First Teaching Approach... 8.4 Visualization and Animation... Activity 54: Algorithm Visualization... Activity 55: Musical Debugging... Activity 56: Software Visualization and Animation... Activity 57: Visualization- and Animation-Based IDEs... Activity 58: Media Computation... Activity 59: Summary Work... 8.5 Using the Internet in the Teaching of Computer Science... Activity 60: The Internet as an Information Resource... 119 119 120 110 111 112 113 114 116 117 122 123 124 125 130 133 135 135 136 137 138 138 139

Contents Activity 61: Exploring the Internet Through the Computer Science Lens... Activity 62: Distance Learning... References... 9 10 xiii 139 139 140 Types of Questions in Computer Science Education... 9.1 Introduction... 9.2 Types of Questions... 9.2.1 Type1. Development of a Solution... 9.2.2 Type2. Development a Solution That Uses a Given Module... 9.2.3 Type3. Tracing a Given Solution... 9.2.4 Type4. Analysis of Code Execution... 9.2.5 Type5. Finding the Purpose of a Given Solution... 9.2.6 Type6. Examination of the Correctness of a Given Solution... 9.2.7 Type7. Completion a Given Solution... 9.2.8 Type8. Instruction Manipulations... 9.2.9 Type9. Efficiency Estimation... 9.2.10 Type10. Question Design... 9.2.11 Type11. Programming Style Questions... 9.2.12 Type12. Transformation of a Solution... 9.2.13 Combining Several Types of Questions... Activity 63: Question Classification... Activity 64: Classification of Non-simple Questions... 9.3 Kinds of Questions... 9.3.1 Story Questions... 9.3.2 Closed Questions... Activity 65: Question Formulation... 9.3.3 Unsolvable Questions... 9.4 Assimilation of the Types of Questions to Different Computer Science Contents... 9.5 Question Preparation... Activity 66: Question Design... Activity 67: Test Design... References... 143 143 145 146 146 147 147 148 148 149 150 151 152 152 153 154 155 156 156 156 158 159 159 Evaluation... 10.1 Introduction... 10.2 Tests... Activity 68: Test Construction... Activity 69: Construction of a Course-Summary Exam... 10.3 Project Evaluation... 10.3.1 Individual Projects... 10.3.2 Team Projects... Activity 70: Getting Familiarity with an Evaluation Rubric for Software Projects... 165 165 166 167 170 170 171 171 160 161 162 162 163 173

xiv Contents Activity 71: Construction of an Evaluation Rubric for Software Projects... Activity 72: Analysis of a Grading Policy of the Group Project... 10.4 Portfolio... Activity 73: The Portfolio in Computer Science Education... 10.5 The Evaluation of the Students in the MTCS Course... References... 11 Teaching Planning... 11.1 Introduction... 11.2 Top-Down Approach for Teaching Planning... 11.2.1 Broad Perspective: Planning the Entire Curriculum... 11.2.2 Intermediate Level Perspective: Planning the Teaching of a Study Unit... 11.2.3 Local Level Perspective: Planning a Lesson... 11.3 Illustration: Teaching One-Dimensional Array... 11.3.1 Planning the Teaching of a Study Unit About One-Dimensional Array... 11.3.2 Planning the Teaching of the First Lesson About One-Dimensional Array... 11.3.3 Illustration Summary... 11.4 Activities to be Facilitated in the MTCS Course... Activity 74: Dividing a Computer Science Topic into Components... Activity 75: Time Allocation... Activity 76: Plan a First Lesson About a Topic/Subtopic... Activity 77: A Comprehensive Teaching Planning of a Study Unit... References... 12 Integrated View at the MTCS Course Organization: The Case of Recursion... 12.1 Introduction... 12.2 Classification of Everyday Objects and Phenomena: The Case of Recursion... Activity 78: Classification Activity in the Context of Recursion... 12.3 Leap of Faith... Activity 79: Mastering the Leap of Faith Approach... 12.4 Models of the Recursive Process... 12.4.1 The Little People Model... Activity 80: Pedagogical Examination of the Little People Model... 12.4.2 The Top-Down Frames Model... 12.5 Research on Learning and Teaching Recursion... Activity 81: Investigating Research on Learning and Teaching Recursion... Activity 82: Recursive Models... 173 175 175 177 178 179 181 181 182 182 183 183 184 184 186 189 189 190 190 190 191 192 193 193 195 195 197 198 200 200 201 203 205 205 206

Contents 12.6 How Does Recursion Sound?... Activity 83: Using Colors and Music for the Examination of Recursive Structures... 12.7 Evaluation... Activity 84: Analysis of Recursive Phenomena... Activity 85: Construction of a Written Test on Recursion... 12.8 Additional Activities... Activity 86: History of Recursive Functions... Activity 87: Comparison of Recursive Algorithms in Different Paradigms... Activity 88: Recursive Patterns... Activity 89: Recursion Animation... Activity 90: Design of Questions About Recursion... Activity 91: Planning the Teaching of Recursion... References... 13 14 xv 207 207 208 208 209 210 210 210 210 211 211 211 211 Getting Experience in Computer Science Education... 13.1 Introduction... 13.2 The Practicum in the High School... 13.2.1 General Description... 13.2.2 The Practicum as a Bridge Between Theory and Its Application... 13.2.3 Activities to be Facilitated in the MTCS Course... Activity 92: Bridging Gaps Related to the Content Aspect of Computer Science Education... Activity 93: Bridging Gaps Related to the Pedagogical Aspect of Computer Science Education... Activity 94: Prospective Teacher s Conception About the First Lesson... 13.3 A Tutoring Model for Guiding Problems Solving Processes... 13.3.1 The Implementation of the Tutoring Model... 13.3.2 The Contribution of the Mentoring Model to Prospective Computer Science Teachers Teaching Experience... 13.4 Practicum Versus Tutoring... References... 225 226 226 esign of a Methods of Teaching Computer D Science Course... 14.1 Perspectives on the MTCS Course... 14.2 Suggestions for MTCS Course Syllabi... 14.2.1 Course Structure... 14.2.2 Course Syllabus... Activity 95: First Lesson of the MTCS Course... References... 229 229 230 231 231 231 234 213 213 214 214 215 218 218 220 222 222 223

xvi 15 Contents High School Computer Science Teacher Preparation Programs... 15.1 A Model for High School Computer Science Education... 15.1.1 Background... 15.1.2 The Model Components and Their Amalgamation... 15.1.3 Questions About the Model... 15.2 Construction of a Computer Science Teacher Preparation Program the ECSTPP Workshop... 15.2.1 Rationale... 15.2.2 Population... 15.2.3 Objectives... 15.2.4 Structure and Contents... 15.2.5 ECSTPP Workshop Summary... References... 242 242 242 243 243 245 245 Epilogue... 247 Index... 249 16 235 235 235 236 241

Index of Activities The activity page numbers appear in the Table of Contents Chapter 3 Overview of the Discipline of Computer Science 1 2 3 4 5 6 7 8 9 The Nature of Computer Science A. Explain what computer science is, work in pairs C. Internet exploration of computer science definitions D. Summary and class discussion E. Review of the Computing Curricula 2001, homework Computer Science and Other Sciences A. Connections between computer science and other sciences, individual/team work B. Presentations C. Class discussion Plan a Lesson About the History of Computer Science A. Introductory questions B. Plan a lesson, work in pairs C. Presentations D. Class discussion History of computational machines Preparation of a presentation on a computer scientist, homework Analysis of ethical dilemmas A. Case analysis, group work B. Presentations and discussion Diverse class demography, group work Test evaluation, work in pairs Gender diversity, open conversation 3.2 3.2 3.3 3.3 3.4 3.5.1 3.5.2 3.5.2 3.5.2 xvii

xviii Index of Activities 10 Programming paradigms Exploration of learners knowledge A. Worksheet, individual work 11 Abstract-oriented examination of programming paradigms A. Problem solving in different programming paradigms, work in pairs 12 Activity design for a given programming paradigm A. tasks and paradigms, group work B. Reviewing the groups work C. Class discussion 13 Introduction to soft ideas Types of concepts, class discussion 14 Computer science concept classification, teamwork 15 Construction of tasks and questions about soft ideas Option 1: Construction of an activity that demonstrates a soft idea, work in pairs Option 2: Construction of a question to be included in a test that checks learners understanding of one soft idea, team work 16 Computer science heuristics: The case of abstraction Definition 17 Computer science heuristics: The case of abstraction Teaching planning 18 Computer science heuristics: The case of abstraction Teaching pedagogy 19 Computer science heuristics: The case of abstraction Teaching programming heuristics Chapter 4 3.6 3.6 3.6 3.7.2 3.7.2 3.7.2 3.7.2 3.7.2 3.7.2 3.7.2 Research in Computer Science Education 20 Exploration of a Computer Science Education Research Work on learners understanding of basic computer science topics 21 The Computer Science Education Research World A. Intuitive thinking on computer science education research, class discussion B. Planning a research in computer science education, group work C. Class discussion 4.3 4.3

xix Index of Activities 22 Looking into a research Work on novices difficulties, homework 23 The teacher as a researcher A. Solving a problem, individual work B. Evaluating different solutions, individual work C. Discussion on Stage B answers, work in pairs D. The meaning of learners mistakes, class discussion E. Taking the researcher s perspective, work in pairs F. Reflection, individual work 24 Reflection on reading a computer science education paper, homework Chapter 5 4.3 4.3 4.3 Problem-Solving Strategies 25 Problem-solving techniques in computer science 26 Examination of representative inputs and outputs A. Problem development, work in pairs B. Presentations and discussion 27 Choosing the problem variables A. Problem analysis, work in pairs B. Discussion between pairs C. Presentations and discussion in the course plenum 28 Roles of variables Discovery learning and reflection A. Learning, work in pairs B. Reflection on Stage A, individual work 29 Roles of variables Examination of the roles of variables through the research lens 30 Practicing stepwise refinement Break down problem solutions into Subtasks 31 Practicing stepwise refinement Analyze a list of problems 5.2 5.3 32 Practicing algorithmic patterns Question design for given patterns 33 Practicing algorithmic patterns Pattern composition for using specific abstract data types 34 Practicing algorithmic patterns Worksheet design for guiding learners using patterns 35 Examination of the debugging process 36 Development of a lab activity about debugging, teamwork 5.4.3 5.4.1 5.4.1 5.4.1 5.4.2 5.4.2 5.4.3 5.4.3 5.5 5.5

xx Index of Activities 37 Reflective activity in computer science education A. Teacher s reflection on test failure B. Design of a reflective activity for a class after a test failure C. Reflection on the reflective activity designed by a teacher after the test failure D. Analysis of the entire reflective activity designed by the teacher after the test failure Chapter 6 5.6 Learners Alternative Conceptions 38 Exploration of a Computer science education research work on learners understanding of basic computer science topics A. Alternative conceptions about variables, individual or teamwork 39 Evaluation of a pupil s answer in a written exam A. Checking a pupil s written answer, work in small teams 40 A clinical conversation with a pupil as a means to reveal alternative conceptions A. A clinical conversation with a pupil, work in small teams 6.3 6.3 6.3 Chapter 7 Teaching Methods in Computer Science Education 41 Pedagogical examination of games A. Playing a game C. Game design D. Presentation and class discussion E. Design and construct a game F. Playing the games G. Summary 42 Pedagogical examination of the CS-Unplugged approach A. Experience a CS-Unplugged activity B. Exploration of the CS-Unplugged approach C. Design of a CS-Unplugged activity, work in pairs D. The CS-Unplugged approach and other computer science teaching methods, homework 7.2.1 7.2.2

xxi Index of Activities 43 Pedagogical examination of rich tasks A. Solving a rich task, individual work B. Presentation of learners solutions C. Class discussion D. Construction of a rich task, homework 44 Pedagogical examination of concept maps A. Concept map construction, group work B. Concept map evaluation, group work C. Class discussion 45 Pedagogical examination of classification A. Classification activity, group work C. Construction of a classification activity, homework 46 Metaphors Preparing a poster, variable exhibition 47 Metaphors Advantages and disadvantages of metaphors 48 Different forms of class organizations 49 Analysis of mentoring software project development situations A. Watch a video clip C. Worksheet on project based learning situations in computer science education, group work D. Class discussion E. Summary 50 Scheduling the mentoring process of software project development A. Setting the framework B. Group work C. Class discussion D. Read a paper, homework Chapter 8 7.2.3 7.2.4 7.2.5 7.2.6 7.2.6 7.3 7.4 7.4 Lab-Based Teaching 51 Analyzing a computer science lesson in the computer lab 8.2 52 A dry lab 8.2 8.3 53 Pedagogical exploration of the lab-first teaching approach A. First experience with the lab-first teaching approach, work in pairs on the computer C. Development and analysis of a lab-first worksheet, homework

xxii Index of Activities 54 Algorithm Visualization A. Increasing students attention to visualization B. Design a visualization-based worksheet, group work C. Introducing Nap s (extended) Engagement Taxonomy, class discussion D. Examination of questions potential contribution to learners learning, group work E. Summary F. Homework Option 1: Develop a worksheet and formulate guidelines for the development of a worksheet Option 2: Explore The Algorithm Visualization Portal 55 Musical debugging A. Debugging a song melody, work in pairs with the computer C. Prepare a debugging activity or read articles that address debugging, homework 56 Software visualization and animation A. Exploration of object-oriented program visualization and animation, work in pairs C. Read a paper, homework 57 Visualization- and animation-based IDEs A. Solving a problem in one of the visualization/ animation-based IDEs, work in pairs B. Analysis of the visualization- /animation- based IDEs, class discussion 58 Media Computation 59 Summary work 60 The Internet as an information resource 61 Exploring the Internet through the computer science lens A. Analysis of Web applications, group work B. Presentation of the group works 62 Distance learning A. Learning a new computer science topic, individual work C. Integration of distance learning elements into the computer science curriculum, homework 8.4 8.4 8.4 8.4 8.4 8.4 8.5 8.5 8.5

xxiii Index of Activities Chapter 9 Types of Questions in Computer Science Education 63 64 65 66 67 Question classification Classification of non-simple questions, group work Question formulation, work in pairs Question design, individual work or group work Test design, group work 9.2.13 9.2.13 9.3.2 9.5 9.5 Chapter 10 Evaluation 68 Test construction A. First experience in test construction, individual work B. Topics to be considered in the process of test construction, class discussion C. Test construction, group work D. Test analysis, class discussion or teamwork E. Test solving, individual work F. Design of an evaluation rubric, group work G. Presentation of the evaluation rubrics H. Conclusion 69 Construction of a course-summary exam 70 Getting familiarity with an evaluation rubric for software projects 71 Construction of an evaluation rubric for software projects A. Setting the teaching scene B. Construction of an evaluation rubric, group work C. Conclusion 72 Analysis of a grading policy of the group project 73 The portfolio in computer science education A. Portfolio design, team work B. Group presentations of their portfolio C. Class discussion and summary 10.2 10.2 10.3.2 10.3.2 10.3.2 10.4 Chapter 11 Teaching Planning 74 75 76 77 Dividing a computer science topic into components Time allocation, team work Plan a first lesson about a topic/subtopic A comprehensive teaching planning of a study unit 11.4 11.4 11.4 11.4

xxiv Index of Activities Chapter 12 Integrated View at the MTCS Course Organization: The Case of Recursion 78 Classification activity in the context of recursion A. Classification activity, work in small teams C. Build a classification page, homework, and class discussion D. Summary: read a paper, homework 79 Mastering the Leap of Faith approach A. Toward the leap of faith approach, team work C. Summary (read a paper, write a program), homework 80 Pedagogical examination of the Little People model A. Demonstration of the little people model 81 Investigating research on learning and teaching recursion, homework 82 Recursive models, homework and presentation in the course 83 Using colors and music for the examination of recursive structures A. Musical demonstration B. Lab work C. Class discussion 84 Analysis of recursive phenomena A. Choosing and analysis of recursive phenomena, homework B. Class presentation and discussion 85 Construction of a written test on recursion 86 History of recursive functions 87 Comparison of recursive algorithms in different paradigms 88 Recursive patterns 89 Recursion animation 90 Design of questions about recursion 91 Planning the teaching of recursion 12.2 12.3 12.4.1 12.5 12.5 12.6 12.7 12.7 12.8 12.8 12.8 12.8 12.8 12.8 Chapter 13 Getting Experience in Computer Science Education 92 Bridging gaps related to the content aspect of computer science education A. Scenario description B. Scenario analysis, work in pairs and a discussion 13.2.3

xxv Index of Activities 93 94 Bridging gaps related to the pedagogical aspect of computer science education A. Scenario description B. Scenario analysis, class discussion and summary Prospective teacher s conception about the first lesson 13.2.3 13.2.3 Chapter 14 Design of a Methods of Teaching Computer Science Course 95 First lesson of the MTCS course 14.2.2