Computational Thinking

Computer Programming ကို ဘယ်လို တွေးမလဲ

အများစုက Computer Programming လို့ ပြောလိုက်ရင် Code တွေ ရေးတာပဲလို့ မြင်တတ်ကြတယ်ဗျ။ တကယ်တော့ Computer Programming မှာ ရေးတာနောက် တွေးတာ အရင်လာပါတယ်။ အဲဒါကို Computational Thinking လို့ ခေါ်ပါတယ်။ အဲဒီ Computational Thinking ဟာ လူတိုင်းတတ်ထား မမှားတဲ့အမျိုးပါ။ ကျွန်တော်ကတော့ Programmer ဆိုတော့ သမီးလေးကို Computational Thinking နဲ့ အစောကတည်းက မိတ်ဆက်ပေးခဲ့ပါတယ်။ Computational Thinking မှာ အစိတ်အပိုင်း သုံးခု ရှိပါတယ်။ အဲဒါတွေကတော့

  1. Computational Concepts
  2. Computational Practices
  3. Computational Perspective သုံးခုပါ။

Computational Concepts အပိုင်းမှာလဲ ကဏ္ဍတွေ ရှိပါတယ်။ ကျွန်တော် တစ်ခုခြင်းစီ ပြောကြည့်ရအောင်ဗျ။ ကျွန်တော် သမီးကို ဘယ်လို သင်ပေးခဲ့လဲဆိုတာကို အဓိက ပြောချင်တာပါ။

Concept: Sequence

Sequence ဆိုတာ အစဉ်အတိုင်း ဖြစ်နေတာတွေကို တွေးနိုင်ဖို့ပါ။ Sequence ဆိုတဲ့ နေရာမှာ Linear Sequence တွေ ရှိလို Non-linear Sequence တွေ ရှိပါတယ်။ ကျွန်တော်ကတော့ ကျွန်တော် သမီးလေးကို ပုံပြင်လေးတွေ ပြောပြလေ့ရှိပါတယ်။ သမီးလေး အဖွားက ပုံပြင်တွေ အကုန်ပြောပြထားတော့ ကျွန်တော်က ပုံပြင်အဟောင်းတွေ ပြောရင် သမီးက သိပြီးသားတွေ ဖြစ်နေတတ်ပါတယ်။ အဲဒီမှာ ပုံပြင် အသစ်တွေ ဖန်တီးပြီး ပြောဖြစ်ပါတယ်။ (သမီးလေးကို ပုံပြောပြီးသွားရင် ကျွန်တော် ခေါင်းတွေ ပူပြီး ကျန်ခဲ့တာ မှတ်မိနေပါသေးတယ်)

အဲဒီမှာ Sequence နဲ့ ပတ်သက်ပြီး တွေးတတ်စေဖို့ သမီးလေးကို ဇာတ်ကောင်တွေ ဖန်တီးခိုင်းပါတယ်။ ဇာတ်ကောင် တစ်ယောက်ခြင်းစီ အမည်တွေ ပေးခိုင်းပါတယ်။ ပြီးရင် ဇာတ်ကောင်တွေနဲ့ လိုက်ဖက်မယ့် ပုံပြင်တွေ အတူတူ ဖန်တီးကြပါတယ်။ တစ်နေ့ကို တစ်ပုဒ်နဲ့ နေ့စဉ်ရက်ဆက်ကို ဖန်တီးကြတာပါ။ ဒီနေရာမှာ ကလေးတွေရဲ့ မှတ်ဉာဏ်က အင်မတန်ကောင်းပါတယ်။ မနေ့က ဇာတ်ကောင်တွေနဲ့ ဇာတ်လမ်းတွေကို အကုန်မှတ်မိနေတတ်ပါတယ်။ (ကျွန်တော်သာ မေ့သွားတတ်တာပါ။ တကယ်တော့ ပုံပြင်ထဲမှာ Computational Thinking ထဲက အကုန်ပါတော့ ဒီနေရာမှာ Sequence တစ်ခုတည်း မဟုတ်ပါဘူး။) အဲဒီလို ပုံပြင်တွေ ပြောနေရင် Non-linear Sequence တွေကို ဖောက်ပြီး ကျွန်တော်က သမီးလေးကို တွေးခိုင်းတတ်ပါတယ်။ ဥပမာ ဇာတ်ကောင်တစ်ခုကို ချောက်ထဲ ပြုတ်ကျစေတာမျိုးပေါ့။ သမီးလေးစဉ်းစားထားတဲ့ လမ်းကြောင်းအတိုင်း မဟုတ်တော့ပဲ လမ်းကြောင်းပြောင်း စဉ်းစားစေတဲ့ သဘောပါ။ အဲဒီမှာ တစ်ခြား ဇာတ်ကောင်တွေရဲ့ လုပ်ငန်းစဉ် Sequence တွေ အကုန် ပြန်ပြင်ရပါတယ်။ ကြာလာတော့ ကျွန်တော် ဇာတ်ကောင်တွေရဲ့ နာမည်တွေ မမှတ်မိတော့ပါဘူး။ အီဒစ်ဆိုတဲ့ နာမည်တစ်ခုပဲ မှတ်မိပါတော့တယ်။ နောက်တော့ သမီးကိုယ်တိုင် ဇာတ်ကောင်အနေနဲ့ ဝင်ပါပါတယ်။ အဲဒီမှာ တစ်ခြား ဇာတ်ကောင်တွေရဲ့ Sequence တွေနဲ့ ကိုက်အောင် အများကြီး ပြန်စဉ်းစားကြရပါတယ်။ ဇာတ်လမ်းအစအလည် အဆုံး ညီညွှတ်အောင်လဲ ငြင်းကြခုန်ကြပါတယ်။ ပုံပြင်ဆုံးသွားရင် ကျွန်တော်က ခေါင်းတွေပူထူပြီး ကျန်တတ်ပေမယ့် သမီးကတော့ နောက်နေ့ ပုံပြင်အတွက် တက်ကြွနေတတ်ပါတယ်။

နောက်တော့ သမီးလေးကို ကွန်ပျူတာ သေးသေးလေး တစ်လုံးဝယ်ပြီး MIT က Scratch Program နဲ့ မိတ်ဆက်ပေးဖြစ်ပါတယ်။ အဲဒီမှာ သမီးလေးဆွဲထားတဲ့ ဇာတ်လမ်းတွေ မနည်းဘူးဗျ။ မင်းသမီးလေးနဲ့ ဘဲလေးတို့။ ဒါပေမယ့် Sequence တွေက တိုတိုလေးတွေ။ နောက်တော့ ကာတွန်းလေးတွေ အကွက်လေးတွေနဲ့ သမီးဆွဲလေ့ရှိတယ်။ သူငယ်ချင်းများနှင့် လည်လည်သွားခြင်းတို့ပေါ့။ ကျွန်တော်ကတော့ သမီးလေး ချထားတဲ့ Sequence ကို ကြည့်ပြီး သဘောတွေ ကျနေရောဗျ။ ဟိုးငယ်ငယ်လေးကတည်းက သမီးလေးနဲ့ လမ်းလျှောက်ရင် စကားတွေ ပြောဖြစ်တာ မနည်းဘူး။ သူပြောသမျှ သေသေချာချာ နားထောင်ပြီး စကားထောက်ပေးတယ်။ Sequence ကို ဖြည့်ပေးတယ်။ တောင်ရောက်မြောက်ရောက်တွေ စုပြီး ဟာမိုနီဖြစ်အောင် လုပ်ပေးတတ်တယ်။ အများအားဖြင့်တော့ သမီးကို တွေးခိုင်းတာတွေပါပဲ။

Concept: Conditions

Computational Thinking မှာ Conditions ဆိုတာ အခြေအနေတွေပါ။ ကျွန်တော် ကွန်ပျူတာကို စသင်တော့ လူကြီးတွေက ပြောကြပါတယ်။ မင်းတို့ ကွန်ပျူတာဆိုတာ လက်နှိပ်စက်ကို တီဗွီနဲ့ တွဲထားတာပါ။ အဲဒါတွေ သင်နေရင် လက်နှိပ်စက်စာရေး သာသာပဲ ဖြစ်မှာပါလို့ ပြောကြပါတယ်။ တကယ်တန်း အလုပ်အကိုင် အခွင့်အလမ်းကလဲ စာစီစာရိုက်လုပ်ငန်းပဲ ရှိနေတဲ့ အချိန်ပါ။ 8086 လို့ခေါ်တဲ့ အဖြူအမဲကွန်ပျူတာတွေပဲ ရှိသေးတဲ့ အချိန်ဆိုပါတော့။

အိမ်မှာ ကွန်ပျူတာ လေ့ကျင့်စရာမရှိတော့ ကွန်ပျူတာ တက္ကသိုလ်မှာသွားပြီး နာရီပိုင်းနဲ့ငှား လေ့ကျင့်ရပါတယ်။ အဲဒီလို လေ့ကျင့်နေရင်း ထူးဆန်းတာ တစ်ခုက စာတွေ ရိုက်နေတဲ့အချိန် အကောင်လေးတစ်ကောင် ထွက်လာပြီး ရိုက်နေတဲ့ စာတွေကို စားသွားတာပါ။ ကျွန်တော် သဘောအတော်ကျသွားပါတယ်။ နားလည်တဲ့သူတွေကို မေးကြည့်တော့ 15xx ဆိုတဲ့ Virus နဲ့ Michelangelo Virus ပေါင်းသွားရင် ဒီလိုဖြစ်သွားတယ်လို့ ပြောပါတယ်။ (ဟုတ်မဟုတ်တော့ ကျွန်တော်လဲ မသိပါဘူး) အဲဒီမှာ condition တွေကို စသိခဲ့တာပါ။ အဲဒီနောက်ပိုင်း Thiha Virus ထွင်မယ်ဆိုပြီး Computational Thinking ကို စပြီး စိတ်ဝင်စားလာတာပါ။

တကယ်တန်း Computational Thinking လို့ ခေါင်းစဉ်မတပ်ပဲ ငယ်စဉ်က သင်ပေးခဲ့တဲ့ဆရာကတော့ (၈)တန်းတုန်းက ဆရာ ဦးကြည်ဝင်းပါ။ ဆရာက သင်္ချာသင်တာ အရမ်းကောင်းပါတယ်။ သင်္ချာပုစ္ဆာမတွက်ခင် သေသေချာချာ အရင်ရှင်းပြပါတယ်။ ပြီးရင် Blackboard ကို နှစ်ခြမ်းချမ်းပြီး သူနဲ့မတူအောင် ကြိုက်တဲ့သူ ထတွက်ခိုင်းပါတယ်။ အဲဒီမှာကတည်းက ဆရာနဲ့ မတူတဲ့ Condition (အခြေအနေ)က ဘာလဲဆိုပြီး တစ်နှစ်လုံး တွေးနေဖြစ်ပါတယ်။ သူနဲ့မတူအောင် ထတွက်လိုက်နိုင်တယ်ဆိုရင် ဆရာက ပျော်ပြီး ကျွန်တော့်ကို ဂုံးပိုးပြီး ကတာ မှတ်မိနေပါသေးတယ်။

ကျွန်တော့် သမီးလေးကို အခြေအနေတွေနဲ့ ပတ်သက်ပြီး သင်ပေးတာကတော့ ပုံပြင်တွေထဲမှာပါပဲ။ ကျွန်တော့်ကို သူအိမ်လေးတစ်လုံး ဆောက်ချင်တဲ့အကြောင်း လာပြောပါတယ်။ မီးမီး အိမ်လေး တစ်လုံးဆောက်ချင်တယ်ပေါ့။ အိမ်လေးကို ဘယ်လို ကာမယ်၊ ဘာအရောင်တွေ သုတ်မယ်၊ အထဲမှာ ဘာတွေ ထားမယ် စသည်ဖြင့် စုံနေတာပါပဲ။ မီးမီးက အိမ်လေးထဲမှာ နေမယ်၊ ဖိုင်နဲ့ မိုင်က ထမင်းစားမယ်ဆို မီးမီးကို လှမ်းခေါ်လိုက် စသည်ဖြင့်ပေါ့။ (ငယ်ငယ်က မီးမီးက ကျွန်တော့်ကို ဖိုင်လို့ ခေါ်ပါတယ်။ သူ့အမေကိုလဲ ကာရံလိုက်ပြီး မိုင်တဲ့။ ကျွန်တော့်ကို အများက ခေါ်ကြတာ ကိုသီဟဆိုတော့ သမီးနားထဲ ဘယ်လိုကြားတယ် မသိ၊ “ဘူဝ” ဆိုပြီး ခေါ်ပါတယ်။ မီးမီး အဲဒါ ဖိုင့်နာမည်မဟုတ်ဘူး။ ကိုသီဟလို့ ခေါ်ရတယ်ဆိုတော့ ပြုံးစိစိနဲ့ ဘူဝလို့ပဲ ခေါ်ပါတယ်)

ကျွန်တော်က မီးမီးရဲ့ အိမ်လေးအကြောင်း အစအဆုံး စိတ်ရှည်လက်ရှည် နားထောင်ပေးပါတယ်။ ကဲ … မီးမီး အိမ်လေးဆောက်ပြီးပြီလားဆိုပြီး သမီးအဆုံးသတ်မှာ Condition တွေနဲ့ မိတ်ဆက်ပေးပါတယ်။ သမီးအိမ်လေးက ဒါတွေ ဒါတွေနဲ့ ဆောက်မယ်ဆိုတော့ မိုးရွာရင် ဘယ်လိုလုပ်မလဲလို့ စပြီး မေးပါတယ်။ အဲဒီမှာ သမီးက အိမ်လေးကို မိုးလုံဖို့အတွက် စဉ်းစားရပါတယ်။ ညပိုင်း ဒီအတိုင်း ပစ်ထား လူခိုးသွားရင် ဘယ်လိုလုပ်မလဲ ဆိုတော့လဲ ထပ်စဉ်းစားရပြန်ပါတယ်။ ဖိုင်နဲ့မိုင် ဝင်လို့မရရင် ဘယ်လိုလုပ်မလဲဆိုတော့လဲ စဉ်းစားရပြန်ပါတယ်။ ညပိုင်း လရောင်ကို ကြည့်ချင်တယ်ဆိုတော့ စဉ်းစားရပြန်ပါတယ်။ ဒီနေရာမှာ သတိထားဖို့ လိုတာက ကိုယ့်မေးခွန်းတွေကြောင့် မီးမီးရဲ့ အိမ်လေး မပျက်စီးသွားစေဖို့ပါ။ စိတ်ကူးထဲက အိမ်လေး ခိုင်ခိုင်ခံ့ခံ့နဲ့ ဆောက်ပြီးသွားအောင် တွေးစေဖို့ တွေးပေးဖို့ လိုပါတယ်။ ဒါတွေက သမီးလေးကို Computational Thinking နဲ့ ပတ်သက်ပြီး Condition အကြောင်းကို သင်ပေးတဲ့ ပုံစံတစ်ခုပါ။ သင်စရာ နယ်ပယ်တွေက တစ်ပုံကြီးပါ။ ကျွန်တော်တို့ လူ့ဘဝကြီးဆိုတာ ရွေးချယ်စရာတွေ များသား မဟုတ်လားဗျာ။

How to think Computer Programming

အပေါ်က Video မှာတော့ Computational Thinking အကြောင်း ပြည့်ပြည့်စုံစုံ ပြောထားပါတယ်။