לוגו של האוניברסיטה העברית בירושלים

סילבוס

סי וסי++ לאלגוריתמיקה מעשית - 67315
English
הדפסה
 
גרסת PDF
תאריך עדכון אחרון 12-09-2024
נקודות זכות באוניברסיטה העברית: 4

תואר: בוגר

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

סמסטר: סמסטר א' או / ו ב'

שפת ההוראה: עברית

קמפוס: קרית א"י ספרא

מורה אחראי על הקורס (רכז): ד"ר דינה שניידמן

דוא"ל של המורה האחראי על הקורס: Dina.Schneidman@mail.huji.ac.il

שעות קבלה של רכז הקורס:

מורי הקורס:
פרופ דינה שניידמן,
פרופ ניר פרידמן,
ד"ר ברק רווה,
מר ניב ברוקר,
מר אבינועם-אשר הרשלר

תאור כללי של הקורס:
הקורס מספק מבוא יסודי לשפת התכנות C/C++

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

תוצרי למידה :
בסיומו של קורס זה, סטודנטים יהיו מסוגלים:

לקרוא, לכתוב ולתקן תכניות בשפות התכנות סי וסי+.

לממש ולהשתמש במבני נתונים ואלגוריתמים נבחרים תוך יישום עקרונות התכנות הגנרי.

לנהל את משאבי המחשב באופן דינאמי תוך שימוש בזיכרון ובמצביעים כדוגמת דגל.

לתכנן קוד קריא, קל להרחבה, ויעיל תוך שימוש נכון בבדיקות אוטומטיות.

דרישות נוכחות (%):
מגן צנוע על נוכחות בשיעורים ובמפגשי תרגול עם מעבדה (לרוב כ-5% מגן על כ-70% נוכחות)

שיטת ההוראה בקורס: הרצאות בכיתה, תרגולים עם מעבדות תכנות, ומשימות תכנות.

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

חלק 1-א׳ - שפת סי
----------------------
מבוא היסטורי לשפות סי/סי++
מבנה תכנית סי
טיפוסים מובנים
פעולות לוגיות ואריתמטיות
פעולות על ביטים
הספרייה הסטנדרטית בשפת סי
קלט ופלט סטנדרטי ולקבצים
מבני בקרה ולולאות
פונקציות
מבנה הזיכרון
ייצוג משתנים בזיכרון
סגמנט המחסנית
סטראקטים (רשומות)
מערכים
מחרוזות
ארגומנטים בשורת פקודה
מצביעים
הקצאת זיכרון דינאמית
סוגי משתנים (מקומיים, גלובליים, סטטיים)
מימוש מבני נתונים מורכבים בשפת סי
ממשק לעומת מימוש
תכנות גנרי ב C
מצביעים לפונקציות
אופטימיזציית קוד
טיפול בשגיאות


חלק 1-ב׳ - בניית הקובץ:
—-------------------------
קדם-מעבד בשפת סי (מאקרו והנחיות)
מבנה התוכנה
הידור וקישור מספר מרובה של קבצים (static, extern)
שימוש ב Make וכתיבת Makefile
קבצי ספרייה


חלק 2 - שפת C++
---------------------
מחלקות, משתני מחלקה ופונקציות מחלקה (מתודות), פונקציית בנאי ומשמידן
רפרנסים
העמסת פונקציות ואופרטורים
ניהול והבנה של זיכרון דינאמי וסטטי
מחלקות מקוננות
טיפול בחריגות
תבניות לפונקציות ומחלקות
עקרונות תכנות גנרי
איטרטורים
התאמת תבניות
מטא-תכנות באמצעות תבניות
ספריית התבניות הסטנדרטית
הורשה
שיטות וירטואליות ורב-צורתיות
מחלקות מופשטות וממשקים, הורשה מרובה
מצביעים חכמים

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

חומר חובה לקריאה:
-

חומר לקריאה נוספת:
The C Programming Language
Book by Brian Kernighan and Dennis Ritchie
The C++ Programming Language
Book by Bjarne Stroustrup

מרכיבי הציון הסופי :
מבחן מסכם בכתב/בחינה בעל פה % 70
מטלות הגשה במהלך הסמסטר: תרגילים / עבודות / מבדקים / דוחות / פורום / סימולציה ואחרות % 30

מידע נוסף / הערות:
מבחנים:
מבחן משולב בשפת C ו-C++. בוחן מגן בסי באמצע הסמסטר.


ציון מגן צנוע (כ-5% מהציון הסופי) ניתן על נוכחות בשיעורים ובתרגולים.


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