כל הזכויות שמורות eran.ws © אין להעתיק ללא רשות
הערות ותגובות @ pr@gmail.com">eranws@gmail.com
אתר הקורס course webpage https://eranws.github.io/pull-run
---
מָשְׁכֵ֖נִי אַחֲרֶ֣יךָ נָּר֑וּצָה
הֱבִיאַ֨נִי הַמֶּ֜לֶךְ חֲדָרָ֗יו
נָגִ֤ילָה וְנִשְׂמְחָה֙ בָּ֔ךְ
נַזְכִּ֤ירָה דֹדֶ֙יךָ֙ מִיַּ֔יִן
מֵישָׁרִ֖ים אֲהֵבֽוּךָ
שיר השירים א' ד'
---
## מטרה
מָשְׁכֵ֖נִי ונָּר֑וּצָה הוא
פרויקט נסיוני שמטרתו היא הכרת מערכת הקבצים במחשב,
גישה לכלים ושימוש בתוכנות בסיסיות,
פיתוח יכולות למידה עצמאית ועבודה בצוות.
## גישה
# יש מבחן בסוף? אין מבחן בסוף הקורס מספר הכלים הקיימים כיום הוא עצום ומספר השילובים ביניהם הוא אינסופי ותמיד יש עוד מה ללמוד ואיך להשתפר
תכנות זה תהליך המורכב מכתיבה עריכה תיקון הרצה בדיקה וחוזר חלילה לכל פעולה יש כלי המותאם לה וגם אחרי שמבינים את הרעיון יש דרך ארוכה לשייף
בכל אופן מבחן ההצלחה לאחר קריאה ותרגול של החומרים - לפתוח
# מערכת הפעלה, קבצים ותיקיות
הפרויקט כתיבה וקריאה עדכון ומחיקה קבצים תיקיות והרצה של תוכנות שיתוף והפצה של תרגילים פתרונות ותוצרי עבודה
תוך שימוש בטכנולוגיות רשת מקובלות בתעשייה
-
טרמינל- סביבת מסוף -
בָּש- שפת תכנות -
מערכת ניהול גרסאות
גיט -
גיטהאב: אתר לשיתוף קוד ומסמכים, שיחה ועבודה בצוות
תוכנה
אתיקה רשיונות חוקים קוד פתוח קוד התנהגות
מה מותר ומה אסור להגיד ולעשות להריץ ולהפיץ מה אפשר ומה כדאי להעתיק וללמוד
## עקרונות
# עצמאות - תיקייה אחת עם כל חומרי הלימוד כלולים - אין צורך בקישור חיצוני או חיבור לרשת - מבחנים להרצה ובדיקת תרגילים - קבלת עזרה והרחבת ידע באמצעות פקודה למערכת ההפעלה - "כולל סוללות" או - סע לשלום, המפתחות בפנים
# לימוד עצמי והתקדמות לפי קצב אישי - יישומון לטלפון - תעודה על סיום - משחקיות, צבירת נקודות על מימוש בונוסים
# חומרי לימוד מקוריים בעברית - כמו שלא לומדים צרפתית ברוסית - כמו שלא לומדים מתמטיקה באיטלקית - למה ללמד מחשבים באנגלית - אפשר להשתמש בעברית כמעט בלי בעיה יוניקוד
# גישה לכלים ברוח כלי עבודה כצעצועים לקפוץ ראש למים קליטה דרך הידיים
## שו״ת: שאלות ותשובות
# למה בעברית?
## למי זה מתאים? * ילדים מבוגרים נשים וטף * מתאים לכל גיל ללא הגבלה. זה לא מסוכן ואי אפשר להיפצע * אין צורך בידע מוקדם ולא צריך מחשבון
-
מתאים לכל רמה ממתחיל עד מתקדם
-
מתאים במיוחד לכל מי שחושב שהוא יודע אבל לא סגור עד הסוף מה השורה הזאת עושה:
[זה בסדר, גם אני לא ידעתי לפני שעשיתי את הקורס הזה בעצמי]
wc docs/* | sort > file
## למי זה מיועד?
-
תלמידים בגיל חטיבה עד תיכון למרות שאפשר להתחיל בכל גיל
-
מעצבים אמנים כותבים ויוצרים כל מי שמתעסק במחשב מי שמתעניין במחשבים
-
כל מי שעשה קורס תכנות או מתכנת עם ניסיון שמרגיש תקוע עם הכלים הקיימים ורוצה לשפר את יכולות הַקוֹד-פוּ שלו
-
למי שמשעמם באוטובוס או בתור ורוצה להפיג את השעמום ולעשות משהו מועיל
## זה קורס תכנות? כן באופן כללי, כי תכנות זה מושג כללי ובסוף נכתוב תוכנה וגם נריץ אותה.
קורס מבוא בתכנות לרוב כולל שימוש שפת תכנות כלשהי, לדוגמא סי, פייתון, או ג׳אווסקריפט. כאשר
בשונה מקורס תכנות שמטרתו היא פתרון בעיה נתונה באמצעות כתיבת אלגוריתם. הפתרון הוא קטע קוד המורכב מפונקציות, משתנים, לולאות וכיוצא באלה
תכנות זה שם כללי למגוון פעולות המשולבות זו בזו למען הדיוק כאן הדגש הוא על על עבודה שוטפת עם המערכת.
-
יצירה
-
למידה מתמשכת
-
התפתחות אישית
-
חניכה
התהליך מתחיל כמובן בכתיבה, עובר דרך עריכה, תיקון, הרצה ובדיקה.
כאשר מדובר בכתיבת תוכנה, המתכנת פקודות מילים בשפה מומצאת הדומה לאנגלית. הקובץ בעצמו מוזן לתוך תוכנה קיימת. התוצר הסופי ברוב המקרים הוא קובץ המכיל קוד בשפת מכונה אותו מריצים על הקלט הנתון.
קובץ המכיל שורות עם
העתקה ומחיקה של קבצים ותיקיות
אפשר ללמוד לתכנת גם בלי היכולות האלה ישנם כלים המספקים סביבת עבודה משולבת אשר אורזת את הפקודות האורזים את כל הפעולות האלו תחת כפתור ולעבוד עם כוללת כפתור לכל פעולה
## חניכה - על אומנות ואמנות - שוליית הקוסם - ממני תראו וכן תעשו - נעשה ונשמע
## פקודה מול בקשה תמיכה מרחוק חניכה מנטור מדריך-מוביל מול מורה-מנהל-לקוח
שיתוף פעולה וקבלת ביקורת במתכונת המקובלת בתעשייה ללא תמורה מפתחים על בסיס רצון טוב
## גלישת מחסנית * איך לשאול שאלות - להיות ענייני - נימוס בצד * stackoverflow - מה אני רוצה לעשות - תיאור של מה עשיתי עד עכשיו - מה הרצתי ונכשל - צירוף קטע קוד עצמו או קישור - מה היה הקלט שלו - מה ציפיתי לקבל - מה קיבלתי
---
מושגים # Terminology * Environment - Terminal - - Shell - general name for access Sh, ZSH - (History of input to computer, cards, switches, state)
## Editor: * IDE - Eclipse, IDEAJ, - Visual Studio, VSCode - Android, Arduino * Shell - nano, emacs, vim - Bash - Bourne Again SHell
## Publishing * Languages - HTML, Markdown, Asciidoc * Hosting - local - Github Pages
--- bash, shell, terminal POSIX