טיפים
This course follows a typical computer science degree from the first program to machine learning. It starts with programming fundamentals and discrete mathematics, then builds up: object-oriented design, data structures and algorithms, computer architecture, operating systems, databases and networks. Later parts cover algorithm design, the theory of computation and compilers, software engineering, and AI and machine learning.
Two habits matter more than any language. First, write and run code every week: reading a solution is not the same as producing one. Second, reason about cost. A university answer must say how the running time grows with the input, written as Big-O, and why the algorithm is correct, not only that it worked on one test.
Discrete maths can feel separate from programming. It is not. Proof by induction is how you show a recursive function is right, and graphs are behind maps, networks and compilers.
-
1
יסודות התכנות
- 1.1 מה הקורס הזה הוא, וכיצד להשתמש בו
- 1.1 ערכים, סוגים והזנה/הוצאה
- 1.2 בחירה: בחירה בין מסלולים
- 1.3 איטרציה: חזרה על הפעולה
- 1.4 פונקציות: הגדרת משימה פעם אחת
- 1.5 אוספים: רשימות, מילונים, טופלים, קבוצות
- 1.6 קבצים ושגיאות
- 1.7 פירוק, בדיקה ותיקון שגיאות
טוען…
-
2
מתמטיקה דיסקרטית
- 2.1 לוגיקה והוכחות
- 2.2 קבוצות, פונקציות ויחסים
- 2.3 אינדוקציה ורקורסיה
- 2.4 ספירה וקומבינטוריקה
- 2.5 גרפים ועצים
- 2.6 הסתברות דיסקרטית
טוען…
-
3
יסודות במחשבים
- 3.1 בינארי וקידוד נתונים
- 3.2 שערים לוגיים וחלקי בנייה דיגיטליים
- 3.3 סקירה של מעבד ואחסון
- 3.4 הוראות מכונה
- 3.5 ממשק מערכת ההפעלה
- 3.6 תהליך הקומפילציה והביצוע
טוען…
-
4
תכנות ממוחזר אובייקטים
- 4.1 אובייקטים וכיתות
- 4.2 עטיפה
- 4.3 הרכבה וירישה
- 4.4 ממשקים ופולימורפיזם
- 4.5 יוצאי דופן ומניעת שגיאות
- 4.6 בדיקות ואיכות עיצוב
טוען…
-
5
מבני נתונים ואלגוריתמים
- 5.1 ניתוח אסימפטוטי
- 5.2 רשימות, סטacks ותורים
- 5.3 גישור (Hashing)
- 5.4 עצים וקופסאות (Heaps)
- 5.5 גרפים וביקור
- 5.6 סינון
- 5.7 חיפוש
טוען…
-
6
ארכיטקטורת מחשב
- 6.1 ארכיטקטורת סט הוראות
- 6.2 שביל נתונים ושליטה
- 6.3 זרימת פקודות
- 6.4 היררכיית זיכרון
- 6.5 כניסה ויציאה
- 6.6 מקביליות וביצועים
טוען…
-
7
מערכות הפעלה
- 7.1 תהליכים ותומדים
- 7.2 תכנון
- 7.3 סנכרונציה
- 7.4 זיכרון וירטואלי
- 7.5 מערכות קבצים
- 7.6 הגנה ואבטחה
טוען…
-
8
מאגרי נתונים
- 8.1 מודל יחסי
- 8.2 אלגברה יחסית ו-SQL
- 8.3 נורמליזציה
- 8.4 אינדקסים ותוכניות שאילתות
- 8.5 עסקאות וקונקורנטיות
- 8.6 אבטחה וממשול נתונים
טוען…
-
9
רשתות מחשב
- 9.1 שכבות וארכיטקטורה
- 9.2 שכבת קישור ו-IP
- 9.3 כיוון נתונים
- 9.4 שכבת הובלה (TCP/UDP)
- 9.5 פרוטוקולי אפליקציה
- 9.6 אבטחת רשת
- 9.7 יסודות מערכות מפוזרות
טוען…
-
10
עיצוב וניתוח אלגוריתמים
- 10.1 משוואות רקורסיביות וכלי ניתוח
- 10.2 פירוק והתגברות
- 10.3 אלגוריתמים תאביני
- 10.4 תכנות דינמי
- 10.5 אופטימיזציה על גרפים
- 10.6 הפניות ו- NP-שלמות
טוען…
-
11
תיאוריית חישוב ומחברים
- 11.1 אוטומטים ושפות רגילות
- 11.2 שפות קונטקסט-חופשיות ותורת פירוש
- 11.3 חישוביות
- 11.4 ניתוח לקסיקלי
- 11.5 פירוש
- 11.6 ניתוח סמנטי ויצירת קוד
טוען…
-
12
הנדסת תוכנה
- 12.1 דרישות
- 12.2 ארכיטקטורה ועיצוב
- 12.3 אינטראקציה אדם-מחשב ונגישות
- 12.4 ניהול גרסאות ועבודה בצוות
- 12.5 בדיקות ואינטגרציה רציפה
- 12.6 אבטחה ואתיקה מקצועית
- 12.7 פרויקט קבוצתי
טוען…
-
13
בינה מלאכותית ולמידת מכונה
- 13.1 חיפוש
- 13.2 ידע ומחשבה לוגית
- 13.3 מודלים סטטיסטיים
- 13.4 ריגרסיה וסיווג
- 13.5 אופטימיזציה ולמידה
- 13.6 הערכה ודליפת נתונים
- 13.7 הגינות ומגבלות
טוען…