9 תשובות
יש קורסים
דבר ראשון: את מדברת על מדעי המחשב או ארכיטקטורת מחשבים? שני דברים שונים
דבר שני, למידה עצמאית זה לא דבר קל וכן הייתי ממליצה לך על הקורס שעשיתי של תכנות בשפה פייתון, אבל למקרה שאת מעדיפה לא לשלם/קשה לך באנגלית (הקורס הוא באנגלית) הייתי ממליצה לך ללמוד פייתון דרך האתרים programmiz, geeksforgeeks וכמובן דרך האתר הרשמי של פייתון
השאלה אם את מעוניינת ללמוד פייתון בכלל, זה כבר בחירה שלך איזה שפה תלמדי ויש המון שפות ללמוד כיום אבל ממליצה לך לבחור אחת יחסית קלה למתחילים, אבל אם את רוצה לאתגר את עצמך, תלכי על משהו קשה יותר
וזה אם את בכלל מעוניינת במדעי המחשב
אם לא, ואת יותר בקטע של ארכיטקטורת מחשבים (כלומר את יותר מתעניינת באיך המעבד ושאר החלקים של המחשב פועלים) אז הייתי ממליצה לך קודם ללמוד אלקטרוניקה בשביל להבין את זה, אבל גם הייתי ממליצה לך ללמוד אסמבלי (שפת סף) בשביל שגם תוכלי ליישם בפועל את איך שהמעבד פועל, כי כל הפקודות באסמבלי מבוססות אך ורק על הפעולות שהמעבד יכול לעשות. לכן, עלייך גם לזכור שלכל משפחת מעבדים יש שפת אסמבלי שונה
העיקריות זה:
x86 - למחשבים אישיים
arm - לאנדרואיד לאייפון ובכללי טלפונים
וגם לפני שאת מתחילה את באמת צריכה לשאול את עצמך לגבי איזה מהתחומים הבאים את הולכת להעמיק:
1. מדעי המחשב (בשביל ללמוד את הקונספטים עם שילוב של שפות תכנות)
2. שפות תכנות עצמם, פחות התמקדות בתאורייה
3. ארכיטקטורת מחשבים, כיצד המחשב פועל, מה הפעולות שהמעבד יכול לעשות ומה ההבדלים בין מעבדים
4. מערכות הפעלה
בהצלחה בזה, אני יכולה לעזור כי אני מעולה בפייתון אבל אולי אצליח לעזור גם אם תבחרי שפה אחרת. בהצלחה!
דבר שני, למידה עצמאית זה לא דבר קל וכן הייתי ממליצה לך על הקורס שעשיתי של תכנות בשפה פייתון, אבל למקרה שאת מעדיפה לא לשלם/קשה לך באנגלית (הקורס הוא באנגלית) הייתי ממליצה לך ללמוד פייתון דרך האתרים programmiz, geeksforgeeks וכמובן דרך האתר הרשמי של פייתון
השאלה אם את מעוניינת ללמוד פייתון בכלל, זה כבר בחירה שלך איזה שפה תלמדי ויש המון שפות ללמוד כיום אבל ממליצה לך לבחור אחת יחסית קלה למתחילים, אבל אם את רוצה לאתגר את עצמך, תלכי על משהו קשה יותר
וזה אם את בכלל מעוניינת במדעי המחשב
אם לא, ואת יותר בקטע של ארכיטקטורת מחשבים (כלומר את יותר מתעניינת באיך המעבד ושאר החלקים של המחשב פועלים) אז הייתי ממליצה לך קודם ללמוד אלקטרוניקה בשביל להבין את זה, אבל גם הייתי ממליצה לך ללמוד אסמבלי (שפת סף) בשביל שגם תוכלי ליישם בפועל את איך שהמעבד פועל, כי כל הפקודות באסמבלי מבוססות אך ורק על הפעולות שהמעבד יכול לעשות. לכן, עלייך גם לזכור שלכל משפחת מעבדים יש שפת אסמבלי שונה
העיקריות זה:
x86 - למחשבים אישיים
arm - לאנדרואיד לאייפון ובכללי טלפונים
וגם לפני שאת מתחילה את באמת צריכה לשאול את עצמך לגבי איזה מהתחומים הבאים את הולכת להעמיק:
1. מדעי המחשב (בשביל ללמוד את הקונספטים עם שילוב של שפות תכנות)
2. שפות תכנות עצמם, פחות התמקדות בתאורייה
3. ארכיטקטורת מחשבים, כיצד המחשב פועל, מה הפעולות שהמעבד יכול לעשות ומה ההבדלים בין מעבדים
4. מערכות הפעלה
בהצלחה בזה, אני יכולה לעזור כי אני מעולה בפייתון אבל אולי אצליח לעזור גם אם תבחרי שפה אחרת. בהצלחה!
באינטרנט יש הכל, מסרטונים ביוטיוב עד חומרים וסיכומים בחינם ובעברית(או אנגלית)
שואל השאלה:
אני פשוט לא ממש מבינה בדברים האלה אבל אמא שלי אומרת שזה יעזור לי בעתיד ושאני צריכה להיות ב8200 וללמוד בכל מיני תכניות שקשורות לאלקטרוניקה, מחשבים והייטק וגם ללכת למגמה של זה בבית ספר.
אמרו לי שלא צריך לזה ידע קודם אבל אני מרגישה שהתלמידים שרוצים ללמוד שם כמוני הם כמה רמות מעליי בנושא הזה ואני מרגישה לידם כמו האדם הקדמון וזה ממש מבאס אותי אז אני רוצה להתחיל ללמוד מה זה כל דבר, איך זה עובד וכאלה. להתחיל עם בסיס ולהמשיך לאט לאט הלאה.
אני פשוט לא ממש מבינה בדברים האלה אבל אמא שלי אומרת שזה יעזור לי בעתיד ושאני צריכה להיות ב8200 וללמוד בכל מיני תכניות שקשורות לאלקטרוניקה, מחשבים והייטק וגם ללכת למגמה של זה בבית ספר.
אמרו לי שלא צריך לזה ידע קודם אבל אני מרגישה שהתלמידים שרוצים ללמוד שם כמוני הם כמה רמות מעליי בנושא הזה ואני מרגישה לידם כמו האדם הקדמון וזה ממש מבאס אותי אז אני רוצה להתחיל ללמוד מה זה כל דבר, איך זה עובד וכאלה. להתחיל עם בסיס ולהמשיך לאט לאט הלאה.
אנונימית
אנונימית, את לא חייבת ידע מוקדם אבל מומלץ ידע מוקדם. את לא יודעת כמה שהידע הקודם שהיה לי עזר לי במגמה ללמוד סי שארפ, אז באמת אני אומרת לך, תתחילי ללמוד
ולגבי "ללמוד מה זה כל דבר", את מודעת לזה שיש יותר מדי נושאים במדעי המחשב מכדי שתספיקי ללמוד את כולם?
אבל בשביל ההתחלה אני אתן לך נושא שאני התחלתי אותו אתמול ללמוד והוא אלגוריתמי מיון. הוא קצת ליותר מתקדמים, אבל אני נותנת את זה בשביל האתגר. אז בוא נתחיל עם מה זה אומר:
זה הדרכים שבהם את מסדרת איברים של מבנה נתונים כלשהו (ספצפית אחד שהוא אוסף של איברים) על פי סדר כלשהו. עכשיו החלק העיקרי פה הוא לא אם זה מהאיבר הגדול לאיבר הקטן, אלא עד כמה השיטה שלך יעילה ומהירה.
עכשיו כבר מזמן חשבו על דרכים יותר ויותר יעילות לעשות את זה, אבל אני רוצה לתת לך את האתגר לחשוב על דרכים. זה יהיה התרגול הראשון שלך, והוא הולך להיות מאוד שימושי לראיונות עבודה כי זה דוגמה לאחד מהדברים שצפויים לשאול אותך שם.
עכשיו את יכולה לנסות לכתוב את זה בשפת תכנות כלשהי, אם יהיה לך כוח ללמוד תחביר (אל תדאגי, כמו שפה אנושית גם בזה יקח קצת ללמוד אבל בסוף תביני) אבל את גם יכולה לעשות את זה בפסאודו קוד, שהוא לא קוד אמיתי, אבל נועד להיות דומה לו, והחלק העיקרי בו הוא הדרך לפתרון הבעיה ולא התחביר של השפה. את יודעת למה אני אומרת את זה? כי בתכנות את הולכת ללמוד איך לפתור בעיות בצורה הכי יעילה, הכי מהירה למרות שלעיתים לא בצורה הכי פשוטה או טריוויאלית.
אז הנה דוגמה בשבילך לאחת הדרכים שבהם ממיינים מבני נתונים, ספצפית סדרות:
קחי סדרה, בכל פעם תעבירי ממנה את המספר הכי קטן בה לסדרה ריקה בתור האיבר האחרון שלה ותמשיכי כך עד שלא ישאר אף איבר ברשימה המקורית.
בסוף, אחרי שלא נשארו איברים, אז הרשימה השנייה שבהתחלה הייתה ריקה, יהיה את כל האיברים של הרשימה המקורית מסודרים מהקטן לגדול. אבל הבעיה פה היא שהדרך פה לוקחת תמיד בריבוע יותר מאורך הסדרה, וזו בעיה, כי יש דרכים מהירות יותר. זו לא בעיה ענקית כאשר הסדרה היא קצרה, אבל ככל שהיא ארוכה יותר כך גם הדרך לעשות זאת מתארכת.
למשל סדרה של מיליון איברים, אז הדרך לסדר אותה תיקח מיליון בריבוע שלבים שזה טריליון שלבים וזה מאוד ארוך.
לכן, גם יש דרכים הרבה יותר מהירות. אז המשימה שלך יש היא לנסות בעצמך לחשוב על דרכים מהירות בהרבה.
בהצלחה
ולגבי "ללמוד מה זה כל דבר", את מודעת לזה שיש יותר מדי נושאים במדעי המחשב מכדי שתספיקי ללמוד את כולם?
אבל בשביל ההתחלה אני אתן לך נושא שאני התחלתי אותו אתמול ללמוד והוא אלגוריתמי מיון. הוא קצת ליותר מתקדמים, אבל אני נותנת את זה בשביל האתגר. אז בוא נתחיל עם מה זה אומר:
זה הדרכים שבהם את מסדרת איברים של מבנה נתונים כלשהו (ספצפית אחד שהוא אוסף של איברים) על פי סדר כלשהו. עכשיו החלק העיקרי פה הוא לא אם זה מהאיבר הגדול לאיבר הקטן, אלא עד כמה השיטה שלך יעילה ומהירה.
עכשיו כבר מזמן חשבו על דרכים יותר ויותר יעילות לעשות את זה, אבל אני רוצה לתת לך את האתגר לחשוב על דרכים. זה יהיה התרגול הראשון שלך, והוא הולך להיות מאוד שימושי לראיונות עבודה כי זה דוגמה לאחד מהדברים שצפויים לשאול אותך שם.
עכשיו את יכולה לנסות לכתוב את זה בשפת תכנות כלשהי, אם יהיה לך כוח ללמוד תחביר (אל תדאגי, כמו שפה אנושית גם בזה יקח קצת ללמוד אבל בסוף תביני) אבל את גם יכולה לעשות את זה בפסאודו קוד, שהוא לא קוד אמיתי, אבל נועד להיות דומה לו, והחלק העיקרי בו הוא הדרך לפתרון הבעיה ולא התחביר של השפה. את יודעת למה אני אומרת את זה? כי בתכנות את הולכת ללמוד איך לפתור בעיות בצורה הכי יעילה, הכי מהירה למרות שלעיתים לא בצורה הכי פשוטה או טריוויאלית.
אז הנה דוגמה בשבילך לאחת הדרכים שבהם ממיינים מבני נתונים, ספצפית סדרות:
קחי סדרה, בכל פעם תעבירי ממנה את המספר הכי קטן בה לסדרה ריקה בתור האיבר האחרון שלה ותמשיכי כך עד שלא ישאר אף איבר ברשימה המקורית.
בסוף, אחרי שלא נשארו איברים, אז הרשימה השנייה שבהתחלה הייתה ריקה, יהיה את כל האיברים של הרשימה המקורית מסודרים מהקטן לגדול. אבל הבעיה פה היא שהדרך פה לוקחת תמיד בריבוע יותר מאורך הסדרה, וזו בעיה, כי יש דרכים מהירות יותר. זו לא בעיה ענקית כאשר הסדרה היא קצרה, אבל ככל שהיא ארוכה יותר כך גם הדרך לעשות זאת מתארכת.
למשל סדרה של מיליון איברים, אז הדרך לסדר אותה תיקח מיליון בריבוע שלבים שזה טריליון שלבים וזה מאוד ארוך.
לכן, גם יש דרכים הרבה יותר מהירות. אז המשימה שלך יש היא לנסות בעצמך לחשוב על דרכים מהירות בהרבה.
בהצלחה
ולגבי "איך זה עובד" את מדברת על איך המעבד פועל והפיזיקה של זה, או לגבי איך לפתור בעיות במדעי המחשב ואיך ללמוד את הדרכים שם ליעילות?
ניסית כבר את מה שאמרתי לך לנסות או לא? רוצה עוד דוגמאות או משהו אחר ללמוד במדעי המחשב?
שואל השאלה:
עוד לא ניסיתי, אני דיי עמוסה בלימודים של השנה ובסידורים אחרים הייתי לומדת איך לנהל את הזמן שלי נכון אבל אפילו לזה אין לי זמן.
אנסה לפנות זמן כדי לנסות את מה שרשמת.
בכל מקרה ממש תודה.
עוד לא ניסיתי, אני דיי עמוסה בלימודים של השנה ובסידורים אחרים הייתי לומדת איך לנהל את הזמן שלי נכון אבל אפילו לזה אין לי זמן.
אנסה לפנות זמן כדי לנסות את מה שרשמת.
בכל מקרה ממש תודה.
אנונימית
הייתי ממליץ מאוד על אתר - udemy קורסים נפלאים
או שאת/ה יכול/ה לנסות freecodecamp
או שאת/ה יכול/ה לנסות freecodecamp