דוא"ל:
תפריט משתמש




שתף |

שפת תכנות לימודית

שפת תכנות לימודית היא שפת תכנות שנועדה לשמש כלי לימודי במדעי המחשב. שיקולים מרכזיים בתכנון שפת תכנות לימודית הם:
  • שימוש בשפת האם של התלמידים. הוראה של שפת תכנות באנגלית בקרב תלמידים שאינם דוברי שפת אנגלית יוצרת מכשול שפה כפול וגורמת לשיעור דחייה גבוה יותר כלפי שפת התכנות. שפת תכנות המיועדת להוראת תלמידים צעירים חייבת להסיר מכשול מעין זה.
  • גודל/היקף שפה. גודל שפת התכנות הוא פקטור חשוב עבור המשתמשים בה: כמה מילות מפתח בשפה? כמה פרדיגמות נתמכות בה? מהו גודל הספרייה? בעוד שדרישות משפות תכנות תעשייתיות הן בעד מבחר גדול יותר של פרדיגמות והיקף גדול יותר של השפה והספריות שלה, בשפות תכנות לימודיות יש דווקא עדיפות לפשטות ולהבנה קלה יותר.
  • שפות קשיחות טיפוס לעומת שפות דינמיות. מהנדסים מעדיפים שהמהדר יתריע בפני מספר שגיאות גדול ככל שניתן, בכדי לטפל בהם בזמן הפיתוח ולא כשגיאות זמן ריצה (באגים). לכן, שפות תכנות קשיחות טיפוס - כאלו הדורשות הכרזה על טיפוסים וציות להתאמה בין טיפוסים - חשובות בשפות תכנות הנדסיות. ילדים לעומת זאת, מעדיפים לראות את תכניותיהם רצות מהר ככל שניתן, והם מתייחסים לשגיאות זמן ריצה כמאפיינים "מעניינים", אז לשם מה להטריח אותם בהכרזה על טיפוסים?
  • שמרנות לעומת חופשיות. מרכיבים בסיסיים בשפות תכנות ובספריות מסורתיות מתוכננים להיות מאובטחים, ולכן כוללים מנגנונים להגבלת גישה למתכנת. מכיוון שעבור שפות תכנות לתלמידים לא נדרשים אילוצים מעין אלו, רצוי לא להטיל מגבלות כלשהן.

הורד את מאמא - גרסה עברית


  Download   הורד את מאמא - גרסה עברית 1.5.4!

קובץ הורדה: mama-he-1.5-setup.exe


מאמא כשפת תכנות לימודית

מאמא נועדה לענות על הדרישות שלעיל בכדי לשמש כשפת תכנות לימדית:
  1. מאמא היא שפת תכנות ביוניקוד, זמינה במספר שפות, ובמהלך תרגום לעוד שפות רבות אחרות.
  2. מאמא נבנתה ללמד עקרונות תכנותיים, לאפשר פיתוח מהיר ופשוט של תכניות. מספר המושגים במאמא קטן, ואין ספרייה תקנית - הכל קיים ונתמך בשפה ישירות!
  3. טיפוסים במאמא מטופלים שונה במוד גרירה והשלכה מאשר במוד סקריפט: במוד גרירה והשלכה יש צורך בהגדרת טיפוס עבור הטיפוסים התקניים, אך כל עצמי המשתמש נופלים באותה הקטגוריה. במוד סקריפט אין כלל הכרזה על טיפוסים - הטיפוס נקבע באופן מרומז על פי הצבת הערך.
  4. שפת מאמא מאפשרת מניפולציה חופשית של עצמים - אחסון, טעינה, הרצה ושינוי של שדות והתנהגות של עצמים - אין שום מגבלות אבטחה.


נתיב הלימוד

שפות תכנות לימודיות בד"כ ממוקמות על מסלול הלימוד - זוהי סדרת שפות שנועדה לאפשר הוראה מסביבות קלות ופשוטות למורכבות יותר. להלן שפות תכנות לימודיות ידועות והמלצה על מיקומן במסלול להימוד, על פי גילאי התלמידים [1]:
גיל שפות תכנות בשפת האם של התלמידים שפות תכנות באנגלית בלבד
כיתות ב - ד Scratch, Logo Etoys
כיתות ה - ז Scratch, מאמא Etoys, AgentSheets, Alice
חטיבות ביניים (כיתות ז - ט) מאמא Basic, Lego Mindstorms, Squeak, Greenfoot, BlueJ, Alice
תיכון (י - יב) מאמא Python, Squeak, Greenfoot, BlueJ, Alice
מכללה / אוניברסיטה - שלא במסלול מדעי המחשב מאמא Python, Squeak, Greenfoot, BlueJ, Alice


לקריאה נוספת

  1. Gerald Jay Sussman and Guy Lewis Steele, Jr.. "Scheme: An Interpreter for Extended Lambda Calculus". MIT AI Lab. AI Lab Memo AIM-349. December 1975.
  2. IFIP – Unesco (1998). Technical committee3 (TC3) – ICT and Education. Retrieved March 16, 2007. http://www.ifip-tc3.net
  3. "Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers", Kelleher, C. and Pausch, R., ACM Comput. Surv. 37, 2 (2005)
  4. "Making Computer Games and Design Thinking: A Review of Current Software and Strategies", Hayes, E. and Games, A., Games and Culture (2008). 3: 309
  5. M. Hanus. The Integration of Functions into Logic Programming: From Theory to Practice. Journal of Logic Programming, Vol. 19&20, pp. 583–628, 1994.
  6. Tucker, A., Deek, F., Jones, J., McCowan. D., Stephenson, C., & Verno, A. ACM K–12 Task Force (2003). A Model Curriculum for K-12 Computer Science. Final Report of the ACM K-12 Task Force Curriculum Committee. Retrieved February 20, 2007. http://www.csta.acm.org/Curriculum/sub/CurrFiles/K-12ModelCurr2ndEd.pdf
  7. Hazzan, O., Adams, E., Loftsson, H., & Young, A. (2003). International perspective of women and computer science, Proceedings of SIGCSE 2003 - The 34th Technical Symposium on Computer Science Education, Reno, Nevada, USA, 45-46.
  8. Henderson, P. H., De Palma, O., Almstrum, V. L., Hazzan, O., & Potter Kihlstrom, K. (2002). Women, mathematics and computer science, Proceedings of the 33rd Technical Symposium on Computer Science Education SIGCSE 2002, Covington, Northern Kentucky - The Southern Side of Cincinnati, USA, 131-134.
  9. Kim, J., & Lerch, F. J. (1992). Towards a model of cognitive process in logical design: Comparing object-oriented and traditional functional decomposition software methodologies. Proceedings of the SIGCHI Conference on Human Factors in Computer Systems, 489-498, Monterey, California.


Reference

  1. Wikipedia Educational programming language