מבוא לתכנות ולמדעי המחשב בשפת C/סילבוס

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי

מטרות הקורס[עריכה]

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

תכנים[עריכה]

מבוא למדעי המחשב: סקירה הסטורית על קצה המזלג ומבט על התקופה הנוכחית בהקשר המגמות המתמשכות. מה זה "מדעי המחשב"?

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

בעיות ואלגוריתמים בסיסיים: בעיות חיפוש ומיון, בעיות המתאימות לפתרון רקורסיבי.

מושגי יסוד במדעי המחשב ופיתוח תוכנה: אלגוריתם ובעיה אלגוריתמית; צעדים ראשונים בניפוי תוכניות; תכנות מלמעלה למטה (top-down); כיצד לכתוב תוכניות בהירות ומתועדות היטב; מדידת סיבוכיות אלגוריתם\תוכנית כפונקציה של גודל הקלט, הבעת סיבוכיות בסדר גודל, הערכת סיבוכיות (זמן ריצה) של תוכנית ע"י מניה של פעולות מסוימות (כגון השוואות עבור מיון); הצגת פונקציות סיבוכיות לוגריתמית, ליניארית, nlogn, פולינומית, ואקספוננציאלית. הוכחת נכונות של אלגוריתם.

ביבליוגרפיה[עריכה]

(The small and the big white books) 

* The C Programming Language (2nd ed.). B. W.Kernighan and D. M.Richie, Prentice Hall, 1988.

* Introduction to algorithms (2nd ed.). (CLRS) Cormen, Leiserson, Rivest & Stein.

אלה שני ספרים ידועים מאוד. אתם יכולים לקרוא אודותיהם בויקיפדיה [1], [2].

כל ספר אחר העוסק במבוא לתכנות עשוי להועיל.