תוכן הקורס


מס'

סעיף

תת  סעיף

נושא

1

אלגוריתם פרק זה עוסק באלגוריתמים מילוליים

 

1.1

הגדרת האלגוריתם, שימוש באלגוריתם לשם פתרון בעיות במחשב, בעיה אלגוריתמית(הגדרה), מטרת האלגוריתם

1.2

מבנה תנאי, מבנה לולאה באלגוריתמים, ארגון של מבנים באלגוריתמים: מבנה סדרתי, מבנה תנאי, מבנה חוזר-לולאה, מבנה חוזר –לא מותנה (for), מבנה חוזר מותנה (while).

1.3

מספור והזחה בכתיבת אלגוריתמים מילוליים

1.4

מהדרים ומפרשים- Compiler & interpreter, הכרת המכונה הוירטואלית.

2

מבוא לתכנות ב JAVA

 

2.1

מבוא לג'אווה , מבנה תכנית, מחלקה ראשית בשפת ג'אווה, שמות משתנים בשפה, הוראת השמה, פעולות מתמטיות, הוראת פלט, שילוב הערות בגוף התוכנית, סוגי משתנים, הגדרת קבוע, הגדרה של טיפוסי נתונים בסיסיים-primitives-types,שמות משתנים, משפט השמה.

2.2

המרה בין טיפוסים באמצעות Casting, יש להציג דוגמאות למחלקות בסיסיות ( משתנים, השמות, חישוב, פלט)- ביצוע פעולות אריתמטיות בסיסיות.

2.3

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

3

מתחילים לתכנת

 

3.1

אופרטורים, משפטי השמה, קלט פלט של תכניות

שרשור פלט, קדימות של אופרטורים.

3.2

ממשק מחלקה, מבנה ממשק מחלקה, פקודת Import, פעולות במחלקה, פעולה, חתימת הפעולה, זימון של פעולה, החזרת ערך מפעולה/אי החזרה. הערך null.

3.3

היכרות עם המחלקה Math: Sqrt ,abs ,pow round  ,min ,max ,pi יש לתרגל שימוש בסיסי במחלקה.

3.4

הכרת מחלקות ומופעים של מחלקות, תכונות ופעולות של מחלקה, יש להדגים שימוש. ניתן לאמץ את מחלקת bucket  ן- turtle של האוניברסיטה העברית-ראה נספחים א' ו- ב'.

יש להדגים מחלקות פשוטות, קלט פלט, ותהליך עיבוד בסיסי.


4

משפטי תנאי, פעולות, יבוא מודולים

 

4.1

אופרטורי יחס , משתנים וביטויים לוגיים

4.2

משפט תנאי if , יש לתת דוגמאות למחלקות עם שימוש במשפטי תנאי, משתנה boolean, אופרטורי יחס.

4.3

קינון משפטי תנאי, כללי השיוך של if-else,  האופרטורים הלוגים and ,or ,not

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

4.5

פעולות – כתיבה וזימון

פעולות מופע ופעולות מחלקה – פעולות סטטיות

מדוע "כדאי" לכתוב פעולות?

סוגי פעולות

פעולה המחזירה ערך

פעולה שאינה מחזירה ערך

הגדרות

חתימת פעולה

טענת כניסה

טענת יציאה

יש להביא דוגמאות.

הסבר כללי ומפורט  - העברת עצמים לפעולה

4.6

משפט switch

יש להדגים במספר דוגמאות

4.7

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




5

לולאות

 

5.1

משפט  for

דוגמאות לולאות

הרחבות עם תחביר שונה  למשפט  for בשפת java

תירגול  – לולאות  for

5.2

משפט while

תירגול ודוגמאות  -  לולאות while

5.3

יעילות אלגוריתם – הגדרה

אורך הקלט-

איטרציה

סיכום מבוא ליעילות אלגוריתמים -

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

יעילות - סיבוכיות של אלגוריתם.

משפט do while, יש להדגים.

5.4

הגדרה –לולאה עם זקיף 

יש להדגים לולאות עם זקיף

5.5

תירגול ודוגמאות  עצמים ולולאות

5.6

הגדרת תבניות אלגוריתמיות:

( ראה בביליוגרפיה-[ 1 ] יסודות מדעי המחשב בג'אווה אוניברסיטת ת"א , תבניות אלגוריתמיות פרק 7)

הדגמה:
תבנית לחישוב סכום

תבנית לצבירת מכפלה

תבנית למניה

תבנית לחישוב ממוצע

תבנית מניה מימוש ב -  לולאת while

תבנית מניה וממוצע - לולאת while

תבנית למציאת מינימום ומקסימום

תבנית מציאת המקסימום \ מינימום כולל מיקום המספר בסדרת המספרים

משימת סיכום שילוב תבניות מציאת מקסימום, מינימום, וממוצע

5.7

היכרות עם המחלקה String:

קלט מחרוזת

האופרטור +  פועל על שתי מחרוזות :

האופרטור + פועל על מחרוזת ומספר  :

יש לתרגל וללמד שימוש בעצם מסוג String , מניפולציות ועבודה עם מחרוזות, איתור תו, קיצוץ מחרוזת, חיפוש רצף תווים, החלפת תו, חיבור מחרוזות וכו'. המרה למחרוזת.


6

מבנה נתונים סדרתיים

 

6.1

מערך בג'אווה

הגדרת מערך

סוגים שונים (Type) של מערך

הגדרת מערך מטיפוס שלם, השמת ערכים והדפסת המערך

גישה לתא במערך

איברים סמוכים במערך

סיכום מציין ותוכן של תא במערך

מערכים והפניות

מערך מונים

מערכים  חד מימדיים ותבניות  - סיכום

6.2

תבניות אלגוריתמיות לסריקת מערך:

( ראה בביליוגרפיה-[ 1 ] יסודות מדעי המחשב בג'אווה אוניברסיטת ת"א , תבניות אלגוריתמיות פרק 10)

 

לולאה לסריקת כל איברי המערך:

תבנית סריקת מערך "בסדר הפוך"

תבנית סריקה בדילוגים

תבנית בדיקת קיום תנאי

תבנית קיום תנאי ומנייה

תבנית סכום מערך

תבנית ממוצע מערך

תבנית חישוב האיבר המקסימלי במערך

תבניות קיום תכונה במערך

קיום תכונה בכל איברי המערך

תבניות בסיסות נוספות

גבולות הסריקה של מערך

תבנית סריקת שני מערכים( או יותר )

6.3

תבנית העברת איברים ממערך לפי קריטריון למערך אחר

האלגוריתם להעברה ברצף

תרגילי סיכום מערכים חד מימדיים – עם ניתוח  שאלות ופתרונות

6.4

אלגוריתמים לחיפוש ערך במערך

חיפוש סדרתי במערך

חיפוש ערך במערך עצמים

חיפוש בינארי

 

6.5

מיון הכנסה  - insertion sort

מיזוג  מערכים ממוינים – Merging

תוכנית מיזוג מערכים

מיזוג שני מערכים ממויינים

 

6.6

מערכים " דו ממדיים "

( ראה בביליוגרפיה-[ 1 ] יסודות מדעי המחשב בג'אווה אוניברסיטת ת"א , תבניות אלגוריתמיות פרק 12)

 

סריקות במערך דו-מימדי

מערך דו-מימדי –  סיכום

ריבוע קסם- פתרון

תוכנית לבדיקה ריבוע קסם

העברת מערך דו-מימדי לפעולה

החזרת מערך דו-מימדי מפעולה

סריקות במערך "סביב" איבר נתון

עבודת כיתה – מערכים דו-מימדיים

 

6.7

מערכים  דו מימדיים ותבניות  - סיכום

לולאת סכום כל איברי המערכים-

לולאת סכום שורה מסוימת במערך – נניח סיכום שורה 2

לולאת סכום שורה   בנפרד והשמת הסכום במערך סכומים

חישוב סכום "עמודות"   והשמת הסכום במערך סכומים

 


7

מבוא לתכנות מונחה עצמים

 

7.1

יצירה והפעלת עצמים  - רענון וחזרה

ממשקים למחלקות

יצירת הפנייה לעצם –רענון  וסיכום

עקרון הכמסה  - Encapsulation

private

public

ממשק מחלקה – הרחבת הרעיון

יצירת מחלקה

כתיבה- מימוש של מחלקות

יצירת עצם ואיתחול תכונות

הגדרת פעולה בונה

ההפנייה this

פקודות ושאילתות

ניתן לאמץ את מחלקת bucket  ן- turtle של האוניברסיטה העיברית-ראה נספחים א' ו- ב'.

 

7.2

סיכום – כתיבת מחלקות – יצירת טיפוסי נתונים חדשים

אובייקטים, תכונות ופעולות

מצב עצם

מבנה הגדרת מחלקה

המילה public -

המילה class  -

הגדרת תכונות המחלקה

הגדרת פעולות -

כותרת הפעולה -

טיפוס הערך המוחזר -

שם הפעולה -

פרמטרים -

גוף הפעולה -

התנהגות של עצמים

 

7.3

בנאים-הרחבה

העמסה – overloading ודריסה overriding

 

7.4

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

פעולה עם שני עצמים

עצמים עם תכונה מטיפוס עצם (הכללה)

יש להציג דוגמאות.

8

רקורסיה

9

הכרות עם המחלקה- exceptions, פארדיגמת exceptions,

 טיפול ב- exceptions נפוצים, מעבר על דוגמאות

10

ערוצי פלט וקלט, System.ini, System.out, System.err

קריאה וכתיבה לקובץ טקסט וקובץ בינארי
טיפול בסיסי בחריגים
Exceptions

11

הגדרה ועקרונות הבסיס של :
Threads,MultiThreads

שימוש בהם. Thread ראשי, Threads בנים.
יש להביא מס' דוגמאות, לתאר את ההבחנה בין
process לבין Threads היגיון בעבודה עם jobs, ו-  threads  קצרים שמסתיימים לפני threads ארוכים,  עבודה במכונה מרובת מעבדים.


12

יישום שימוש בכתיבה תקנית בסביבת Java , ראה קישור בטבלת מרכיבי תוכנה

13

הכרת מנגנון ניהול הזכרון והמכונה הוירטואלית בג'אווה. כיצד מנוהל הזכרון? איך פועל מנגנון הניקוי? ההבדל בין ג'אוה לשפות אחרות בהיבט זה. הכרת נושא פרגמציה בניהול זכרון, כיצד מתמודדים עם בעיות של צריכת יתר של זכרון? האם ניתן לאלץ ניכוי זכרון באופן מיידי?

14

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




שינוי אחרון: ראשון, 15 ספטמבר 2019, 8:06 PM