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

Similar documents
Guide to Teaching Computer Science

GACE Computer Science Assessment Test at a Glance

Knowledge Synthesis and Integration: Changing Models, Changing Practices

Reviewed by Florina Erbeli

MINISTRY OF EDUCATION

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

Administrative Master Syllabus

Programme Specification. MSc in Palliative Care: Global Perspectives (Distance Learning) Valid from: September 2012 Faculty of Health & Life Sciences

College of Liberal Arts (CLA)

Professional Learning Suite Framework Edition Domain 3 Course Index

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

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

I. PREREQUISITE For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

MULTIMEDIA Motion Graphics for Multimedia

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

Timeline. Recommendations

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

GRADUATE STUDENT HANDBOOK Master of Science Programs in Biostatistics

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

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

PEDAGOGY AND PROFESSIONAL RESPONSIBILITIES STANDARDS (EC-GRADE 12)

Software Development: Programming Paradigms (SCQF level 8)

What is a Mental Model?

Kelli Allen. Vicki Nieter. Jeanna Scheve. Foreword by Gregory J. Kaiser

Course Content Concepts

Marketing Management MBA 706 Mondays 2:00-4:50

What is PDE? Research Report. Paul Nichols

An Interactive Intelligent Language Tutor Over The Internet

Bloomsburg University Bloomsburg, Pennsylvania. Department of Teaching and Learning

EDIT 576 (2 credits) Mobile Learning and Applications Fall Semester 2015 August 31 October 18, 2015 Fully Online Course

BPS Information and Digital Literacy Goals

Self Study Report Computer Science

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

Accreditation of Prior Experiential and Certificated Learning (APECL) Guidance for Applicants/Students

IDS 240 Interdisciplinary Research Methods

Infrared Paper Dryer Control Scheme

Programme Specification. MSc in International Real Estate

Gifted/Challenge Program Descriptions Summer 2016

MARKETING MANAGEMENT II: MARKETING STRATEGY (MKTG 613) Section 007

An Introduction to LEAP

Essentials of Rapid elearning (REL) Design

Name: STEP 1: Starting Questions. Description PSII Learner.. PSII Teacher.

New Jersey Department of Education World Languages Model Program Application Guidance Document

TESSA Secondary Science: addressing the challenges facing science teacher-education in Sub-Saharan Africa.

A Lesson Study Project: Connecting Theory and Practice Through the Development of an Exemplar Video for Algebra I Teachers and Students

Developing an Assessment Plan to Learn About Student Learning

Department of Education School of Education & Human Services Master of Education Policy Manual

Pharmaceutical Medicine

Textbook Evalyation:

PEDAGOGICAL LEARNING WALKS: MAKING THE THEORY; PRACTICE

Master s Programme in European Studies

College of Education Department of Educational Psychology SYLLABUS

P920 Higher Nationals Recognition of Prior Learning

PUBLIC CASE REPORT Use of the GeoGebra software at upper secondary school

Providing Feedback to Learners. A useful aide memoire for mentors

Function Tables With The Magic Function Machine

Android App Development for Beginners

Advantages, Disadvantages and the Viability of Project-Based Learning Integration in Engineering Studies Curriculum: The Greek Case

Apprenticeships in. Teaching Support

Enduring Understandings: Students will understand that

Developing skills through work integrated learning: important or unimportant? A Research Paper

A Note on Structuring Employability Skills for Accounting Students

Python Machine Learning

Practice Learning Handbook

School Experience Reflective Portfolio

E-Teaching Materials as the Means to Improve Humanities Teaching Proficiency in the Context of Education Informatization

Assessment System for M.S. in Health Professions Education (rev. 4/2011)

CS 101 Computer Science I Fall Instructor Muller. Syllabus

Practice Learning Handbook

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

EQuIP Review Feedback

Reducing Abstraction When Learning Graph Theory

Software Maintenance

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

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

Soulbus project/jamk Part B: National tailored pilot Case Gloria, Soultraining, Summary

PROGRAMME SPECIFICATION KEY FACTS

Unit 3. Design Activity. Overview. Purpose. Profile

Bergen Community College Division of Business, Social Sciences & Public Services Department of Social Sciences. Departmental Policy Syllabus

General study plan for third-cycle programmes in Sociology

A Minimalist Approach to Code-Switching. In the field of linguistics, the topic of bilingualism is a broad one. There are many

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

Intensive Writing Class

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

QUEEN S UNIVERSITY BELFAST SCHOOL OF MEDICINE, DENTISTRY AND BIOMEDICAL SCIENCES ADMISSION POLICY STATEMENT FOR DENTISTRY FOR 2016 ENTRY

Emerald Coast Career Institute N

Guidelines for Project I Delivery and Assessment Department of Industrial and Mechanical Engineering Lebanese American University

Using Team-based learning for the Career Research Project. Francine White. LaGuardia Community College

From practice to practice: What novice teachers and teacher educators can learn from one another Abstract

Designing Propagation Plans to Promote Sustained Adoption of Educational Innovations

Division of Student Affairs Annual Report. Office of Multicultural Affairs

Measurement. Time. Teaching for mastery in primary maths

similar to the majority ofcomputer science courses in colleges and universities today. Classroom time consisted of lectures, albeit, with considerable

Certificate of Higher Education in History. Relevant QAA subject benchmarking group: History

Computerized Adaptive Psychological Testing A Personalisation Perspective

Content Teaching Methods: Social Studies. Dr. Melinda Butler

Interview with a Fictional Character

Developing Students Research Proposal Design through Group Investigation Method

Taking Kids into Programming (Contests) with Scratch

1.11 I Know What Do You Know?

Transcription:

Orit Hazzan Tami Lapidot Noa Ragonis Guide to Teaching Computer Science An ActivityBased Approach

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

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

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

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

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

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

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

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