| |||||||||||||||||||||||||||||||||||||||||
מבוא מורחב למדעי המחשב
Extended Introduction to Computer Science |
0368-1105-11 | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
מדעים מדויקים | |||||||||||||||||||||||||||||||||||||||||
|
בקורס מבואי זה יוצגו מושגי יסוד במדעי המחשב, לצד מושגים בתכנות ובשפות תכנות. השפה בה נשתמש תהיה פייתון, גרסא 3, והיא תהווה פלטפורמה להצגה וטיפול במגוון נושאים בעלי עניין כללי במדעי המחשב.
נושאים לדוגמא: מיון וחיפוש; טבלאות ערבול (hash tables); ייצוג תווים ומחרוזות, התאמת מחרוזות; ייצוג ועיבוד תמונה; קודים לתיקון טעויות; דחיסת טקסט; חישובים נומריים ויציבותם; פעולות על מספרים גדולים מאוד ושימושיהן בתורת המספרים (בדיקת ראשוניות) ובתורת ההצפנות
(יצירת מפתח סודי משותף); ערבול גיאומטרי (geometric hashing); תכנות מונחה עצמים; מושגים בתכנות פונקציונלי, ייצוג עצמים אינסופיים במחשב, ועוד.
יוסברו מספר גישות אפשריות לייצוג הבעיה והקלט, ולמציאת פתרון. יינתן דגש על פתרונות מובנים, על נכונות הפתרונות, ועל סיבוכיותם, הן אסימפטוטית והן על זמן הריצה בפועל.
הקורס שם דגש על חשיפה למגוון תחומים במדעי המחשב, ועל כן אינו קורס "טהור" בתכנות, אך המטלות בו יכללו כתיבת תכניות מחשב בהיקף משמעותי.