מחקר חינוכי בין-תחומי: המקרה של מחקר בחינוך מתמטי ...

Post on 04-Jan-2016

64 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

מחקר חינוכי בין-תחומי: המקרה של מחקר בחינוך מתמטי ומחקר בהוראת מדעי המחשב. אורית חזן המחלקה להוראת הטכנולוגיה והמדעים 21.10.2003. מחקר חינוכי בין-תחומי: המקרה של מחקר בחינוך מתמטי ומחקר בהוראת מדעי המחשב. יבוא של תיאוריות ממחקר בחינוך מתמטי למחקר בהוראת מדעי המחשב והנדסת תוכנה. 3 יישומים: - PowerPoint PPT Presentation

TRANSCRIPT

מחקר חינוכי בין-תחומי: המקרה של מחקר בחינוך מתמטי

ומחקר בהוראת מדעי המחשב

אורית חזןהמחלקה להוראת הטכנולוגיה

והמדעים 21.10.2003

מחקר חינוכי בין-תחומי: המקרה של מחקר בחינוך מתמטי

ומחקר בהוראת מדעי המחשב

יבוא של תיאוריות ממחקר בחינוך מתמטי למחקר •בהוראת מדעי המחשב והנדסת תוכנה.

יישומים:3•-Debugging

-Reducing abstraction

ניתוח קוגניטיבי של מתודולוגיות פיתוח תוכנה -

חלקים בלתי תלויים עם מסר אחד3-

תודות

פרופ' אורי לירון•

ד"ר יחיאל קמחי•

פרופ' אייל קושלביץ•

סטודנטים מוסמכים •

Take Home Lessons

Take home lesson # 1 : מחקר נוכחי יכול להועיל במחקרים עתידיים )גם אם בעת ביצוע המחקר לא ברור כיצד(

Take home lesson # 2: יתרון הרב תחומיות של המחלקה

מחקר חינוכי בין-תחומי: המקרה של מחקר בחינוך מתמטי

ומחקר בהוראת מדעי המחשב

מדעי המחשב והוראת מדעי המחשב: תחומים חדשים •

יחסית

מחקר בחינוך מתמטי הוא תחום בוגר יחסית•

קיימים מאפיינים דומים למושגים משני התחומים •

יבוא של תיאוריות ממחקר בחינוך מתמטי למחקר •

בהוראת מדעי המחשב והנדסת תוכנה

Debugging

Debugging - Background

בשיתוף עם ד"ר יחיאל קמחי •

שאלון לסטודנטים בסוף שנה ראשונה במדעי •

המחשב )סמסטר ב', תשס"ב(

רקע הסטודנטים •

מטרה: כיצד סטודנטים תופסים מהו מדעי •

המחשב?

שאלון פתוח •

השאלון

שם )רצוי, לא חובה(: ____________________סמסטר בטכניון: ________ פקולטה: ________

ז / נמין:

באיזה סמסטר למדת "מבוא למדעי המחשב"? א' תשס"ב ב' תשס"א א' תשס"א

לפני-כן

השאלון )המשך( בשאלות הבאות אתם מתבקשים לחוות את דעתכם

האישית על סמך ניסיונכם עד היום במדעי המחשב.

א. מה זה "מדעי המחשב" לדעתך?

הנושאים החשובים ביותר במדעי 3ב. מהם, לדעתך,

המחשב?

הפעילויות המרכזיות שמבצעים אנשים 3ג. מהם, לדעתך,

העוסקים במדעי המחשב?

עליך?האהובים ממדעי המחשב ה"דברים"3ד. מהם

עליך? שאינם אהובים ממדעי המחשב ה"דברים"3ה. מהם

השאלון )המשך(

ו. מהם, לדעתך, שלושת העקרונות המרכזיים שיש

להקפיד עליהם בתהליך פיתוח תוכנה?

ז. האם ידוע לך על אסון שהתרחש בגלל כישלון של

תוכנה? אם כן – מהו האסון ומה היה הגורם לכך?

במידה ולא ידוע לך על אסון שנגרם כתוצאה

מכישלון תוכנה, האם תוכל/י לחשוב על אסונות

שיכולים להיגרם כתוצאה מכישלון תוכנה.

השאלון )המשך(ח. להלן מופיעים מספר מושגים. לגבי כל אחד מהם

נא להחליט האם הוא חשוב או לא )"למה צריך אותו" או "למה לא צריך אותו"( ולנמק מדוע.

אתחול משתנים –

פוינטרים––Abstract data types

שמות משמעותיים )לפונקציות, לפרמטרים(–

אי שכפול קוד––Top down design

רקורסיה–

השאלון - ניתוח• Three perspectives:

– Conceptual perspective: Students conceive of

computer science to be more than just the computer

– Affective perspective: Students are discouraged

by the debugging process

– Social perspective: Students are unfamiliar with

software failure but are aware of software power

ממדעי המחשב ה"דברים"3מהם עליך? שאינם אהובים

מתוך debugging (21התשובה הנפוצה: סטודנטים(71

9)התשובה במקום השני: מתמטיקה

סטודנטים(

•Debugging : פעילות מרכזית בפיתוחמערכות תוכנה

2 characteristics of debugging

• Debugging is a sporadic process– Francel and Rugaber )2001(: “No ”best” method

for debugging programs is known.”

– After about 50 years of software development.

• Debugging is disruptive activity

דיבגינג כפתרון בעיות•

הסבר התופעה ע"י תיאוריות בחינוך מתמטי •המתייחסות לפתרון בעיות

Why do students dislike debugging?

• Debugging is a sporadic process:

– Students are taught to solve problems systematically.

– Problems they are asked to solve have an algorithm for

solving them.

– In mathematics education: "students [feel] very

strongly that mathematics always gives a rule to follow

to solve problems." )Carpenter, Lindquist, Matthews

and Silver, 1983, p. 656-657(.

Why do students dislike debugging?

• Debugging is a sporadic process:

– These mathematical habits are borrowed

to computing:

• There is no ONE process for debugging

• There is a lot of uncertainty in the debugging

process

Why do students dislike debugging?

• Debugging is disruptive activity:

– In contrast to code writing, the debugging

process does not lead one to his/her

target.

Why do students dislike debugging?

• Debugging is disruptive activity:

• Polya: 4 stages of problem solving.

– “First, we have to understand the problem […]. Second, we have to see how the various items are connected, how the unknown is linked to the data, in order […] to make a plan. Third, we carry out our plan. Fourth, we look back at the completed solution, we review it and discuss it.” )pp. 5-6, italics in the original(.

Why do students dislike debugging?

• Debugging is disruptive activity:

• Polya about “looking back”:

– “[e]ven fairly good students, when they have obtained the solution of the problem and written down neatly the argument, shut their books and look for something else. Doing so, they miss an important and instructive phase of the work. By looking back at the completed solution, by reconsidering and reexamining the result of the path that led to it, they could consolidate their knowledge and develop their ability to solve problems.” )p. 14-15(.

Why do students dislike debugging?

• Debugging is disruptive activity:

– Based on other questions: freshmen

recognize the importance of Polya’s

first three stages:

•understanding the problem

•planning the solution )design(

•and carrying it out )coding(

Why do students dislike debugging?

• Debugging is a sporadic process

• Debugging is disruptive activity

Why do students dislike debugging?

• Schoenfeld )Mathematical Problem Solving(:

– A theory of knowledge and behavior

necessary for an adequate characterization

of mathematical problem-solving

performance.

– The framework consists of four elements:• Resources

• Heuristics

• Control

• Belief Systems

Why do students dislike debugging?

• Schoenfeld )Mathematical Problem Solving(:

ניתן ליישם את המסגרת של שינפלד במלואה •

לניתוח כיצד סטודנטים מתמודדים עם תהליך ה-

debugging .

• Belief system: Freshmen dislike

debugging because …

debugging סיכום –

דיבגינג כפתרון בעיות•

שימוש במסגרות מהמחקר בחינוך מתמטי •

המתייחסות לפתרון בעיות

הורדת רמת הפשטה

Reducingהורדת רמת הפשטה

Abstraction אלגברה מודרנית•

Grounded theory אוכלוסייה, המחקר:•

•Reducing abstraction:)הורדת רמת הפשטה(

סטודנטים מורידים את רמת ההפשטה–

לומדים מחפשים דרכים לתת משמעות למושגים –

מופשטים

המסגרת יושמה עד היום לניתוח הבנת מושגים ב: •

. School Mathematicsחישוביות, משוואות דיפרנציאליות,

Reducingהורדת רמת הפשטה Abstraction

)באופן דרכים להורדת רמת ההפשטה 3•

לא מודע(:

• Abstraction level as the quality of the

relationships between the object of thought

and the thinking person

• Abstraction level as the degree of complexity

of the concept of thought

• Abstraction level as reflection of the process-

object duality )will be illustrated(

Reducingהורדת רמת הפשטה Abstraction

• Abstraction level as reflection of the

process-object duality

– Theories which mainly distinguish between a

process conception and a object conception.

)Breidenbach et al, 1992; Douady, 1985; Dubinsky, 1991;

Dubinsky et al, 1994; Sfard, 1991, 1992(

– Process conception of a mathematical entity

reflects a lower abstraction level than its

conception as an object. )Beth & Piaget, 66(.

Reducingהורדת רמת הפשטה Abstraction

• Abstraction level as reflection of the process-object

duality

באה לידי ביטוי בנטיית הסטודנטים תפיסה תהליכית•:פרוצדורה קנוניתלהשתמש ב

מופעלת באופן "אוטומטי" בהינתן סוג מסוים של בעיות.–

מורכבת מאוסף מסודר של פעולות. –

מבלי לנתח תכונות הפרוצדורה הקנונית מאפשרת לפתור בעיות –, אלא להיות מונחים ע"י הפרוצדורה של מושגים )כעצמים(

הקנונית.

ניתוח תכונותיהם. מתבטאת למשל בתפיסת מושגים כעצמים•

–The level of abstraction is reduced

Reducingהורדת רמת הפשטה Abstraction

• Abstraction level as reflection of

the process-object duality

נטייה של דוגמא מאלגברה מודרנית:•

סטודנטים לעבוד עם פרוצדורות קנוניות

גם כאשר המושגים והקשרים ביניהם

מובנים.

Reducingהורדת רמת הפשטה Abstraction

גיא מציג ניתוח מדויק של מבנה הקוסטים •

"טוב, אז ידוע שמחלקות שקילות בחבורה:

מחלקות את הקבוצה לקבוצות זרות. ]...[

ועכשיו: אם קוסט הוא מקביל למחלקות

ה.... שקילות אז הקוסטים מחלקים את

מחלקים את החבורה לקבוצות. אנו יודעים

שבכל קוסט מספר האיברים שווה. זה בעצם

נותן את משפט לגרנז'".

Reducingהורדת רמת הפשטה Abstraction

כאשר גיא התבקש למצוא קוסטים של אבל,תת-חבורה בחבורה מסויימת, הוא שוכח את

הידע התיאורטי שלו ועובד על-פי פרוצדורה קנונית.

כאשר התבקש לחשב את הקוסטים של תת-החבורה

, גיא מחשב 7 ביחס לכפל מודולו }Z7-}0ב- {4, 2, 1} את הקוסט של כל אחד מששת איברי החבורה. רק כאשר הוא מגלה כי רק שני קוסטים שונים

הוא פונה לחפש את הסיבה.

Reducingהורדת רמת הפשטה Abstraction

שימוש בפרוצדורה תפיסה המושג קוסט כתהליך:•

קנונית.

בחינת תכונות.תפיסה המושג קוסט כעצם:•

גיא לא שקל את שתי האפשרויות והחליט על •

הבחירה נעשית באופן לא מודע.האלגוריתמית.

הורדת רמת ההפשטה. •

Reducingהורדת רמת הפשטה Abstraction

• Abstraction level as reflection of the

process-object duality

דוגמא מתורת החישוביות•

הקורס, אופי המושגים–

המרצה: פרופ' אייל קושלביץ –

הבחינה–

ניתוח מלא עפ"י המסגרת התיאורטית של –הורדת רמת הפשטה; כאן הדגמה של דרך אחת.

Reducingהורדת רמת הפשטה Abstraction

שאלות, כל אחת 4מבחן אמצע סמסטר, • נקודות.12.5 חלקים. לכל חלק 2מורכבת מ-

שפות. עבור כל שפה יש להחליט 4נתונות • האם:

a(      Is Li R?

b(      Is Li RE?

.ולהוכיח את הטענה

Some Computability Theory

• A recursive )decidable( language L is a language for which a Turing machine that accepts it and halts on all inputs, exists: If w L then the Turing machine halts in state qaccept; if

w L then the Turing machine halts in state qreject.

• A language L is a recursively enumerable )r.e.( language if a Turing machine that accepts it, exists: For all w L, the Turing machine halts in qaccept; for all w L the Turing

machine either halts in state qreject or never halts.

Some Computability Theory )Cont.(

• Using set terminology:

– R = {L | L is decidable};

– RE = {L | A Turing machine that accepts L, exists}.

• For determining whether a language belongs to R or to RE, one has to understand the nature of the language.

• The better one understands the nature of a given language, the better one may determine to what category it belongs. Then, based on this analysis, one has to choose a method for proving one’s claim.

Show strong need for canonical procedures

Three main methods for solving the exam:

a. Constructing a Turing machine that accepts L )to

show that L RE( or a Turing machine that accepts

L and halts on all inputs )to show that L R(.

b. Using Rice theorem: Rice theorem provides criteria

for concluding for a given language L of a certain

form that L R , RE.

c. Defining a reduction between two languages L’ and

L’’, for one of which it is known that it is or it is not

in R or in RE. )a reduction from L’ to L’’ indicates that L’’ is

at least as hard as L’.(

Show strong need for canonical procedures

L3 = {<M>: M’, <M’> L)M( L)M’( }

L3 RE \ R

• For proving that L3 R students could:

– use Rice theorem or

– define of a reduction from a language which is not in R

• A comparison of the details involved in these

solutions indicates that relying on Rice theorem

should be a simpler and shorter process.

• Similar to the case of Abstract Algebra.

Solving Question 3A

Students prefer building a reduction over using Rice theorem

• No. of students who used Rice theorem: 36.

• No. of students who built a reduction: 72.

The students used different languages as the source language of the reduction.

HP 45 students L)(’ or )L(’ 12 )Note: The symbol ‘ represents set complement.(

Ld 12

Lu 3

Show strong need for canonical procedures

כמקור הרדוקציה:HPהדומיננטיות של •

סטודנטים תרגלו בנייה זו הסבר מיידי:–

בתרגולים.

הסבר נוסף:–

קיימת פרוצדורה קנונית שניתן ליישמה כאשר בונים •

.HPרדוקציה מ-

ניתן לבנות את הרדוקציה בתהליך אוטומטי מבלי •

לנתח מושגים.

Show strong need for canonical procedures

אני יודע מה לעשות בכל HP"כשאני עושה רדוקציה מ- עופר:•

מקרה, כאשר היא עוצרת וכאשר היא לא עוצרת. [...] כשאני לומד

למבחן ופותר שאלות משנים קודמות, במקום לסבך את הפתרון,

[ואז REולהראות שתכונה היא תכונה לא טריוויאלית של שפות ב-

". HPאני תמיד עושה רדוקציה מ- להשתמש במשפט רייס(,

באופן אוטומטי מבלי HP"ניתן לבנות רדוקציה מ- אינטרפרטציה:•

להתייחס למושגים איתם עובדים."

הורדת רמת הפעלת פרוצדורה קנונית במקום ניתוח תכונות:•

הפשטה.

Reducingהורדת רמת הפשטה Abstraction

סיכום:

יישום של מסגרת תיאורטית •שפותחה במקור לניתוח הבנת

)אלגברה מושגים מתמטיים לניתוח הבנת מושגים מודרנית(

. )תורת החישובית(במדעי המחשב

ניתוח קוגניטיבי של מתודולוגית פיתוח תוכנה

ניתוח קוגניטיבי של מתודולוגית פיתוח תוכנה

הנדסת תוכנה •פרוייקט פיתוח תוכנה:•

תהליך מורכב הן מבחינה –קוגניטיבית והן מבחינה חברתית.

פרוייקטי תוכנה: נתונים הגדולים הנשלחים ממוצרי התוכנה75%–

: או שאינם בשימוש ככישלון נחשביםללקוחות .כלל או שאינם מתאימים לדרישות הלקוחות

Based on: Mullet, D. )July, 1999(. The Software Crisis, Benchmarks Online - a monthly publication of Academic Computing Services 2)7(.

בתוכנה בארה"ב נאמדת תיקונם של באגים עלות–ביליון 59.5$בכל שנה ב-

The National Institute of Standards and Technology )NIST(, New Release of June 28, 2002.

בתוכנה הושקעו בארה"ב 2003 של Q2ב- להשוואה:• ביליון 200$

Why is software complex?

• “[m]any of the things we make with software today are more complex than most buildings and, as in building design, software design embraces many aspects: function, safety, human interface, ergonomics, graphics, algorithms, data structure, program structure, protocol, and application interface, among others.” )Singer, 1994(.

מתודולוגיות פיתוח תוכנה• Heavyweight Methodologies

• Agile Software Development Methodologies:

– SCRUM, Feature Driven Development, DSDM

– http://agilemanifesto.org/:

• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

• eXtreme Programming: The most accepted agile

SDMs

Why XP ?

• Survey:

– 31 XP/Agile-methods early adopter projects

– 14 firms

– Findings:

• Cost reduction: 5-7% on average

• Time to market compression: 25-50% reduction

Why XP ?

• big companies using XP in at least some

capacity

– Ford Motor, Chrysler, IBM, HP

• smaller software houses:

– Mayford Technologies

– RoleModel Software

• tutorials: Industrial Logic, Object Mentor

Why XP?

: XPהסבר קוגניטיבי להצלחת •XPהסבר קונסטרקטיביסטי של –

הבנת סביבת פיתוח תוכנה היא תהליך טענה:–

תומכת בתהליך הבנה זה. XPמורכב;

קונסטרקטיביזם:•תיאוריה המסבירה תהליכי למידה–

ידע חדש נבנה בהדרגה על בסיס מושגים קיימים, –

ע"י ארגון ועידון מבנים מנטאליים קיימים

What is XP?

• Differences from traditional methodologies

– Emphasis on people vs. development activities & schedule

– XP specifies how to behave; still leaves freedom.

• 12 practices

• 4 values: feedback, simplicity,

communication, courage

XP Practices

Refactoring

Simple design

Coding standards

Testing

Continuous integration

Small releases

Collective ownership

Pair programming

Sustainable pace

On-site customer

Planning game

Metaphor

XPניתוח קוגניטיבי של

XP המיומנויות של 12 מתוך 4בחינת •

. קונסטרוקטיביסטיות משקפייםדרך

ערכים ומיומנויות אלו תומכים •

.בהבנה הדרגתית של סביבת הפיתוח

XP practices - Cognitive analysis

• Small releasesGradual process of knowledge construction re requirements

• RefactoringGradual process of knowledge construction re code's

structure and readability

• Test driven development

• Metaphor

סיכום במתמטיקה פתרון בעיותשימוש במסגרת של •

. debuggingלניתוח פעילות ה-

יישום של תיאוריה שפותחה לניתוח הבנת •

לניתוח הבנת אלגברה מודרניתמושגים ב

.תורת החישוביותמושגים ב

ממחקר בחינוך תיאוריה קוגניטיביתשימוש של •

. תהליכים בהנדסת תוכנה)מתמטי( להסבר

סיכום

Take home lesson # 1 : קשר בין מחקר חינוכי בתחומים שונים

Take home lesson # 2 : מחקר נוכחי יכול להועיל במחקים עתידייםTake home lesson # 3:

יתרון הרב תחומיות של המחלקה Take home lesson # 4:

שיתוף פעולה עם חוקרים וחוקרות מפקולטות אחרות

סיכום

אשמח לשלוח למי שמעוניין מאמר על כל אחד •

מהנושאים

פעילות בין תחומית נוספת:•

• Special Issue on Import/Export Relationship

s to Computer Science Education Research

top related