Upload
connor
View
60
Download
5
Embed Size (px)
DESCRIPTION
מחקר חינוכי בין-תחומי: המקרה של מחקר בחינוך מתמטי ומחקר בהוראת מדעי המחשב. אורית חזן המחלקה להוראת הטכנולוגיה והמדעים 21.10.2003. מחקר חינוכי בין-תחומי: המקרה של מחקר בחינוך מתמטי ומחקר בהוראת מדעי המחשב. יבוא של תיאוריות ממחקר בחינוך מתמטי למחקר בהוראת מדעי המחשב והנדסת תוכנה. 3 יישומים: - PowerPoint PPT Presentation
Citation preview
מחקר חינוכי בין-תחומי: המקרה של מחקר בחינוך מתמטי
ומחקר בהוראת מדעי המחשב
אורית חזןהמחלקה להוראת הטכנולוגיה
והמדעים 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