CodeGym /בלוג Java /Random-HE /קוד להצלחה ומיומנות חיונית לעובדי המאה ה-21. מהי חשיבה חי...
John Squirrels
רָמָה
San Francisco

קוד להצלחה ומיומנות חיונית לעובדי המאה ה-21. מהי חשיבה חישובית?

פורסם בקבוצה
מספר דברים הופכים את CodeGym לקורס המקוון הטוב ביותר ללמוד כיצד לקודד ב-Java מאפס (בעינינו לפחות): מבנה קורס מתוכנן בקפידה, גישה לתרגול תחילה, מספר עצום של משימות (מעל 1200), סיפור סיפורים מרגש ומצחיק , מאפיינים חברתיים וכו'. אבל אנחנו אוהבים לחשוב שאנחנו הולכים יותר מדי כדי לעזור לתלמידים שלנו להצליח זה מה שהופך את CodeGym לטוב ביותר. המשימה שלנו היא לא רק לעזור לך ללמוד ג'אווה ולמצוא עבודת קידוד לאחר (או בזמן שעדיין באמצע הקורס), אלא לתמוך בהתפתחות שלך, אישית ומקצועית, עם הידע והמידע המתאים. 'קוד להצלחה' ו'מיומנות חיונית לעובדי המאה ה-21'.  מהי חשיבה חישובית?  - 1

מהי חשיבה חישובית?

חשיבה חישובית (CT) היא מושג שמומחים בתעשייה מכנים 'קוד להצלחה' ו'מיומנות חיונית'. למרות שזה יחסית פשוט, CT יכול לעזור הרבה מעבר לתכנות תוכנה בלבד. המונח הוצע לראשונה בשנת 1980 על ידי סימור פאפרט, מתמטיקאי ומדען מחשבים, כדרך לפתור בעיות ומשימות שונות הקשורות לתכנות בצורה יעילה יותר. חשיבה חישובית היא מערכת של שיטות הכוללת לקיחת בעיה מורכבת ופירוקה לסדרה של בעיות קטנות יותר שקל יותר לנהל אותן, וכן מבטאת את מהות הבעיה והפתרון בדרכים שהמחשב יכול לבצע. במילים פשוטות, לפני שתתחיל בקידוד כדי ללמד מחשב לפתור בעיה ספציפית, בדרך כלל תצטרך להבין את הבעיה בעצמך, למצוא פתרון, ורק אז ללמד מחשב להתמודד איתה. חשיבה חישובית היא שיטה להפוך את התהליך הזה למהיר וקל יותר, אבל היא לא מוגבלת רק לתכנות וניתן ליישם אותה בחלקים שונים של חיינו. למרות שהמושג הזה הוצג כבר ב-1980, חשיבה חישובית החלה לזכות בתשומת לב המונית לאחר שג'נט וינג, פרופסור למדעי המחשב באוניברסיטת קולומביה, הציעה להפוך את ה-CT לחלק מתכנית הלימודים בבית הספר כאחת הכישורים הבסיסיים שכל האנשים צריכים להחזיק בהם. .

איך עובדת חשיבה חישובית?

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

  • הִתפָּרְקוּת.

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

  • הפשטה (הכללה).

לאחר מכן ממשיכים למשימה/בעיה ספציפית, מתמקדים אך ורק במידע שחשוב לפתור אותה ומתעלמים מכל השאר.

  • זיהוי דפוסים (ייצוג נתונים).

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

  • אלגוריתמים.

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

שימוש בחשיבה חישובית

לדעת כיצד להשתמש ב-CT בעת התמודדות עם בעיות ומשימות שרוב מפתחי התוכנה מתמודדים איתן על בסיס קבוע יכול להיות מועיל ביותר לאורך הקריירה שלך בקידוד. "מדעי המחשב זה לא תכנות מחשבים. לחשוב כמו מדען מחשבים זה יותר מאשר היכולת לתכנת מחשב. זה דורש חשיבה ברמות הפשטה מרובות. חשיבה חישובית היא חשיבה רקורסיבית. זה עיבוד מקביל. זה מפרש קוד כנתונים ונתונים כקוד. זוהי בדיקת סוגים כהכללה של ניתוח ממדי. זוהי הכרה הן בסגולות והן בסכנות שבכינוי, או במתן יותר משם אחד למישהו או למשהו. זה מזהה הן את העלות והן בעוצמה של פנייה עקיפה וקריאה להליך. היא שופטת תוכנית לא רק בשביל נכונות ויעילות אלא בשביל אסתטיקה, ועיצוב מערכת לפשטות ואלגנטיות", מסבירה ג'נט וינג במאמר משנת 2006 על החשיבות של לימוד חשיבה חישובית והוראתה לכל הסטודנטים הטריים במכללה. כפי שאתה יכול לראות, חשיבה חישובית לא נועדה רק למתכנתים ומדעני מחשב. הוא משמש על ידי אנשים (לעיתים קרובות באופן לא מודע) בכל מיני מקצועות הן לפתרון בעיות הקשורות לעבודה והן בחיי היומיום. להלן מדריך מהיר כיצד להתחיל ליישם חשיבה חישובית על משימות קידוד או כמעט כל בעיה רצינית שאתה עשוי להתמודד איתן בחייך האישיים.

  • החלת פירוק.

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

  • יישום הפשטה.

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

  • החלת זיהוי דפוסים.

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

  • יישום אלגוריתמים.

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

מה אומרים המומחים?

לסיכום, הנה מה שיש לכמה מומחים מוכרים למדעי המחשב לומר על חשיבה חישובית. לפי ג'יימס לוקווד ואיידן מוני, פרופסורים באוניברסיטת Maynooth באירלנד ומחברי 'חשיבה חישובית בחינוך: איפה זה מתאים?' דו"ח, חשיבה חישובית "היא מיומנות חיונית לעובדי המאה ה-21". "למרות שהרבה מחקרים נערכים על הוראת CT ו- CS [מדעי המחשב] בבתי ספר, הרבה תלמידים ברמה ג' לעולם לא נחשפו למושגים האלה. חשוב שגם לתלמידי CS וגם לסטודנטים שאינם במדעי המחשב יהיו כישורי פתרון בעיות טובים ו- CT יכול להועיל לכך מאוד. שיטות רבות ושונות הוצעו ונראה שקורס CT ללא חובה לסטודנטים ב- CS וגם ללא CS הוא שיטה יעילה ושימושית במיוחד. הדבר מצריך גיבוי הן מצד ההנהלה והן מעובדי ההוראה, אך ההטבות המפורטות הן בסעיף זה והן בסעיף 7 מראים שזה יכול להועיל לכל המעורבים. יש גם מגוון עצום של דרכים ללמד CT בהקשרים של מכללה, למרות שהמשותף לרובן הוא קורסים מעשיים יותר, המונחים דיונים, ונראה שרוב השיטות הללו מצליחות. נהוג לחשוב שאולי, סטודנטים למדעי המחשב ייהנו מכך מכיוון שזה יקל עליהם את המעבר ל"תכנות מסורתיות", אומרים מומחים. קונרד וולפרם, מומחה טכנו בריטי ויזם בריטי נודע, דוגל גם בהוראת חשיבה חישובית במכללות, ואף מכנה זאת 'הקוד להצלחה': "חשיבה חישובית היא הקוד להצלחה. תהליך פתרון בעיות מבוסס מחשב הוא כה רב עוצמה בהתמודדות עם אתגרי החיים האמיתיים שהוא צריך להיות נושא חינוכי מרכזי. לפחות אם אתה, כמוני, מסכים שהמטרה הבסיסית של החינוך צריכה להיות להעשיר את חיינו על ידי מציאת הפתרונות היעילים ביותר לבעיות מכל סוג שהוא". מה אתה חושב? האם חשיבה חישובית נראית לך כמו משהו שאתה צריך לתרגל יותר בחייך? שתף אותנו במחשבותיך בקטע ההערות למטה!
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION