Credit: 3 Points
בניית יישומים ומערכות מורכבות באינטרנט. בפרט,עקרונות (בסיסיים ומתקדמים) וטכנולוגיות פיתוח עבור המרכיבים המרכזייםשל מערכות אלו: צד הלקוח (הדפדפן), צד השרת, תקשורת לקוח-שרת ברשת,שירותים משמעותיים כגון מסד הנתונים, ואבטחה באינטרנט. הקורס יתמקדבטכנולוגיות פיתוח כוללות עבור מערכות אלו (Full Stack), בדגש על מערכותגדולות מורכבות. תוצאות למידה: בסיום הקורס, הסטודנטיות והסטודנטיםידעו:1. לתכנן ולפתח יישומים באינטרנט ( Full-Stack development).2. לתכנן מערכות תוכנה מורכבות ומרובות משתתפים.3. עקרונות יישומים בצד הלקוח (Front-end): איך דפדפן עובד וממומש,תכנותאסינכרוני בממשק משתמש, שפות הפיתוח JavaScript ,CSS ,HTML ו-TypeScript.4. לפתח יישומים בספריות מבוססות JavaScript כגון Node.JS ו- React .5. עקרונות פיתוח בצד השרת (Back-end): שרתים ופרוטוקולים, HTTP/HTTPS,זיכרון בין פניות (session, cookie) מיקרו-שירותים(Microservices), אימות משתמשים(authentication), תכנות מונחה אירועים.6. להשתמש במסדי נתונים במסגרת יישום באינטרנט.7. סיכוני אבטחה באינטרנט, חולשות נפוצות של מערכות באינטרנט, כליםלאבטחת מידע באינטרנט (כגון ערוצים מאובטחים) ושילובם בכלי פיתוח מודרניים.
בניית יישומים ומערכות מורכבות באינטרנט. בפרט,עקרונות (בסיסיים ומתקדמים) וטכנולוגיות פיתוח עבור המרכיבים המרכזייםשל מערכות אלו: צד הלקוח (הדפדפן), צד השרת, תקשורת לקוח-שרת ברשת,שירותים משמעותיים כגון מסד הנתונים, ואבטחה באינטרנט. הקורס יתמקדבטכנולוגיות פיתוח כוללות עבור מערכות אלו (Full Stack), בדגש על מערכותגדולות מורכבות. תוצאות למידה: בסיום הקורס, הסטודנטיות והסטודנטיםידעו:1. לתכנן ולפתח יישומים באינטרנט ( Full-Stack development).2. לתכנן מערכות תוכנה מורכבות ומרובות משתתפים.3. עקרונות יישומים בצד הלקוח (Front-end): איך דפדפן עובד וממומש,תכנותאסינכרוני בממשק משתמש, שפות הפיתוח JavaScript ,CSS ,HTML ו-TypeScript.4. לפתח יישומים בספריות מבוססות JavaScript כגון Node.JS ו- React .5. עקרונות פיתוח בצד השרת (Back-end): שרתים ופרוטוקולים, HTTP/HTTPS,זיכרון בין פניות (session, cookie) מיקרו-שירותים(Microservices), אימות משתמשים(authentication), תכנות מונחה אירועים.6. להשתמש במסדי נתונים במסגרת יישום באינטרנט.7. סיכוני אבטחה באינטרנט, חולשות נפוצות של מערכות באינטרנט, כליםלאבטחת מידע באינטרנט (כגון ערוצים מאובטחים) ושילובם בכלי פיתוח מודרניים.
הקורס יוכר כפרוייקט עבור תארי מדעי המחשב.
Development of Applications and Complex Systems on the Internet. In particular, the course will teach the (basic and advanced) principles underlying the development of central components of such systems: the client side (browser), the server side, client-server communication on the web, significant services such as the database, and internet security. The course will focus on holistic technologies for the development of such systems, namely full-stack technologies, with emphasis on systems of considerable magnitude and complexity. Learning outcomes: By the end of the course, the student will know:
- Full-stack development on the web.
- How to design software systems of high complexity and user consumption.
- Principles of front-end development: the functionality and implementation of a web browser, asynchronous programming of user interfaces, the programming languages HTML, CSS, JavaScript, and TypeScript.
- Programming with JavaScript libraries such as Node.js and React.
- Principles of back-end development: servers and internet protocols, HTTP/HTTPS, session management and cookies, microservices, user authentication, event-driven programming.
- Using the database within a web application.
- Security risks, common vulnerabilities of internet applications, tools for web security (such as secure sockets), including their incorporation in modern web development.