תקצירי קורסים – החוג למדעי המחשב
הקורס עוסק במבנה המחשב תוך הכרות מעשית עם רכיבי חומרה שונים פנימיים וחיצוניים; בדיקת תקינות רכיבים; התקנת רכיבי חומרה; הפעלה של ציוד חיצוני. הקורס מתייחס לעבודה עם מערכות הפעלה וניהול וארגון קבצים בסביבת מערכות הפעלה שונות. הקורס מקנה עקרונות ייסוד של המבנה הלוגי והפיזי של המחשב כולל מרכיבים פנימיים המאפשרים ביצוע של תכניות.
האלגוריתם הוא מושג יסוד במדעי המחשב. בקורס נערכת היכרות עם המושג תוך כדי התנסות בגילוי וניסוח אלגוריתמים ופיתוח פתרונות לבעיות אלגוריתמיות. כמו כן, מוצגות דוגמאות לאלגוריתמים במדעים, בטכנולוגיה, בחינוך ובחיי היומיום. הקורס כולל יישום של אלגוריתמים בשפת התכנות Java (בגישה הפרוצדוראלית). כלי התכנות הנרכשים בקורס מבוא זה הם מבנה תכנית, טיפוסי נתונים בסיסיים, משתנים ומבני בקרה, תנאים ולולאות.
הקורס מבסס את עקרונות החשיבה והפיתוח של אלגוריתמים בתהליכי פתרון בעיות מורכבות. האלגוריתמים מיושמים בשפת התכנות Java (בגישה הפרוצדוראלית). כלי התכנות הנרכשים בקורס זה הם לולאות מקוננות, פעולות (פונקציות), עיבוד מחרוזות ומערכים. תנאי מוקדם: מבוא לאלגוריתמיקה ולתכנות א'
הקורס סוקר נושאים יסודיים במדעי המחשב. הנושאים המרכזיים הנדונים הם מושגים בסיסים ומרכזיים במדעי המחשב: אלגוריתם, פרדיגמות תכנות, ועוד. מדוע 'מדעי המחשב' הוא מדע, כיצד אלגוריתמים מבוצעים על ידי מכונות ומגבלותיהם של אלגוריתמים, ההיסטוריה של מדעי המחשב על ציר התפתחות העקרונות המדעיים ועל ציר ההתפתחות הטכנולוגית ומדענים מרכזיים בתחום.
תכנות בלוגיקה מתבסס על כללי יסוד של לוגיקה ומאפשר להציג קשרים המאפיינים ידע בתחומי דעת מגוונים באופן מובנה. בקורס יילמדו עקרונות הבסיס של הלוגיקה והדרך הפשוטה ליישם אותה בשפת התכנות ההצהרתית prolog. בקורס יוקנו כלים ושיטות לייצוג ידע ופתרון בעיות בתחומי ידע שונים כמו גיאוגרפיה, תנ"ך ובעלי חיים.
הקורס עוסק ביישום עקרונות הלוגיקה בתכנות הלוגי, בבניית בסיסי ידע (תכניות) ובהצגת שאילתות (הרצה). יישום התכנות הלוגי ייעשה בעזרת שפת התכנות הלוגי פרולוג (Prolog). הקורס יידון במושגים המרכזיים הבאים: המודל החישובי הבסיסי של התכנות הלוגי, מבנה התוכניות, תכנות מסדי ידע, שימוש ביחס השלילה, חישובים נומריים, תכנות רקורסיבי, רשימות, עיבוד רקורסיבי של רשימות. הקורס כולל גם התייחסות לנושאים מתקדמים כמו מושגי יסוד בבינה מלאכותית, תכנות מערכות-מומחה פשוטות, טיפוסי נתונים מופשטים: רשימה, עץ, גרף ומימושם בפרולוג ומטה-תכנות בפרולוג.
הקורס מציג את מושגי היסוד של רשת האינטרנט ועקרונות העברת המידע בה ויתמקד בבניית דפי אינטרנט ועיצובם. בקורס תילמד שפת הסימון HTML המאפשרת לבנות דפי אינטרנט הכוללים תכנים טקסטואליים וויזואליים וכן בדרכים לעיצוב התכנים באמצעות גיליונות סגנון CSS. הלימוד ישולב בהתנסות מעשית בפיתוח, עיצוב והצגה של דפי אינטרנט ואף בפיתוח של אתרי אינטרנט בסיסיים.
בקורס תילמד שפת התסריטים JavaScrip הנפוצה ביותר בשימוש ברשת האינטרנט המשמשת לפיתוח אתרים דינאמיים. הסטודנטים יבנו וישלבו פיסות קוד קטנות (תסריטים) לתוך דפי אינטרנט. התסריטים מאפשרים למשל: להכניס טקסט דינאמי לדף HTML, ליצור אפשרויות תגובה לאירועים המתרחשים בזמן הגלישה בדף, לשנות תכנים של אלמנטים בדף ולבדוק נתונים בדף כגון נתוני טופס לפני שהם נשלחים לשרת. תנאי מוקדם: ידע מבוסס של HTML ו-CSS.
הקורס עוסק בפיתוח אלגוריתמים לצורך פתרון בעיות המתייחסות אל איתור מספרים וסדרות מספרים תוך שימוש בקינון של מבני בקרה; שיטות לחיפוש, מיון ומיזוג של מערכים; אלגוריתמים רקורסיביים. הקורס מקנה מושגי יסוד בתחום יעילות והערכת יעילות של אלגוריתמים במונחים של זמן חישוב, כמו כן נכללים מושגי יסוד בסוגיית נכונותם של אלגוריתמים.
מטרת הקורס להקנות מיומנויות תכנות בשפת Java. הקורס כולל את כלי התכנות הבאים: לולאות מקוננות, מערכים חד-ממדיים ודו-ממדיים, הגדרת פעולות תוך שימת דגש על העברת הפרמטרים, מחרוזות והגדרת פעולות רקורסיביות. כמו כן הקורס כולל את העקרונות של תכנות מונחה-עצמים ואופני מימושם בשפת התכנות.
הקורס מקנה את היסודות התיאורטיים של המודלים הבסיסיים של החישוב המונחים ביסוד שפות התכנות והשוואת כוחם. המודלים שיילמדו: אוטומטי סופי דטרמניסטי ולא דטרמניסטי, אוטומט מחסנית ומכונת טיורינג. במקביל למודלים ילמדו משפחות השפות הפורמאליות המתאימות למודלים: שפות רגולריות, שפות תלוית הקשר, שפות חופשיות הקשר.
הקורס עוסק בארכיטקטורה של המחשב ובשימוש הישיר בה באמצעות תכנות בשפת הסף (אסמבלר). בקורס ייסקרו הנושאים: קודים בינאריים, לוגיקה בינארית, טבלאות אמת, משוואות לוגיות, משפטי האלגברה הבוליאנית ופישוט פונקציות, מבוא לתורת המיתוג – מעגלים לוגיים, יחידת העיבוד המרכזית, מונה התכנית, אוגר ההוראות ואוגרים אחרים, מבנה המחבר, מבנה המעבד במכונות פון-נוימן, שפת מכונה. הקורס יקנה את עקרונות התכנות בשפת הסף תוך כדי פיתוח תכניות הכוללות את ההוראות הבאות: הוראות אריתמטיות, הוראות הסתעפות, מבנים לביצוע חוזר, כתיבה וביצוע של תת-תכניות.
הקורס מתמקד במבני נתונים מתקדמים ובהפשטה של מודלים. עיקר הקורס מוקדש ללימוד מבני הנתונים המרכזיים במדעי המחשב תוך פיתוח של אלגוריתמים מתקדמים לטיפול בטיפוסי נתונים אלו. הטיפוסים הם: רשימה, מחסנית, תור, עץ, וגרף. הקורס מעמיק את הידע בתחום סיבוכיות של אלגוריתמים, וכן בבדיקת נכונות של אלגוריתמים.
הקורס מתמקד בעקרונות ההפשטה, המודולאריות, ההכמסה והסתרת המידע כבסיס לבניית מערכות ממוחשבות. הקורס עוסק בתכנות מתקדם בשפת Java וכולל את הנושאים: מבנה ופיתוח של פרויקטים, פיתוח ממשקים, גרפיקה, מימוש של טיפוסי הנתונים המופשטים רשימה, מחסנית, תור ועץ, גנריות והורשה.
הקורס עוסק בלימוד ויישום העקרונות של התכנות הפונקציונאלי. יישום התכנות הפונקציונאלי יעשה בעזרת שפת התכנות הפונקציונאלי סכימה (Scheem). הקורס יידון במושגים המרכזיים הבאים: המודל החישובי של התכנות הפונקציונאלי, מבנה התוכניות, דגש על פונקציות כאובייקטים מסדר ראשון, הרכבת פונקציות, רקורסיה וחשיבה רקורסיבית, עיבוד רשימות, גרפיקה רקורסיבית, הוכחת נכונות של ביטויים והגדרות, מטה-תכנות ותכנות פונקציונאלי מתקדם.
מטרת קורס זה לפרוש יריעה רחבה של תחום מדעי המחשב תוך סקירה היסטורית של התפתחות פרדיגמות תכנות ושפות תכנות ועיון בתרומתם של מדענים מרכזיים בתחום. הקורס מציג סוגיות נבחרות בנושאים מתקדמים במדעי המחשב, לדוגמה: ביו-אינפורמטיקה, מחשב ביולוגי, שפת UML, רשתות תקשורת, תורת ההצפנה, בינה מלאכותית, שפות מרובות פרדיגמות, תורת המשחקים. הדגש בקורס הוא על לימוד עצמי, קריאת מאמרים, הצגת סקירות על ידי הסטודנטים וקיום דיונים המשווים ומקשרים בין הנושאים.