תוכן הקורס ומטרתו
המרצה: פרופסור אלעזר פלקסר
מס' ש"ס: 4 שעות שבועיות במעבדה
דרישות קדם: ידע בסיסי בשפת C או פייטון
מטרת הקורס: הקניית מיומנות בפתרון בעיות מדעיות ואנליזה של נתונים על ידי מחשב
סילבוס:
הקורס נחלק לשלושה חלקים עיקריים:
א. מבנה המחשב ותכנות
ברבעון הראשון (ובמהלך הקורס כולו) של הסמסטר תעשה חזרה מורחבת על שפת התכנות C. ייצוג ואחסנה של נתונים במחשב - מספרים שלמים עם סימן וחסרי סימן, מספרים בנקודה צפה, תווים ומחרוזות, השלכה (Casting). אריתמטיקה, בקרת הזרימה בתכנית, מערכים ומצביעים, פונקציות, העברת פרמטרים לפי ערך ולפי יחס. איגודים (union) ומבנים (structure). משתנים מסוג אוטומטי, סטטי וחיצוני. הספרייה הסטנדרטית של C. קדם המהדר של C. שערים לוגיים, מניפולציה ברמת ביט, גישה לזיכרון.
ב. ממשק משתמש גרפי
הרבעון השני והשלישי של הסמסטר מתמקד בכתיבת ממשק משתמש גרפי (GUI). המימוש יעשה בסביבת העבודה - CVI של נשיונל אינסטרומנט, המאופיינת ביתרונות הבאים: שקיפות מלאה למתכנת בשפת C - אין צורך בכתיבת פקודות ליצירת הGUI , תמיכה מלאה ב ANSI C, תאימות ל ++C ע"י מהדר חיצוני. ריצה על מערכות הפעלה שונות (Windows, Linux, CVI/RT) . ,תמיכה רחבה מאד בפניה להתקני חומרה (דבר החשוב בקורס ההמשך), תמיכה מובנית בפנייה לערוצים חיצוניים ומבחר גדול של ספריות בהם:
Advance analysis, PID, TCP, Internet, GPIB, VISA, RS-232, VXI etc.
במהלך הקורס יסקרו הספריות הבאות:
ANSI C, Utility, Formatting & I/O, ActiveX, Programmer's Toolbox and Advance analysis.
יינתן דגש למימוש בקר אחד ברמת ActiveX והתקשרות למודול חיצוני דרך CVI.
ג. ספריות מתמטיות ואנליזה
הרבעון השלישי והרביעי של הסמסטר יוקדש להכרת ספריות מתמטיות מתקדמות לפתרון בעיות מדעיות הנדסיות. בהן: יצירת צורות גל, אלגברה של ווקטורים ומטריצות, סטטיסטיקה, חשבון קומפלקסי, התאמות, אינטרפולציות, עבוד אותות ועוד. בחלק זה של הקורס, יוצגו מספר בעיות מדעיות (כגון: דינמיקה, סטטיקה, תרמודינמיקה, דיפוזיה, זרימה, אופטיקה, תנודות, וכו') ופתרונן בעזרת הספריות הנ"ל.
הסטודנט יתרגל כתיבה מעשית לאורך כל הסמסטר. בסיום הקורס הסטודנט יגיש עבודה בפתרון בעיה מדעית. העבודה תפרט את מהות הבעיה לפתרון, ותציג את הפתרון בצורה ממוחשבת מלאה הכוללת GUI.
ביבליוגרפיה:
1. Digital Design, Morrris Mano, Prentice Hall.
2. Digital Circuit & Microprocessors, Herbert Taub, Mc Graw Hill.
3. The C (ANSI C) Programming Language, Kernighan and Ritchie.
4. C a Reference Manual, Harbison and Steele.
5. LabWindows / CVI, National Instrument
לסילבוס המפורט