הנדסת תוכנה

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

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

 כיתה  י'

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

 

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

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

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

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

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

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

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

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

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

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

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

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

 

 כיתה י'א  

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

מבני נתונים

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

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

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

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

מודלים חישוביים 

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

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

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

 

כיתה י'ב  

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

 

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

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

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

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

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

 

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

 

תכנות מונחה עצמים בשפת JAVA -הורשה, מחלקות מופשטת, ממשקים, פולימורפיזם

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

 

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