קורסים
- תכנות מונחה עצמים (10128) תקציר הקורס:
- כלי פיתוח (10142) תקציר הקורס:
- הנדסת תוכנה אינטגרטיבית (10143) תקציר הקורס:
- מחשוב בענן (10353) תקציר הקורס:
תקציר:
בקורס הסטודנטים ילמדו את יסודות התכנות המונחה עצמים: מחלקות ואובייקטים, קונסטרקטורים ירושה, פולימורפיזם וממשקים. |
תקציר:
מבוא ללינוקס, שימוש בטרמינל ועורכי קבצים, ארכיטקטורת מערכת קבצים, היכרות עם באש (Bash), פקודות בסיסיות, ניהול ועבודה עם קבצי אצווה, צינורות והפניות, כתיבת סקריפטים בבאש (Bash). כלים שונים לפיתוח ותפעול הפיתוח (DEVOPS) בסביבת LINUX, |
תקציר:
מימוש תשתית מרובת תהליכים; תכנות ריאקטיבי Reactive Programming; מנגנון ה-Logger; מנגנון Reflection; מודל MVC; בדיקות יחידה, Mocking, בדיקות אינטגרציה; פיתוח Web-Services; חיבור לבסיסי נתונים טבלאיים (Relational Databases) ובסיסי נתונים של NoSQL; פיתוח Client-Server; מתודולוגיית AOP תוך שימוש ב-Spring. הסטודנטיות והסטודנטים בקורס יתנסו בכתיבת פרויקט של מערכת עם מספר ממשקי משתמש שונים לאותה לוגיקה עסקית, באמצעות מבחר של יישומי קצה. הפרויקט ישלב מימושים בשפת JAVA לנושאים שנלמדו בקורסים אחרים: מערכות הפעלה, תקשורת ובסיסי נתונים, תוך שימוש ויישום עקרונות הנדסת תוכנה. הקורס ובעיקר הפרויקט מחייבים בנוסף לחומר הנלמד בקורס זה, שליטה ומיומנות מלאים בנושאי הקורסים מבוא למדעי המחשב, תכנות מונחה עצמים המבוססים של שפת Java ושיטות בהנדסת תוכנה. |
תקציר:
מערכות מבוזרות מאפשרות גמישות גדולה וביזור יחידות פיתוח בצורה מודולארית. ארכיטקטורות מחשוב ענן מקנות לתוכנה שפועלת עליהן היבטים דינאמיים שמשפיעים על ויסות העומסים על מערכות אלה (Scalability); פירוק והרכבה של רכיבי התוכנה באופן שיתאים את התוכנה לדרישות עסקיות וטכניות דינמיות; ביזור טוב של משימות, נתונים ופעילויות בקרה; גמישות בבחירת התשתית לתוכנה; בקרה תפעולית טובה של התוכנה וגמישות בפתרון תקלות ובעיות לא צפויות; שימוש יעיל ברכיבי תוכנה מן המוכן, באופן שייעל את פיתוח התוכנה.
בקורס זה נדון בהיבטי הפיתוח הקשורים לארכיטקטורות ענן, הכוללים שימוש בתבניות נפוצות לפיתוח יעיל בענן (Cloud Architecture Design Patterns), ביזור נתונים ותהליכים שמקנות תשתיות יעודיות בארכיטקטורת ענן, מתודולוגיות לפיתוח אפקטיבי בסביבה מבוזרת, ניטור ובקרה של בעיות ותקלות בפיתוח, אוטומציה של תהליכי פיתוח ושימוש במתודולוגיות וכלים שיאפשרו עדכון זריז ויעיל של התוכנה (Agile Cloud Development).
הקורס דורש ידע מוקדם בפיתוח מתקדם בשפת Java ובפיתוח בסביבה עתירת תקשורת ובסיסי נתונים. ידע זה מוקנה על ידי קורסי הקדם לקורס זה. |