מבוא לתכנות ולמדעי המחשב בשפת C/סילבוס: הבדלים בין גרסאות בדף

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
Hidro (שיחה | תרומות)
אין תקציר עריכה
Matanya (שיחה | תרומות)
מ 20 גרסאות
(אין הבדלים)

גרסה מ־19:06, 31 באוקטובר 2012

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

שם הקורס באנגלית: Introduction to Programming & Computer Science

מס' הקורס: 10-003

מרצה ומתרגל: אורי מוסנזון

מבנה: הרצאה של 4 ש"ס, תרגול של 2 ש"ס ו 4 שעות תמיכה במעבדה

נקודות זכות: 5 נ"ז

דרישות קדם : אין

שעות הוראה

  • הרצאות: א' - 18:45-20:15 , ו' - 08:30-10:00 (חדר 017)
  • תרגול: ה' - 20:30-22:00 (מעבדה 108)
  • תמיכה במעבדה: ב' 18:00-22:00 (מעבדה 108)

מטרות הקורס

הקורס יציג את פרדיגמת התכנות הפרוצדורלית, ויפתח מיומנות בסיסית בניסוח, ניתוח ופתרון בעיות אלגוריתמיות במדעי המחשב. כמו כן יוצגו רעיונות יסוד בפיתוח תוכנה. הקורס יעביר תכנים אלו בשימוש בשפת 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].

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