סימולציות מולקולריות

ד"ר ברק הירשברג  | הפקולטה למדעים מדויקיים | בית ספר לכימיה

כימיה היא מדע ניסיוני בעיקרו. אך, בשנים האחרונות, כימאים בתעשייה ובאקדמיה עוסקים במידה הולכת וגוברת במחקר ופיתוח מחוץ למעבדה הכימית. רבים מהם מפתחים סימולציות נומריות ועוסקים במדעי הנתונים, אשר מילאו תפקיד קטן בהכשרת התלמידים לכימיה בביה"ס עד כה. בשנת הלימודים תשפ"ב פותח קורס זה, המיועד לתלמידי תואר שני וכן סטודנטים לתואר ראשון בשנתם השלישית. מטרת הקורס היא להקנות לתלמידים את הרקע התיאורטי לביצוע סימולציות מחשב מתקדמות של תהליכים כימיים וכן מיומנות בפיתוח תוכנה בכלים מודרניים. תפיסת ההוראה העומדת ביסוד השינוי היא שאחוז הכימאים הפיזיקליים שיועסקו בתפקידים מחוץ למעבדה כמדעני נתונים ומפתחי אלגוריתמים גדל והולך. לכן, יש להקנות להם ניסיון וכלים לפיתוח תוכנה בצורה מודרנית בצוות, הכוללים בקרת תצורה ושינויים, המהווים את הסטנדרט בתעשייה. 

בקורס 15 סטודנטים וסטודנטיות.

קורס בחירה לתואר שני וראשון. 

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

  1. מערכי שיעור להרצאות פרונטליות בפורמט דיגיטלי ייחודי (Jupyter Book) הכולל שאלות למידה פעילה אינטראקטיביות 

  1. מפגשי למידה פעילה לכתיבת קוד בהנחיית המנחה 

  1. רכישת מיומנות בכלי פיתוח תוכנה מודרניים המשמשים בתעשייה תוך כדי עבודה בצוות על הפרויקט המסכם  

ההרצאות הפרונטליות התבססו על אתר מערכי שיעור אשר בניתי בפלטפורמה מודרנית בשם Jupyter book. פלטפורמה זו מציגה את חומר הקורס באופן נגיש, המתאים את עצמו אוטומטית למכשיר בו משתמשים (פלאפון, טאבלט, מחשב). היא מאפשרת הצגה של טקסט עשיר, משוואות, גרפים ותמונות וכן קטעי קוד "חיים" הניתנים לעריכה והרצה מתוך האתר. בנוסף, במערכים שולבו שאלות "למידה פעילה", בהן התלמידים צריכים לפתור תרגיל קצר לפני שמתקדמים בחומר, כדי לוודא את הבנתו והטמעתו. הפתרון לשאלה מוסתר וניתן להצגה על ידי התלמיד באופן עצמאי לאחר סיום פתרון השאלה לבדיקת התוצאה. בשיעור, תלמידים מתנדבים לגשת ללוח ולהציג את החישוב שלהם במטרה לפתח דיון.  
קישור לאתר המלווה את הקורס 

לאחר מספר קטן של הרצאות פרונטליות, מתקיימים מפגשי למידה פעילה במסגרתם התלמידים מפתחים תוכנה תחת הנחיית המנחה. התוצר של מפגשים אלו הוא קוד סימולציות דינמיקה מולקולרית (Molecular Dynamics) שכתבו התלמידים. בנוסף, הם משתמשים בו להדמיית ארגון בפאזה גזית, נוזלית ומוצקה וביצוע אנליזה של תכונות החומר. לשם כך, במפגש הראשון, קיימנו הדרכה על Github, מערכת פיתוח תוכנה בצוות ובקרת תצורה המשמשת בתעשייה.  

כדי להכווין את התלמידים בצורה צמודה, מאחר שזו הפעם הראשונה בה הם כותבים קוד סימולציות נרחב, כתבתי תבנית (Template Repository) המגדירה מהי סימולציה (מחלקה), מבנה הנתונים (משתנים), ואת המתודות (פונקציות) השונות אשר התלמידים צריכים לממש כדי להשלים את המטלה. באופן זה, התלמידים לומדים גם כיצד תוכנה מודרנית מבוססת תכנות מונחה עצמים עובדת (Object Oriented Programming).  

באמצעות הפלטפורמה החינמית למערכות השכלה גבוהה, Github education, נוצר לכל תלמיד עותק מקומי של קוד התבנית אותו הוא יכול לערוך. יתר על כן, נוצר לכל תלמיד צ'ט (Pull Request) בו הוא יכול לשאול שאלות את המרצה, גם מחוץ לשעות מפגשי הלמידה הפעילה, לקבל משוב על הקוד בצורה נוחה תוך כדי עבודה, וכן להגיש את התרגיל ולקבל את ההערות והציון הסופי.  

תהליך זה של הרצאות פרונטליות ולאחר מכן מפגשים לכתיבת קוד בלמידה פעילה חזר על עצמו פעמיים במהלך הסמסטר. בפעם השנייה התלמידים מימשו סימולציה מולקולרית אחרת מסוג Metropolis Monte Carlo.  

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

1) הכנסה של אפקטים קוונטים לסימולציות הקלאסיות אותן מימשו והריצו עד עתה. נושא זה רלוונטי למחקר בחומרים קוונטים מתקדמים.  

2) יישום של אלגוריתם המאפשר סימולציה של תהליכים איטיים מעבר ליכולות האלגוריתמים שמימשו עד כה. נושא זה רלוונטי לתהליכי גידול גבישים של תרופות.  

בשלב זה לא ניתנו עוד הרצאות פרונטליות ובמקום זה התלמידים קיבלו מראי מקום למאמרים וספרים לכל אחד מהפרויקטים. לשמחתי הרבה, ללא יוצא מן הכלל, הם התמודדו בצורה מרשימה ביותר עם הנושאים המתקדמים הללו אשר לרוב לא נלמדים אפילו בקורסים לתואר שני באוניברסיטה! בנוסף, למרות שבשלב זה איפשרתי חופש מוחלט בכתיבת קוד הסימולציה, כולם השתמשו בפלטפורמות אשר למדנו במהלך הקורס (Github) - עדות להטמעת החומר הנלמד. 

 

 

  • רכישת מיומנויות פיתוח קוד והכרות עם כלים וסביבות רלוונטיים לשוק העבודה 

  • למידה מתוך התנסות 

  • למידה בקצב מותאם אישית, ולמידה עצמית 


  

צור קשר

To prevent automated spam submissions leave this field empty.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
אוניברסיטת תל אביב עושה כל מאמץ לכבד זכויות יוצרים. אם בבעלותך זכויות יוצרים בתכנים שנמצאים פה ו/או השימוש
שנעשה בתכנים אלה לדעתך מפר זכויות, נא לפנות בהקדם לכתובת שכאן >>