רשימת הקורסים: תואר ראשון ושני

נקה
  • מדעי המחשב

  • מבוא למדעי המחשב

    מדעי המחשב | שנה א’ | חובה
    קוד הקורס: 10204011
    דרישות קדם: אין
    סמסטר א' , שנה א’
    נקודות זכות: 5

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

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

    הנושאים הנלמדים: פקודות בסיסיות (קלט פלט [cin ו- cout], השמה). פקודות בקרה (תנאים ולולאות). מערכים. קבועים וטיפוסים ברי מניה. פונקציות, והשימוש בהן לכתיבת תכניות פרוצידורליות (כולל פרמטרי ערך ופרמטרי הפניה, ופונקציות המחזירות ערך). תכנות תוך שימוש ברקורסיה. קבצים. בדיקת נכונותה של תכנית. הכרות עם מספר אלגוריתמים בסיסיים (מיון בועות, מיון הכנסה, מיון מהיר, מיון מיזוג, חיפוש סדרתי, חיפוש בינארי, מגדלי האנוי, בעיית שמונה המלכות). הערכה אינטואיטיבית של זמן ריצה. אופן הקצאת הזיכרון לתכנית (על גבי המחסנית).

  • מתמטיקה דיסקרטית

    מדעי המחשב | שנה א’ | חובה
    קוד הקורס: 10202011
    דרישות קדם: אין
    סמסטר א' , שנה א’
    נקודות זכות: 4

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

    הפרק הראשון, לוגיקה מתמטית מבהיר מהו פסוק מתמטי ומהו משפט מתמטי, מהי הוכחה מתמטית, ומהן דרכים אפשריות לבניית הוכחה. הפרק כולל את הנושאים הבאים: מבוא, תחשיב הפסוקים, הקשרים הלוגיים, שקילות לוגית, טאוטולוגיות וסתירות, הוכחה בדרך השלילה, קבוצות שלמות של קשרים, פסוקים בצורת CNF ובצורת DNF. תחשיב היחסים, הכמתים הלוגיים, שקילות לוגית.

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

    הפרק יחסים בינאריים פותח צוהר למספר כיוונים מרכזיים בלימודי המתמטיקה: הוא מאפשר להגדיר את יחס השקילות, את יחס הסדר (ומתוכו את מושג האינדוקציה) ואת הפונקציה (גרף של פונקציה, טווח, תחום, פונקציה חד-חד-ערכית, פונקציה על, הרכבה של פונקציות, פונקציה הפיכה, תמורות, פונקציות אופייניות). המושגים הללו גם יאפשרו לנו להגדיר גודל של קבוצה.

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

  • כלים מתמטיים למדעי המחשב

    מדעי המחשב | שנה א’ | חובה
    קוד הקורס: 10201021
    שם המרצה: ניסים הראל
    דרישות קדם: אין
    סמסטר א' , שנה א’
    נקודות זכות: 4

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

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

  • אלגברה ליניארית א'

    מדעי המחשב | שנה א’ | חובה
    קוד הקורס: 10201071
    שם המרצה: ד"ר אריה יקיר
    דרישות קדם: אין
    סמסטר א' , שנה א’
    נקודות זכות: 4

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

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

  • סדנה במתמטיקה א'

    מדעי המחשב | שנה א’ | חובה
    קוד הקורס: 10208021
    שם המרצה: עידן טלשיר
    דרישות קדם: אין
    סמסטר א' , שנה א’
    נקודות זכות: ללא

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

  • תכנות מודולארי

    מדעי המחשב | שנה א’ | חובה
    קוד הקורס: 10204021
    דרישות קדם: מבוא למדעי המחשב
    סמסטר ב' , שנה א’
    נקודות זכות: 5

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

    הנושאים הנלמדים: טיפול בקבצים חיצוניים (פתיחה\סגירה לקריאה\כתיבה, מצביעי get/put, קריאה וכתיבה על-גבי אותו קובץ בו זמנית). הקצאה דינאמית של מערכים (כולל: הגדרה, הקצאת זיכרון דינמית, שחרור זיכרון,  אריתמטיקה של מצביעים, ההבדלים בין זיכרון סטטי לדינמי, העברה/החזרה של מצביעים מפונקציות, מצביע למצביע) מבנים. רשימות מקושרות (כולל מיון מיזוג של רשימות, טיפול ברשימות באמצעות מצביע למצביע). עצים בינאריים (בעיקר עצי חיפוש בינאריים, כולל הכנסה, חיפוש, מחיקה, ואלגוריתמים שונים על עצים). מצביעים לפונקציות (וכתיבת callback functions). מצביעים גנריים (void *) ושימושיהם לכתיבת תכניות פולימורפיות בשפת C (גם בעזרת מצביעים לפונקציות). חלוקת תוכנית לקבצים, הצהרה לעומת הגדרה, הנחיות מהדר (preprocessor), ושימוש ב- makefile. תהליך ההידור והכריכה (compilation and linking) ב- C. מרחבי שמות. טיפול בחריגות. נושאים שונים: מחרוזות ב- C++, inline functions, function overloading, assert, sizeof, typedef ספריות: ספריות סטנדרטיות של C, בנייה והוספה, ספריה סטאטית ודינמית. שימוש בספריה. שיטות לבדיקת תוכנה (כדוגמת valgrind). scanf/printf, argc/argv. פונקציות תבניתיות (template functions). כלי תכנות ב- Linux, כולל מנפים (debuggers).

  • מבנה המחשב

    מדעי המחשב | שנה א’ | חובה
    קוד הקורס: 10203021
    דרישות קדם: אין
    סמסטר ב' , שנה א’
    נקודות זכות: 4

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

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

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

    כמו כן נכיר את עקרונות התכנות בשפת סף. הכרת פקודות האסמבלי של המעבדים ממשפחת X86 של אינטל. נבין נכתוב תוכניות בסיסיות בשפת סף בארכיטקטורת 32 ביט בסביבת SASM, ובעיקר נבין את הקשר בין תפקוד פונקציונאלי של קוד שנכתב בשפה עילית לקוד בשפת סף.

  • מבוא לתיאוריה של מדעי המחשב

    מדעי המחשב | שנה א’ | חובה
    קוד הקורס: 10202021
    דרישות קדם: מתמטיקה דיסקרטית
    סמסטר ב' , שנה א’
    נקודות זכות: 4

    בקורס פרקים שונים העוסקים בנושאים בסיסיים של מדעי המחשב המודרניים. הקורס מקנה לסטודנט הצצה לתחומים השונים ובונה בסיס איתן לקראת המשך הלימודים.

    1. מושג האינסוף. מה משמעותו? האם יש יותר מאינסוף אחד? האם יש אינסוף "קטן ביותר"? האם לכל אינסוף יש אינסוף ה"גדול ממנו"? במהלך הדיון נציג את המושגים הבאים: קבוצות אינסופיות, קבוצות בנות מנייה, שיטת הליכסון של קנטור, עוצמה של קבוצת החזקה (משפט קנטור), משפט ברנשטיין-שרדר.
    2. תורת גרפים. נייצג בעיות שונות באמצעות גרפים וננסה ונפתור אותן בצורה כללית. בין השאלות שבהן נעסוק: איך ניתן להציג את מפת העולם בצורה בהירה תוך שימוש במספר קטן של צבעים? מה הטריד את Euler כאשר יצא לטייל בעירו? איך אפשר לסייע לדור הצעיר בעולם השידוכים? האם ניתן להבטיח שרשת האינטרנט תעביר הודעות במהירות, ואיך? כמה כבישים צריכה עיריית ירושלים לתחזק כדי שאפשר יהיה להגיע ברכב ממרכז העיר לכל צומת בעיר? המושגים הטכניים שבהם נפגוש כוללים את הבאים: הגדרות (קדקוד, צלע, גרף פשוט, גרף מכוון, מסילה, מעגל, מעגל פשוט, מצולע, רכיב קשירות, גרף קשיר), עץ, יער, מספר הצלעות והקדקודים בעץ, גרף מישורי, נוסחת אוילר לגרף מישורי, צביעה של גרף, מספר צביעה, שידוכים בגרפים, משפט החתונה של Hall.
    3. מבוא לתורת ההסתברות הבדידה. נבין איך מתקשרת תורת ההסתברות לפעולות יום-יומיות: איך מתכננים סקר דעת קהל ומה אמינותו? איך אפשר לשחק פוקר דרך רשת האינטרנט? האם אפשר להטיל מטבע בצורה הוגנת כאשר השותף הוא רמאי? האם סטודנט עם ממוצע ציונים גבוה יותר מאשר סטודנט אחר הוא גם סטודנט טוב יותר? האם ואיך ניתן להבטיח שרשת האינטרנט לא תקרוס כאשר קווי תקשורת אחדים ייקרעו? נפגוש במושגים המקצועיים הבאים: מרחבים בדידים, אי-תלות והסתברות מותנה, משתנים מקריים ותוחלת, התפלגות ושונות, אי-שיוויונים יסודיים.
    4. קצב גידול של פונקציות. איך קובעים שאלגוריתם מסוים יעיל יותר מאלגוריתם אחר? מה באמת אפשר לעשות עם המחשב? האם מספיק להיות תכנת טוב כדי לפתור כל בעיה? נגדיר ונעסוק במושגים הבאים: סדרי גודל של פונקציות וטורים, סימונים אסימפטוטיים, פתרון מקורב של נוסחאות נסיגה.
  • חדו"א: פונקציות של משתנה אחד

    מדעי המחשב | שנה א’ | חובה
    קוד הקורס: 10201031
    שם המרצה: רונית כץ
    דרישות קדם: כלים מתמטיים למדעי המחשב
    סמסטר ב' , שנה א’
    נקודות זכות: 4

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

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

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

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

    אינטגרלים: האינטגרל המסוים, האינטגרל הלא מסוים, והקשר ביניהם.

  • אלגברה ליניארית ב'

    מדעי המחשב | שנה א’ | חובה
    קוד הקורס: 10201081
    שם המרצה: ד"ר אריה יקיר
    דרישות קדם: אלגברה ליניארית א'
    סמסטר ב' , שנה א’
    נקודות זכות: 4

    קורס זה הוא קורס המשך של הקורס באלגברה ליניארית א. הנושאים בהם נדון בקורס זה: ערכים עצמיים ווקטורים עצמיים. לכסון מטריצות ואופרטורים. מרחבי מכפלה פנימית מעל הממשיים ומעל המרוכבים. בסיסים אורתונורמליים ותהליך Schmidt-Gram .גאומטריה של מרחבי מכפלה פנימית. פיתוח Fourier .קירוב טוב ביותר בתת-מרחב נוצר סופית. מטריצות אורתוגונליות והעתקות אורתוגונליות. מבוא קצר לגאומטריה אפינית.