הנדסת תוכנה

תוכנית הלימודים

תכנית הלימודים    – מדעי המחשב – 5 יח"ל

 כיתה  י'

 יסודות מדעי המחשב  – 2 יח"ל

 

מבוא :    אלגוריתם; בעיה אלגוריתמית, תהליך הביצוע המושרה על-ידי אלגוריתם וקלטים. 

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

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

ביצוע מותנה :  משפט if  , קשרי and ו- or , תנאים מקוננים, תנאים מורכבים.

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

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

מערכים חד-ממדיים/ דו ממדיים :   מבני הנתונים והצורך בהם, הגדרת המערכים,  מציינים,  טווח המציינים,  פתרון בעיות עם מערכים ( כולל מערך מונים)        

שילוב והרכבה של מבני בקרה : פתרון בעיות מורכבות באמצעות שילוב והרכבה של מבני בקרה.  קינון ושילוב מנגנונים (התניות, לולאות, מערכים ופעולות )  

ניתוח בעיה מורכבת יותר ופיתוח פתרונה בשלבים מלמעלה למטה (top-down),

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

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

בניית מחלקה בסביבת העבודה.   פתרון בעיות בסיסיות בעזרת מחלקות.

מבוא למערכות מידע      –     1 יח"ל ( פנימי)

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

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

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

מיני פרויקט מסכם

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

 כיתה י'א  

מבני נתונים  ומודלים חישוביים  – 2 יח"ל

מבני נתונים

רקורסיה :  קריאה רקורסיבית, בסיס הרקורסיה, תנאי עצירה, מעקב על אלגוריתמים רקורסיביים, כתיבת אלגוריתם רקורסיבי.       

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

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

תכנות מונחה עצמים – מחלקות :  העמקה בכתיבת מחלקות תוך שימוש בכל מבני הנתונים שנלמדו.

הורשה, מחלקות מופשטת, ממשקים, פולימורפיזם

מודלים חישוביים (אם לא חלופת תכנות מונחה עצמים לא תתממש) 

אוטומטים :  אוט' סופי דטרמיניסטי/לא דטרמיניסטי,  אוט' מחסנית –  מסלולי חישוב , מצב מקבל/לא מקבל, תיאור אוטומט ע"י שרטוט או טבלה ופונקציית מעברים, השוואה בין כוח החישוב של האוטומטים.

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

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

 

כיתה יא- יב  

 

התמחות המגמה :   Mobile Phones – ( 5 יח"ל ) – י'א + י'ב

 

תכנות מונחה עצמים בשפת JAVA -הורשה, מחלקות מופשטת, ממשקים, פולימורפיזם/ .NET C# – MAUI

  • אוספים       •  חריגות       •  מבוא ליישום/אפליקציה: פעילות Activity /   
  • ממשק משתמש User Interface    רכיבים ותבניות 
  • תכנות מונחה אירועים ושימוש במחלקה פנימית • מסרים Intents
  • תפריט, תיבת דו שיח, הודעות – Status bar וטיפול באירועים
  • משאבי האפליקציה Application Resources • אחסון נתונים Data Storage
  • תכנון וניתוח אפליקציות ,ניתוח בשיטת UML תיאור מסכים,   תרשים זרימה
  • ספקי תוכן Content Providers •  תהליכים ותהליכונים ( Processes & Threads )
  • שירות Service •  מקלט שידורים BroadCast Reciever ו App Widget –
  • טלפוניה •    רכיבים מתקדמים: מולטימדיה ומצלמה, חיישנים, GPS ,  מפות
  • גרפיקה ואנימציה

 

•• פרויקט גמר של המגמה –  יישום כל החומר הנלמד תוך תכנון וכתיבת  אפליקציה