Top Banner
Didactics of Introduction to Computer Science in High School M. Armoni 1 , T. Benaya 2 , D. Ginat 3 , E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University
29

M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Mar 28, 2015

Download

Documents

Kenia Mores
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Didactics of Introduction to Computer Science in

High SchoolM. Armoni1, T. Benaya2, D. Ginat3, E. Zur2

1Weizmann Institute of Science2The Open University of Israel

3Tel-Aviv University

Page 2: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

High School CS CurriculumEvery CS student will learn and

understand the nature of the field and the place of CS in the modern world.

Interleaving of theoretical principles with application skills.

The curriculum has been updated – shifting from procedural languages (Pascal and C) to Object Oriented languages (Java and C#).

Page 3: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Israeli High School CS Curriculum

CS should be taught as a scientific field;

The study materials should concentrate on its key concepts and foundations;

Conceptual and implementation issues should be interwoven throughout the taught materials.

Page 4: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Israeli High School CS Curriculum3-unit level:Foundations of Computer Science 1;Foundations of Computer Science 2;Practical lab-unit.

5-unit level:Software design;An advanced unit.

Page 5: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Foundations of CS (FCS) textbooksDevelopment approach:

“Zipper approach”;“Object second”;Algorithmic patterns and problem solving

notion.

Didactical principles:Motivating examples; Gradual design process.

Page 6: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Foundations of CS 1Chapter 1 – Introduction;Chapter 2 – Algorithmic Problem

Solving;Chapter 3 – Basic Computation Model; Chapter 4 – Algorithm Design Stages; Chapter 5 – Conditional Execution;Chapter 6 – Correctness of Algorithms;Chapter 7 – Repetitive Execution; Chapter 8 – Efficiency of Algorithms.

Page 7: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Foundations of CS 2Chapter 9 – The String Class;Chapter 10 – Arrays;Chapter 11 – Classes and Objects; Chapter 12 – Algorithmic Patterns (counting, searching,

sorting); Chapter 13 – Problem Solving.

Page 8: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Motivating Examples The presentation of every new notion or

computational element is motivated by several algorithmic problems, each emphasizing a different element of the topic;

Each algorithmic problem is preceded by a motivating verbal introduction followed by the problem description.

Page 9: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Gradual Design ProcessI. Analyzing representative input values and

discussing the relationship between input and output;

II. Dividing the problem into sub-problems;III. Selecting appropriate data-structures; IV. Writing the algorithm in pseudo-code; V. Translating the algorithm into code;VI. Walking through the code.;

Page 10: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

1Motivational Problem

Develop an algorithm, for which the input is a three-digit positive integer and the output is a message indicating whether the integer is a palindrome.

Problem goal: Motivating the alternation statement of if-then-

else.

Problem statement:

Page 11: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Motivational Problem 1 (cont.)Analyzing input-output relationship: • Examples of three-digit positive integers

which are palindromes are: 787, 424 and 777;

• Examples of three-digit positive integers which are not palindromes are: 778, 234 and 192;

• The examples demonstrate that the computation needs to distinguish between two cases :• The units digit and the hundreds digit are equal. • The units digit and the hundreds digit are not

equal.

Page 12: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Motivational Problem 1 (cont.)Dividing the problem into sub-

problems: 1. Input a three-digit positive integer;2. Extract the unit's digit;3. Extract the hundred's digit; 4. Compare the digits; if they are equal: - Output a message indicating that the

input integer is a palindrome. - Otherwise – output a message

indicating that the input integer is not a palindrome.

Page 13: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Motivational Problem 1 (cont.)

Selecting variables (roles, names, data types):

num– an integer variable for storing the input;

units– an integer variable for storing the units digit;

hundreds– an integer variable for storing the hundreds digit;

Page 14: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Writing the algorithm in pseudo-code:

1. Read the input integer into num.2. Assign to units the remainder of num

divided by 10.3. Assign to hundreds the integer result of

num divided by 100. 4. If the value of units equals the value of

hundreds 4.1 Output the message: num "is a palindrome"

5. else 5.1 Output the message: num "is not a

palindrome"

Page 15: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Translating the algorithm into code:

import java.util.Scanner;public class Palindrome { public static void main (String [] args) { Scanner in = new Scanner(System.in); int num; // three-digit positive number

int units; // unit's digit int hundreds // hundred's digit1. System.out.print("Enter a 3 digit number: ");2. num = in.nextInt();3. units = num % 10;4. hundreds = num / 100;5. if (units == hundreds) // the number is a palindrome5.1 System.out.println(num+" is a palindrome");6. else6.1 System.out.println(num+" is not a palindrome"); } }

Page 16: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Walking through the program: output Unit=

= hundreds

hundreds

units

num Statement Line num

Enter a 3 Digit num:

? ? ? System.out.print("Enter a 3 digits num: ");

1

? ? 363 num = in.nextInt(); 2

? 3 363 units = num % 10; 3

3 3 363 Hundreds = num / 100; 4

true 3 3 363 if (units == hundreds) 5

363 is a palindrome

3 3 363 System.out.println(num+ " is a palindrome");

5.1

Page 17: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

2Motivational Problem

Develop an algorithm for which the input is a positive integer greater than 1 and the output is the divisors of the number.

Problem goal: Motivating the concept of algorithm efficiency.

Problem statement:

Page 18: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

3Motivational Problem

Develop an algorithm for which the input is the running times (in seconds) of fifteen contestants in a race. The output is the number of contestants whose running times are lower than the average time.

Problem goal: Motivating the notion and utilization of a one-

dimensional array.Problem statement:

Page 19: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

4Motivational Problem

Develop an algorithm for which the input is a list of altitudes of N points on a ridge and the output is the size of the maximal difference between two (not necessarily adjacent) points such that the higher one appears before the lower one.

Problem goal: Presenting a variation on the

maximum/minimum pattern.Problem statement:

206

350

190

410

360

185

422

174

Page 20: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Motivational Problem 4 (cont.)Analyzing input-output relationship: • For example, for the input: 5 21 22 12 7 17 3 the output should be 19 (22-3).

• This input may lead to the following solution: - calculate the max point on the ridge,- find the lowest point that appears after the

max.

• This solution is true only if the max drop appears after the appearance of the highest point.

Page 21: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Motivational Problem 4 (cont.)Analyzing input-output relationship: • For example, for the input: 5 21 1 22 12 7

17 3

the output should be 20 (21-1).

• This input shows that the max drop may appear before the highest point of the ridge.

• Therefore the correct solution would involve finding and saving the maximal difference.

Page 22: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Teachers’ Use and Attitudes towards the Didactic Approach

Tools: We designed a nine-question questionnaire that

was aimed at examining teachers' implementation of the textbooks' didactic approach.

Population:• The questionnaire was sent to 24 high-school

teachers who taught FCS1 and FCS2 for at least two

years.• 12 teachers responded to the questionnaire.

Page 23: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Results and Discussion - text books’ use

• All teachers use the text books, some more extensively and some less extensively;

• Some teachers supplement the text books with their own materials, or more attractive graphical materials.

Page 24: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Results and Discussion - Didactic approach

• The vast majority is fond of our didactical approach. They display in class some, or many of the motivating examples, or send their students to read them at home.

• The majority of the teachers teach the textbooks topics in the order presented, of "Objects Second", while possibly elaborating earlier on static methods.

Page 25: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Results and Discussion – Study material

• More than half of the teachers indicated that there is a good variety of colourful and interesting problems. The others would like to have additional problems.

• Some teachers are very fond of the textbooks problems, and some see certain problems as too simple for the better students, but valuable for the less competent students.

Page 26: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Results and Discussion -self study

• Most of the teachers thought that the textbooks are only partially suitable for self study. They refer their students to learn some sub-topics on their own, for preparing a new topic to be presented in class, or for deepening their understanding of a just-presented topic.

Page 27: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Results and Discussion - Gradual design process

• Most teachers display and require algorithm design in steps, which correspond to the six steps, displayed in the textbooks materials.

• Some teachers see parts of the text and the six code-design steps as cumbersome.

• Most of the teachers lean towards our approach, and appreciate the detailed and gradual design presentations.

Page 28: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Summary• All in all, the conducted study reveals that

this approach seems beneficial and appealing to teachers.

• In a further study, it may be relevant to examine teachers' use and attitudes of algorithmic patterns, and their pros and cons of the "Objects Second" approach in high school.

Page 29: M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.

Thank You!!!!