Programming သင်ဖို့ရာ နည်းလမ်းသစ်များစွာ
Computer Programming ဆိုတာ ကျက်စာမဟုတ်
“ကျွန်တော်တို့ဆီမှာ Computer Programming ကို ကျက်ဖြေကြတာ များတယ်။ ဆရာ၊ ဆရာမတွေ အနေနဲ့လည်း Program တစ်ပုဒ် ရေးဖြေထားတာကို စစ်ဖို့ ဆိုရင် အများကြီးဆိုတော့ မလွယ်ဘူး။ တစ်ယောက်တစ်မျိုး ရေးထားတာကို မှန်လား မှားလား စစ်ဖို့ဆိုတာ တစ်ယောက်ကို အနည်းဆုံး ဆယ်မိနစ်၊ ဆယ့်ငါးမိနစ်လောက် အချိန်ပေးရမယ်လေ။ ဒီတော့ သူတို့ ရေးပေးထားတဲ့အတိုင်း ဖြေထားတာကို စစ်လိုက်တော့ လွယ်သွားတာပေါ့” သူ Reason နဲ့ သူတော့ ဟုတ်နေတာပဲလို့ ဆိုရမှာ ဖြစ်ပါတယ်။ ဒါပေမယ့် တကယ်တန်း Computer Programming ဆိုတာ အဖြေမှန်ဖို့ အဓိက သင်ရတာမဟုတ်ပါဘူး။ စဉ်းစားတတ်အောင် သင်ရတာပါ။ တစ်ခြား နည်းတွေနဲ့ စဉ်းစားနည်းတွေကို သင်မယ်ဆိုရင် အကုန်အကျ များပါတယ်။ Maths တို့ Computer Programming တို့ကတော့ အကုန်အကျ သက်သက်သာသာနဲ့ စဉ်းစားနည်းကို သင်လို့ရပါတယ်။ အဲဒီလို စဉ်းစားနည်းကို သင်ရမယ့်အစား ကျက်ဖြေနေတယ် ဆိုရင်တော့ အလွဲကြီးလွဲနေပြီလို့ ဆိုရမှာပါပဲ။
တကယ်တော့ Computer Programming ဆိုတာ ဆရာကို အဖြေစစ်ခိုင်းစရာ မလိုတဲ့ နည်းပညာကဲ ပညာရပ် တစ်ခုဖြစ်ပါတယ်။ ကိုယ့်အဖြေ မှန်မမှန် အလွယ်တကူ စစ်လို့ရသလို၊ နောက်ထပ် မူကွဲတွေ၊ လုံးဝမတူတဲ့ နည်းလမ်းတွေကို စဉ်းစားရမှာ အများဆုံး စဉ်းစားလို့ ရတဲ့ နေရာတစ်ခု ဖြစ်ပါတယ်။ ဒါပေမယ့် တစ်ခုတော့ ရှိပါတယ်။ ပုံမှန်သမာရိုးကျ နည်းလမ်းတွေနဲ့ သင်ဖို့တော့ မဖြစ်နိုင်ပါဘူး။ ဆရာက ရှေ့က Program ကို ရေးပြ၊ နောက်က တပည့်တွေက လိုက်ကူး၊ ပြီးရင်း ကူးထားတဲ့ အတိုင်း ပြန်ဖြေဆိုရင် Computer Programming ရဲ့ အနှစ်သာရတွေ အကုန် ပျောက်ကွယ် သွားပြီး စဉ်းစားတတ်တဲ့ အလေ့အထကို ပြုစုပျိုးထောင်ပေးတတ်တဲ့ နည်းစနစ်တစ်ခုလုံးကို မြောင်းထဲ လွတ်ပစ်ရာ ရောက်ပါတယ်။ အဲဒီလိုပဲ အရာရာ မှာ Creative၊ Innovative ဆိုတဲ့ စကားလုံးတွေ တွင်တွင်ရွတ်နေတဲ့ ခေတ်ကြီးမှာ Capacity Building အတွက် အများကြီး ထိခိုက်သွား စေပါတယ်။
Computer Programming အခြေခံအပိုင်းတွေဟာ တကယ်တော့ ကွန်ပျူတာအထူးပြု ကျောင်းသားတွေမှ သင်ယူသင့်တဲ့ ပညာရပ်တွေ မဟုတ်ပါဘူး။ တကယ့် နိုင်ငံကြီးတွေမှာ ဆိုရင် Computer Programming အခြေခံပိုင်းကို ကျောင်းသားတိုင်း သင်ဖို့၊ သင်နိုင်ဖို့ စီစဉ် ထားကြပါတယ်။ နောက်တစ်ခု သူတို့မှာ အရေးအကြီးဆုံး အခန်းကဏ္ဍက ပါနေတာ သချင်္ာပါ။ အဲဒီနေရာမှာ သချင်္ာရော Computer Programming ပါ ဆက်စပ်မှု အများကြီး ရှိပါတယ်။ အပေါ်မှာ ကျွန်တော်ပြောခဲ့သလိုပဲ အတွေးကို သင်တဲ့နေရာမှာ အကုန်အကျ အနည်းဆုံးက သချင်္ာနဲ့ Computer Programming ပါလို့။ တစ်ခြား သိပ္ပံဆိုင်ရာ စမ်းသပ်ချက်တွေနဲ့ အတွေးကို သင်မယ်ဆိုရင် ကုန်ကျစရိတ် အင်မတန် များသွားပါလိမ့်မယ်။ သချင်္ာနဲ့ သင်မယ်ဆိုရင် Whiteboard တစ်ခုရယ် စာအုပ်တစ်အုပ်ရယ် လောက်နဲ့ အလုပ်ဖြစ်နိုင်ပါတယ်။ ဒါပေမယ့် Computer Programming ဆိုရင်တော့ ကွန်ပျူတာ တစ်လုံး လိုလာမှာပေါ။ ဒါကလည်း အကုန်အကျ နည်းတယ်လို့ ဆိုလို့ရပါတယ်။ Computer မှ မကိုင်တတ်ရင် Digital Divide က ကြီးသွားမှာ ဆိုတော့ ကွန်ပျူတာကို ထည့်တွက်လို့ သေချာပေါက် ရနိုင်တဲ့ ခေတ်ကြီး မဟုတ်ပါလားဗျာ။
ကျွန်တော် အပေါ်မှာ ပြောခဲ့တဲ့ အချက်တွေအပေါ်မှာ အခြေခံပြီး ပြန်ကောက်ကြည့်မယ်ဆိုရင်
- Computer Programming ကို ကျက်ဖြေနေကြတယ်။
- Computer Programming အဖြေလွှာတွေကို စစ်ဆေးတဲ့နေရာမှာ ဆရာ၊ ဆရာမတွေအနေနဲ့ အခက်အခဲတွေ ရှိနေတယ်။
- ပုံမှန် သမာရိုးကျနည်းလမ်းတွေနဲ့ Computer Programming ကိုသင်မယ်ဆိုရင် အလုပ်မဖြစ်နိုင်ဘူး။
- Computer Programming ဆိုတာ ကျောင်းသားတိုင်း သင်ယူသင့်တဲ့ ပညာရပ်ဖြစ်တယ်။
- အတွေးတွေကို တွေးတတ်အောင် သင်ပေးတဲ့ နေရာမှာ Computer Programming က ကုန်ကျစရိတ် အသက်သာဆုံးပဲ။
- Computer Programming ဆိုတာ ဆရာကို အဖြေစစ်ခိုင်းစရာ မလိုတဲ့ ပညာရပ်ဖြစ်တယ်၊ အဲဒီအပြင် မူကွဲများ၊ နည်လမ်းသစ်များကို စဉ်းစားတဲ့ နေရာများ အကောင်းဆုံး စဉ်းစားလို့ ရတဲ့နေရာ ဖြစ်တယ်။
- Capacity Building အတွက် အရေးပါတယ်။
စတဲ့ အချက်တွေ အပေါ်မှာ အခြေခံပြီး ကျွန်တော်တို့ အလုပ်ဖြစ်အေင် ဘယ်လိုလုပ်သင့်လဲ။ ဘာတွေ ပြုပြင်ပြောင်းလဲဖို့ လိုလဲ ဆိုတာကို လေ့လာ ကြည့်ရအောင်။
ဘာကြောင့် Computer Programming က ခက်နေရတာလဲ
“တစ်ယောက်ယောက်ကျ ကျွန်တော့်ကို Computer Programming သင်ဖို့ ပြောရင် ပထမဦးဆုံး စဉ်းစားမိတာက အရမ်းပျင်းဖို့ ကောင်းတယ် ဆိုတာပါပဲ။ တကယ့်ကို ပျင်းဖို့ကောင်းတယ်၊ အဲဒီအတန်းသာဆိုရင် ကျွန်တော်ကတော့ ပြေးမှာပဲ”
“ကျွန်တော်ကတော့ Computer Programming ဆိုတာ ကျွန်တော်တို့နဲ့ မဆိုင်ဘူးလို့ ထင်တယ်၊ ဒီလောက် ပျင်းဖို့ကောင်းတာကြီးဗျာ၊ ဘာလို့ သင်နေကြမှန်း မသိပါဘူး” ဒီလို ပြောစကားတွေကို ကျွန်တော်တို့တွေတင် ကြားရတာ မဟုတ်ပါဘူး။ သူများ နိုင်ငံတွေမှာလည်း ပုံမှန် ကြားရလေ့ ရှိတဲ့ စကားတွေပါ။ ဒါပေမယ့် တိုးတက်မှုကို ရှေးရှုတဲ့ နိုင်ငံတွေမှာ Computer Programming ပိုင်းဆိုင်ရာ စဉ်းစားတွေးခေါ်မှု ဆိုတာ အင်မတန် အရေးပါကြောင်း သိထားကြပါတယ်။
“Computer Programming ဆိုတာ စသင်တဲ့ အချိန်တွေမှာသာ စိတ်ဝင်စားဖို့ ခက်တာပါ။ တကယ်တန်း အရှိန်ရသွားရင်၊ လေ့လာဖို့ လမိုင်းကပ်သွားရင် နောက်ပိုင်းမှာ သူ့ဟာနဲ့သူ မျောသွားတတ်တာမျိုးဗျ၊ အဲ အခက်ဆုံးကတော့ စတင် မိတ်ဆက်ပေးတဲ့ အချိန်ပါ။ အဲဒီအချိန်က လူတစ်ဦးနဲ့ တစ်ဦး မတူတော့ဘူး။ ကျွန်တော်ဆို တစ်နှစ်လောက် Computer Programming ကို မုန်းခဲ့တယ်။ ကျွန်တော့် သူငယ်ချင်း တစ်ယောက်ကျ ပြန်တော့လဲ မုန်းတာမှ လုံးဝကို မလုပ်တော့ဘူး။ နောက်တစ်ယောက်ကတော့ စကတည်းက ဝါသနာပါတယ်ဗျ။ ဒါပေမယ့်ဗျာ ကျွန်တော်လည်း ဝါသနာပါတာပါပဲ။ အစကတည်းက ကျွန်တော့် ဝါသနာကို မသိခဲ့ရလို့ပါ။ သိခဲ့ရရင် ခုလို တစ်နှစ်လောက် နောက်မကျ တော့ဘူးပေါ့” ဒါကတော့ ကျွန်တော့် သူငယ်ချင်း တစ်ယောက်ရဲ့ အတွေ့အကြုံပါ။
အဲဒီလို စတင် မိတ်ဆက်ပေးတဲ့ အချိန်မှာ Computer Programming က အခက်အခဲအများကြီး တွေ့တတ်တာ လူတိုင်းသိကြမှာပါ။ အဓိက အခက်အခဲတွေကို လေ့လာကြည့်မယ်ဆိုရင်
- အဆင့်မြင့်ပိုင်းတွေမှာ UI Interface တွေ ကောင်းသလောက် အခြေခံအဆင့်အတွက် UI Interface က ညံ့လွန်းနေခြင်း
- အခြေခံအဆင့်အတွက် Programming ဆိုင်ရာ နယ်ပယ်ကျဉ်းလွန်းနေခြင်း
- အခြေခံအဆင့်အတွက် Learning Curve မြင့်လွန်းနေခြင်း
- သီအိုရီများကို အတုံးလိုက်အတစ်လိုက် သင်ယူရခြင်း
- Computer Programming Language များနှင့် မရင်းနှီးခြင်း
စတဲ့အချက်တွေ အများကြီး တွေ့ရပါလိမ့်မယ်။
Programming သင်ကြားနည်းဆိုင်ရာ နည်းလမ်းသစ်များ
အဲဒီလို အခက်အခဲတွေအတွက် နည်းလမ်းတွေ မရှိတော့ဘူးလား။ ရှိတာပေါ့။ လိုလျှင်ကြံဆ နည်းလမ်းရဆိုသလိုပါပဲ။ လိုလျှင်ကြံဆကြတဲ့ သူတွေကို ကြည့်လိုက်မယ်ဆိုရင် တကယ့် ကြီးကြီးမာစတာတွေ ဖြစ်နေတာ တွေ့ရပါလိမ့်မယ်။ Computer Programming သင်ကြားနည်းဆိုင်ရာ နည်းလမ်းသစ်များ ဆိုပါတော့။ ဘယ်လို ကြီးကြီး မာစတာတွေက တီထွင် ဖန်တီးနေကြတာလဲ။ လေ့လာကြည့်ရအောင်
Alice ကို စပွန်ဆာပေးထားတဲ့ ကုမ္ပဏီတွေကို ကြည့်မယ်ဆိုရင် ဖျားသွားလောက်တယ်။ EA, Sun Microsystems, National Science Foundation, The Hearst Foundation, The Heinz Endowments, Google, DARPA, Disney, Hyperion Books စတဲ့ ကုမ္ပဏီတွေက စပွန်ဆာ ပေးထားကြပါတယ်။ ဒီနေရာမှာ သွားကြည့်နိုင်ပါတယ်။
ကျွန်တော့်အနေနဲ့ Alice ကို ထိပ်ဆုံးမှာ ထားပြီး ပြောနေရတဲ့ အချက်က သူများနိုင်ငံတွေမှာ အများဆုံး အသုံးပြုနေတဲ့ Program ဖြစ်နေလို့ပါ။ အဲဒီအပြင် အခြား Learning Materials တွေ အများကြီး ရနိုင်တဲ့အပြင့် Student အတွက်ရော Teacher အတွက်ပါ Learning Guide တွေ အရမ်းပြည့်စုံပါတယ်။ အဲဒီအပြင် ကျွန်တော်တို့အနေနဲ့ ဘယ် Platform မှာ မဆိုသုံးလို့ရတဲ့ အားသာချက်တွေ ရှိနေပါတယ်။ OS, Hardware လိုအပ်ချက်တွေကို လေ့လာကြည့်ရအောင်
Operationg System လိုအပ်ချက်
- Windows 7, Vista, XP or 2000
- Mac OS X 10.3 or higher
- Linux
တကယ့် အထင်က OS အကုန်လုံးမှာ သုံးလို့ရနေပါတယ်။
Hardware Requirements for PC
- Intel Pentium II or equivalent processor
- A VGA Graphic Card (16 bits color 1024 x 768 resolution (3D Video Card ဆိုရင် ပိုကောင်းတယ်လို့ ဆိုပါတယ်))
- 512 MB (1G ဆိုရင် ပိုကောင်းပါတယ်တဲ့)
- Sound Card
အဲဒီလို Hardware ကို ကြည့်မယ်ဆိုရင်လည်း အတိုင်အတာတစ်ခု အထိ လျော့နည်းတာ တွေ့ရပါတယ်။
သူ့ရဲ့ Programing ရေးလို့ရတဲ့ Environment ကို လေ့လာကြည့်မယ် ဆိုရင်လည်း
သူ့ရဲ့ UI မှာ Coding ရေးရတဲ့ နေရာ တစ်နေရာမှာ မရှိပါဘူး။ အားလုံး Drag and Drop တွေပါပဲ။ Just Thinking ပါ။ စဉ်းစားဖို့ပဲ လိုပါတယ်။ ဒါပေမယ့် Programmatic Thinking ကို ရအောင် သင်ပေးပါတယ်။ ကျွန်တော်တို့ ဆီမှာ အရိုးဆွဲနေတတ်တဲ့ Programming ဆိုရင် Database အတွက်ပဲ ဆိုတဲ့ အမြင်ကိုလည်း တစ်ခါတည်း ပြောင်းလဲ ပေးနိုင်စွမ်း ရှိတာ တွေ့ရပါတယ်။ Game Programming အတွက်လည်း လမ်းစတွေ ပွင့်လာစေပါတယ်။
ဒါကတော့ ဟိုတစ်လော Google Android တွေမှာ ဟိုးလေးတကျော် ဖြစ်သွားတဲ့ Drag and Drop Programming ဖြစ်တဲ့ Google App Inventor ရဲ့ မူလအစလို့ ဆိုနိုင်ပါတယ်။ တကယ်တော့ MIT ရဲ့ Scratch က Apple iPhone တို့ iPad တို့မှာ မရနိုင်ဘူးဆိုတာ ကျောင်းတော်က ရန်စလို့ ဆိုရမှာ ဖြစ်ပါတယ်။ Apple က Scratch ကို iPhone တို့ iPad တို့မှာ မထည့်ဘူးလို့ ငြင်းလိုက်ပါတယ်။ အဲဒီလို ငြင်းပယ်လိုက်တဲ့ အတွက်ကြောင့် Google ရဲ့ Android တွေမှာ ပါလာအောင် တွန်းပို့လိုက်သလို ဖြစ်သွားစေပါတယ်။ Java Based ဖြစ်နေတာကြောင့်လည်း Apple အနေနဲ့ ငြင်းပယ်လိုက်တာ ဖြစ်ပါလိမ့်မယ်။
Scratch ဟာ MIT ရဲ့ Project တစ်ခု ဖြစ်တာနဲ့အညီ Community မှာရော Learning Aids တွေမှာပါ ပြည့်စုံလှပါတယ်။ Scratch ဆိုတာ Programming Language တစ်ခု ဖြစ်ပြီး ကိုယ်ပိုင် Interactive stories၊ animations၊ games၊ music၊ art တွေ ဖန်တီးလို့ ရပါတယ်တဲ့။ အဲဒီအပြင် ကိုယ်လုပ်တဲ့ Program တွေကို Online မှာ Share လို့ရပါသေးတယ်။
Microsoft ရဲ့ Project တစ်ခုပါ။ သူရဲ့ Xbox တွေမှာ သုံးလို့ရအောင် စီစဉ်နေတယ်လို့ သိရပါတယ်။ ခုမှ စမ်းသပ်ဆဲ အဆင့်ပဲ ရှိပါတယ်။ Game Programming အတွက် အဓိက ရည်ရွယ်တယ်လို့ သိရပါတယ်။ Icon-based နဲ့ Program ရေးနိုင်အောင် စီစဉ်ထားပါတယ်။ Game Design နဲ့ Game Programming Technique တွေကို လွယ်လွယ်နဲ့ နားလည်အောင် သင်ပေးနိုင်စွမ်းရှိတယ်လို့ သိရပါတယ်။ XBox မှာရော PC မှာပါ သုံးလို့ရနိုင်ပါတယ်။ Graphic Requirement ကတော့ မြင့်မယ်ထင်ပါတယ်။
သူကလည်း MIT ရဲ့ Education နဲ့ Project တစ်ခု ဖြစ်ပါတယ်။ သူလည်း သူ့အတိုင်းအတာနဲ့သူ Supporting ကောင်းကောင်းတွေ ရှိနေပါတယ်။ ဒါပေမယ့် Scratch Project လောက်တော့ မပြည့်စုံပါဘူး။
Key Features
ကဲ ကျွန်တော့်အနေနဲ့ Computer Programming သင်နည်းဆိုင်ရာ နည်းလမ်းသစ်များကို မိတ်ဆက်ပေးပြီး ဖြစ်ပါတယ်။ အဲဒီလို နည်းလမ်း သစ်တွေက ကျွန်တော်တို့ Programming သင်တဲ့ နေရာမှာ ဘယ်လို လွယ်ကူသွားစေသလဲ၊ ဘယ်လို Key Features တွေ ပါသလဲ ဆိုတာ လေ့လာ ကြည့်ရအောင်
- အားလုံးက Coding တွေ မမြင်ရတဲ့ Color Block Icon လေးတွေ သုံးပါတယ်။
- Drag and Drop နဲ့ Program ရေးလို့ရပါတယ်။
- Graphical User Interface ကို သုံးထားတဲ့ အတွက် အရင်လို Code Block တွေ ကြည့်ပြီး စိတ်ကုန် စရာမလိုတော့ပါဘူး။
- Programming ကို အလွယ်တကူသင်ယူနိုင်တဲ့ အခြေခံအဆင့်နယ်ပယ် ကျယ်သွားစေပါတယ်။ ရိုးရိုး အတွေးအတွက် သင်မလား၊ Programming Concept ကို သင်မလား၊ Game Programming လား ကြိုက်တာကို ပျော်ပျော်ပါးပါး သင်လို့ ရပါတယ်။
- အခြေခံအဆင့်အတွက် Learning Curve လည်း အများကြီး နိမ့်သွားစေပါတယ်။
- သီအိုရီတွေကို အတုံးလိုက် အတစ်လိုက်သင်ယူစရာ မလိုတော့ပါဘူး။
- ပုံတွေနဲ့ပဲ ရင်းနှီးစရာလိုပြီး Programming Language တွေနဲ့ ရင်းနှီးစရာ မလိုတော့ပါဘူး။
- ပျော်စရာကောင်းပါတယ်။
- စုပေါင်းပြီး စဉ်းစားလို့ ရပါတယ်။
- ဆရာမကလည်း စာစစ်သူမဟုတ်တော့ပဲ ကလေးတွေနဲ့ အတူ Program ရေးတဲ့သူ ဖြစ်လာပါမယ်။ Program တွေကို စစ်ဆေးတဲ့ အခါမှာလည်း Result ကို အလွယ်တကူ စစ်လို့ရတဲ့အတွက် လွယ်ကူသွားစေပါတယ်။
- Alternative Thinking, Literal Thinking စတဲ့ တွေးနည်းပေါင်းစုံကို တွေးတတ်သွားစေပါတယ်။
ဒါ ကျွန်တော်ရေးပြတာ နည်းပါသေးတယ် တကယ်တန်းတော့ Corporation ကြီးတွေ လိုအပ်နေတဲ့ လူ့စွမ်းအား အရင်းအမြစ်တွေလည်း အများကြီး ပေါ်ထွက်လာစေပါတယ်။ ဒါကြောင့်လည်း Alice ကို ဆရာကြီးတွေ စပွန်စာ ပေးထားတာသာ ကြည့်တော့။ အဲဒီ အပြင် ကြီးကြီး ကျယ်ကျယ် ပြောရရင် Capacity Building အတွက်ပါ အများကြီး အထောက်အကူ ပြုနိုင်ပါတယ်။
ကျွန်တော်တို့ သုံးမယ် ဆိုရင်ကော မဖြစ်ဘူးလား
ဒီမေးခွန်းရဲ့ အဖြေကို ပျော်ပျော်ကြီး ဖြေပါ့မယ်။ ဖြစ်တာပေါ့၊ အသေအချာ ဖြစ်၊ အရမ်းဖြစ်၊ ဖြစ်ဖြစ် ဖြစ်ဖြစ်ကို မြည်နေပါသေးတယ်။ ဒီတော့ ကျွန်တော်တို့ သုံးမယ်ဆိုရင် ဘာတွေလိုမလဲ စဉ်းစားကြည့်ရအောင်
- PIV Used, Graphic Card with 32MB, MEM 1G, HDD တော်သင့်ယုံ
- OS – Ububtu သုံးမယ်၊ အလကားရလို့
- Alice – သူလည်း အလကားရတယ်ဗျ၊ သူ့ဆိုက်မှာ သွားဒေါင်းယုံပဲ၊ ကော်နက်ရှင် မကောင်းဘူးလား၊ လွယ်ပါတယ်၊ သူများ ဒေါင်းပြီးသား သွားကူးပေါ့။
- Teacher Guide – အဲဒီအတွက်လည်း အပြည့်အစုံ ရှိပါတယ်ဗျာ။
- Student တွေအတွက်ကတော့ သင်ပေးတဲ့ ဆရာလိုမှာပေါ့ဗျာ။ ဒါလည်း အများကြီးတော့ သင့်ပေးစရာ မလိုပါဘူး။ တော်ရုံဆို ကလေးတွေကို ပိုတတ်ကြပါတယ်။
ကဲ ကျွန်တော်တို့တွေ Programming ကို ကျက်ဖြေနေတာတွေကို ရပ်တန့်ချင်တယ်ဆိုရင် ခုလို အခမဲ့ အစီအစဉ်တွေ သုံးကြပါ၊ သုံးဖို့ တိုက်တွန်းကြပါ၊ သုံးဖို့ ပညာပေးကြပါ၊ သုံးဖို့ ကူညီကြပါ၊ သုံးဖို့ သင်ယူကြပါလို့ တိုက်တွန်းရင်း နိဂုံချုပ်ပါတယ်ဗျာ။ ရွှင်လန်း ချမ်းမြေ့ပါစေဗျာ။
(နောက်များမှ Alice တို့ Scratch တို့နဲ့ ပတ်သက်တဲ့ သီခြား မိတ်ဆက်တွေ ရေးပါဦးမယ်။ ဒီ Program တွေနဲ့ ပတ်သက်ပြီး Tutorials တွေ ရေးချင်တယ် ဆိုရင်လည်း ဝမ်းမြောက် ဝမ်းသာကြိုဆိုပါတယ်ခင်ဗျာ။)
Facebook comments:











လုံးဝ လုံးဝကို အထူး ကျေးဇူးတင်ရှိပါကြောင်း……
Programming ကိုစသင်မယ့် လူတွေအတွက်တွန်းအားပဲဗျ။ အရမ်းကိုကောင်းတဲ့ Post ပါ။
ကျွန်တော်တောင် Alice နဲ့ Scratch ကိုစမ်းကြည့်ဖို့ download လုပ်နေတယ်။
ဟုတ် ကျေးဇူးတင်ပါတယ်။ စမ်းသပ်လို့ ရလာတဲ့ အတွေ့အကြုံတွေကိုလည်း ဒီမှာ ပြန်ပြီး ဝေမျှပါဦးလို့ …
ဖတ်ပြီးတာနဲ့ သုံးကြည့်ချင်စိတ် ပေါက်သွားပီ
သုံးကြည့်ချင်စိတ်ပေါက်ရင် သုံးကြည့်ဗျို့ ပြီးရင် ဘာတွေကောင်းတယ်၊ ဘယ်လိုသင်လို့ရနိုင်တယ် ဆိုတာတွေ ပြောဦးနော်ဗျ။
ဒီလိုလေ့လာခြင်းရဲ့အားနည်းချက်က တခြား coding တွေကို လေ့လာဖို့ကြောက်သွားမယ်ထင်တယ်
ဟုတ် ဖြစ်နိုင်ခြေရှိတယ်ဗျ၊ ဒါပေမယ့် တကယ်တန်း Project တစ်ခုကို စမ်းကြည့်ပြီးမှ ထွက်လာတဲ့ ရလဒ်တွေ အပေါ်မူတည်ပြီး သုံးသပ်ကြည့်မှ ရမယ်ထင်တယ်။ သူတို့ဆီမှာတော့ ကောလိပ်တွေမှာရော ကျောင်းတွေမှာပါ သုံးနေကြတယ်။ သူတို့တွေရဲ့ ထောက်ခံချက်တွေအရတော့ Programming Skill တွေ အများကြီးမြင့်လာတယ်လို့ ဆိုတယ်ဗျ။ ဒါပေမယ့် တကယ့် Coding တွေကို ပေါင်းကူးတော့မယ်ဆိုရင် Coding တွေ ရေးရမှာ ပျင်းတဲ့ ကြောက်တဲ့ ပြဿနာတော့ ကြုံနိုင်တယ်။ ဒီလို Coding ရေးရမှာ ကြောက်တယ်ဆိုတာ စလေ့လာသူအတွက် ပိုဆိုးမယ် ထင်တယ်ဗျ။ ဒီတော့ Coding ရေးရမယ့်သူအချင်းချင်း သိပြီးမှ ကြောက်တာနဲ့ မသိပဲနဲ့ ကြောက်တာ ဘယ်သူက ပိုပြီး တွန်းလို့ လွယ်မလဲဆိုတာ စဉ်းစားကြည့်ရမယ်။ ကျွန်တော့် အမြင်အရတော့ သိပြီး ကြောက်တဲ့ သူကို ပိုတွန်းလို့ လွယ်မယ် ထင်တယ်။ Alice မှာ Scratch မှာ Looping သဘောတွေ Step သဘောတွေ Object သဘောတွေ စသည်ဖြင့် အများကြီး သိလာနိုင်ပါတယ်။ ခုလို ဆွေးနွေးပေးတာ ကျေးဇူးတင်ပါတယ်ခင်ဗျ။
သူက What ပဲလိုမယ့် သဘောလားခင်ဗျ။ ဘာလိုချင်တာပဲ စဉ်းစားရတာ များမယ်လို ့မျိုးလား ။ How ဆိုတာ ဘယ်လိုလုပ်တယ် ဘယ်လိုရေးရမယ်ဆိုတာ နဲသွားမှာလား တကယ်လို ့အဲလို Drag and drop တွေသုံးလာရင် implementation ပိုမြန်လာမယ်လို ့တော့ထင်ပါတယ် ..ကျနော်မှတ်ချက်တော့ မပေးရဲ ဘူး ကျနော်သူ ့ကိုမစမ်းသပ်ဖူးဘူး။ ကျေးဇူးတင်ပါတယ် ကျနော်လဲ လေ့လာကြည့်မယ်.။ ကျနော်သေချာနားမလည်တာက ဒီလို D&D တွေသုံးလာရင် ဖြစ်လာမယ့် အကျိုးဆက်ပါ ။ ဥပမာ ကျနော်နားလည်းထားတာက စလေ့လာတဲ့သူတွေကို IDE တွေက လေ့လာရလွယ်ကူစေမယ် အချိန်တိုတွင်း အလုပ်ဝင်မယ့်သူမျိုးဆို IDE ကိုစလေ့လာသင့်တယ်ပေါ့ တကယ့်အခြေခံပိုင်းတွေသေချာမသိလာခဲ့တော့ ဘယ်လိုအကျိုးဆက်တွေဖြစ်လာမလဲပေါ့ ။။ နောက်ဥပမာတခုက ကိုရာဗီတို ့ကိုဆရာဝင်းထိန်တို့ လုပ်ခဲ့တဲ့ပွဲလေးမှာလို ပေါ့ PHP သမားဟာ database ကို ချိတ်ဖို ့ကုဒ် ၆ ကြောင်းနီးပါးရေးရလိမ့်မယ် ASP.Net သမားတွေက Database နဲ ့web page ချိတ်ဖို ့ကုဒ်ရေးရာမှာ ဒီထက်ပိုများပါမယ် ဒါပေမယ့် ကုဒ်လုံးဝမရေးဘဲ D&D လုပ်ပြီး browse ကနေ table ကိုရွေးလို ့ရနေတယ် ဒီလို လွယ်ကူမှုကြောင့်အချိန်တွေ သက်သာမယ် လုပ်ကူရလွယ်ကူမယ် နောက်ပို်င်း framework ကြီး တိုးတက်လာတာနဲ ့အမျှ what ပဲလိုလာမယ် how မရှိသလောက်နဲပါးလာမယ်။ ဒါပေမယ့် ဒီလိုတွေကြောင့်ဖြစ်လာမယ် ့အကျိုးဆက်ကို သိချင်လာမိတယ် ။။ အကျိုးတွေအများကြီးရှိလာမှာဖြစ်သလို developer တယောက်ရဲ ့ skill တခုကို ဘယ်လောက်ထိ ဆုတ်ယုတ်မှုရှိမလဲ။ (ကောင်းတယ့်အချက်တွေက အကိုပြောသလောက်တော့ တွေ ့ရပါတယ် ကိုယ်တိုင်မသုံးရသေးလို ့လဲ ဖြစ်မယ် သေချာတော့မြင်ဘူးခင်ဗျ ) ဘာပြောပြောနောက်ထပ် သူငယ်ချင်းစမ်းသပ်တွေ ့ရှိတာလေးတွေ နဲနဲ ရှဲပေးပါအုံး ။ ကျနော်အဓိကဆိုလိုတာ D&D နဲ ့ IDE တွေသုံးရင် developer တယောက်ရဲ ့နောက်ပိုင်းဖြစ်ပေါ်လာမယ့် skill ပါ။။ ကျနော်ဆိုလိုတာ negative direction ကိုတော့ဦးမဆောင်ဘူးနော် (နားလည်မှုလွဲသွားမှာဆိုးလို ့ပါ) (Tell if you know , ask if you don’t it ဆိုသလိုပဲ မသိလို ့မေးလိုက်တာပါ ။။။
with regards,
Ye’ Paing Phyo
သူ့ရဲ့ အဓိက ချဉ်းကပ်ပုံက Scratch မှာ ဆိုရင် Control တွေအနေဲ့ ဘာတွေရှိလဲ၊ Motion တွေအနေနဲ့ ဘာတွေ ရှိလဲ၊ Sensing အနေနဲ့ ဘာတွေရှိလဲ စသည်ဖြင့် သိဖို့ လိုတဲ့အပိုင်းက What လို ဆိုလို့ရမယ် ထင်ပါတယ်။ အဲဒီနောက်မှာ How ဘယ်လိုလုပ်မလဲပေါ့။ အဲဒီနေရာမှာတော့ အိုင်ဒီယာတွေ ပါလာပါပြီ။ ကိုယ်က ဘာတွေဖြစ်ချင်သလဲ ဆိုတာတွေ ပါလာပါပြီ။ အဲဒီလို ဖြစ်ချင်တဲ့အပေါ်မှာ ဘယ်လိုလုပ်မလဲ ဆိုတာ ဆက်စဉ်းစား ရပါတယ်။ http://scratch.mit.edu မှာ ကြည့်မယ်ဆိုရင် နိုင်ငံတကာက Project ပေါင်းစုံ တင်ထားတာ တွေ့ရပါလိမ့်မယ်။ သူတို့လုပ်ထားတဲ့ Project လေးတွေကို ကြည့်ပြီး သူတို့ ဘယ်လောက်အထိ ပြည့်စုံအောင် စဉ်းစားနိုင်တယ်ဆိုတာ တွေ့နိုင်တယ်ခင်ဗျ။ ဒါပေမယ့် တကယ့် Coding တွေကို ချဉ်းကပ်မယ်ဆိုရင် သူတို့ ဘယ်လို ပေါင်းကူးပေးကြသလဲတော့ ကျွန်တော်လည်း လေ့လာကြည့်နေတုန်း ခင်ဗျ။
တေ ပီ!
alice က လူတွေကို programming ဘာသာရပ်ကို စိတ်ဝင်စားလာအောင် မိတ်ဆပ် သဘောနဲ့ ကောလိပ် တော်တော်များများမှာ သုံးကြပါတယ်။
ပြီးတော့ ကျောင်းတွေမှာလည်း လူငယ်တွေ အနာဂါတ်မှာ ပရိုဂရမ်းမင်းကို စိတ်ဝင်စားလာအောင် ရည်ရွယ်ပြီး သင်ပေးတာပါ။ ကျနော်တက်တဲ့ ကောလိပ်မှာ ပထမ alice သင်ပေးတယ်။ ပြီးတော့ ပရိုဂရမ်မင်းဆိုတာ ဘာလည်း သိသွားပြီးရင် နောက် အဆင့်ကျရင် c programming , အဲဒါပီးရင် c## ပြီးရင် java အဲလို အဆင့်ဆင့်သွားတယ်။
alice က ခုက programming ဆိုတာ ဘာမှန်း မသိသေးသူတွေအတွက် မိတ်ဆက်ပေါ့ဗျာ။
ခုလို Information ပေးတာ ကျေးဇူးတင်ပါတယ်ခင်ဗျ
alice ကို ကျနော်တက်နေတဲ့ ကောလိပ် မှာ intro to computer science မှာ သင်တယ်။ ကွန်ပြူတာ မေဂျာဆိုတာ ဘယ်လိုပုံစံ၊ programming ဆိုတာ ဘယ်လို ပုံစံ လည်းဆိုတာ မိတ်ဆက်ပေးတဲ့သဘောပေါ့။ ကျောင်းသားအနေနဲ့ အဲ course တက်ပီးသွားရင် သူ့အနေနဲ့ computer science ပေါ်မှာ စိတ်ဝင်စားရင် ဆက်ပြီး programming course တွေ တက်သွား ပေါ့။(ဥပမာ။ ။ c++ တို့ java တို့)။ ကျောင်းသားအနေနဲ့လည်း အချိန်မကုန်တော့ဘူးပေ့ါဗျာ။ တချို့တွေပြောကြတယ် မလား ငါစိတ်မဝင်စားပဲ တက်နေရတယ်ဆိုတာ။ ခုက မေဂျာထဲကို မဝင်ခင် အင်ထရိုပြလိုက်တော့ စိတ်မဝင်စားရင် ပြန်လှည့်ထွက်ဖို့ အချိန်ရှိသွားမယ်။ ပြီးတော့ ကျောင်းသားတွေကို coding ပိုင်းပါတဲ့ programming တွေဆီကို ချက်ခြင်းလွှတ်ပေးလိုက်ရင် အကုန် လန့်ပြီး ပြေးကုန်လိမ့်မယ်။
အဲဒီ intro to CS မှာ alice ကတော့ အဓိက သင်ရိုးညွှန်းတန်းဖြစ်ပီးတော့ discovering computer(http://www.amazon.com/Discovering-Computers-2010-Digital-Cashman/dp/0324786476) ဖတ်စာအုပ်တစ်အုပ်ပါတယ်။ အဲဒါကို quiz အနေနဲ့ ဖြေနိုင်အောင် ဖတ်ကတယ်။ ဥပမာ။ ။ input, output , database ဘာညာတွေရဲ့ အကြောင်းကို စာအုပ်ထဲမှာ ထည့်ပေးထားတယ်။
ပြီးတော့ နောက်စာအုပ် တစ်အုပ် ပါသေးတယ်။ အဲဒါကတော့ အတွေးအခေါ်ပိုင်း၊ အိုင်ဒီယာပိုင်းအတွက်ပါ။
http://en.wikipedia.org/wiki/The_Age_of_Spiritual_Machines အဲစာအုပ်ကို ဖတ်ကတယ်။ chapter တခုဖတ်ပီးတိုင်း မိမိရဲ့ feedback ကို ရေးပေးရတယ်။ စာရေးဆရာရဲ့ အိုင်ဒီယာကို သဘောတူမတူ။ အကြောင်းပြချက်ပါပေးကတယ်။
အဲဒါအုပ်ကတော့ဗျာ နည်းပညာ အနာဂါတ်ခန့်မှန်းပညာရှင် တစ်ယောက်သုံးသပ်ရေးထားတဲ့ စာအုပ်ပါ။
ပီးတော့ အဲစာအုပ်ဖတ်နေတုန်းမှာ ကျောင်းသားနဲ့ ဆရာ အဲအကြောင်းဆွေးနွေးဖို့ အွန်လိုင်း ဖိုရမ် တခုလုပ်ပေးထားတယ်။ ပြောမှ အမှတ်ပေးတယ်ဆိုပြီး ဆရာက ပြဒါန်းလိုက်တော့ အကုန် ပြောကြဆိုကြနဲ့ မြိုင်နေတာပေါ့။ တခါမှ မကြားဘူးတဲ့ အိုင်ဒီယာတွေလည်း ပါတယ်။
ဥပမာ။ ။ grey goo ပြဿနာတို့ဘာတို့ ဆိုတာ ကျနော် အရင်က မကြားဘူးဘူး ဘာမှန်းတောင်မသိဘူး။ အခု ဗဟုသုတ အနေနဲ့ သိသွားတာပေါ့ဗျာ။
ကျန်သေးတယ်။ သင်တန်းပြီးခါနီး ဆောင်းပါး တစ်ပုဒ်ဖတ်ကတယ်။ http://www.wired.com/wired/archive/8.04/joy.html တဲ့ ဆောင်းပါး။ သူက နည်းပညာရဲ့ ဆိုးကျိုးကို သုံးသပ်ပြထားတာ။ age of spiritual machine က နည်းပညာ အကောင်းမြင် ချဉ်းပဲ။ ဒါပေမယ့် အပေါ်က ဆောင်းပါးက နည်းပညာဆိုးကျိုးကို အသားပေးထားတဲ့ ဆောင်းပါး။
ရေးတဲ့ နှစ်ယောက်လုံးက ကွန်ပြူတာ နယ်ပယ်က ဘိုးတော်ကြီးတွေပဲဗျ။ အဲဒီ နှစ်ခုကို နှိူင်းယှဉ်ပြီး မိမိရဲ့ အမြင်ကို နောက်ဆုံး paper အနေနဲ့ ရေးပေးရတယ်။
ကိုသီဟရေ အဲဒါ ကျနော် တက်ခဲ့ဘူးတဲ့ course အကြောင်း အတွေ့အကြုံပါ။ ကျောင်းကတော့ အမေရိကားက ကောလိပ် တခုပါ။
ခုလို မှတ်ချက်ပေးတာ ကျေးဇူးတင်ပါတယ်ခင်ဗျာ၊
အားလုံးပဲ ခင်ဗျ programming စတတ်ဖို့ ဘယ်က ဘယ်လိုစရမလဲခင်ဗျ။ပြီးတော့ သင်တန်းလေးပါ တစ်ခါတည်း ပြောပြပေးပါလားဗျာ ကျွန်တော့မေးလ်ကိုပို့ပေးပါ ခင်ဗျ ကျေးဇူးတင်ပါတယ် zayaraung84@gmail.com
ကိုသီဟရဲ ့post လေးကို အရမ်း သဘောကျပါတယ်ခင်ဗျာ…
မှန်ပါတယ်…အခုတွေ ့နေရတဲ ့လူငယ်တော်တော်များများ(အထူးသဖြင့် ကွန်ပျူတာတက္ကသို်လ်)က Programming ကို နားမလည်တော့ရင် အလွတ်ကျက်လိုက်တော့တာပဲ…ကျွန်တော်လည်း ကွန်ပျူတာတက္ကသိုလ် ကျောင်းဆင်းတစ်ယောက်ပါပဲ…ကျွန်တော် ပြောချင်တာတော့ ဆရာ၊ ဆရာမတွေရဲ ့အားနည်းချက်နဲ ့ကျောင်းသားရဲ ့Motivation နဲ ့လည်း ဆိုင်မယ် ထင်တယ် ခင်ဗျာ့…ကျွန်တော်ဆိုတာ Programming ကို ကွန်ပျူတာ တက္ကသိုလ်ရောက်မှ စသိတာပါ…သင်ကြားတဲ့ ဆရာမနဲ ့လည်း ဆိုင်တာပေါ့…ကျွန်တော် ပထမနှစ်မှာ OOP With C ဆိုတာကို စသင်ရပါတယ်…စစချင်းမှာတော့ လုံးချာလိုက်နေတာပေါ့…ဒါပေမယ့် ကျွန်တော်တို ့အတန်းကို ကိုင်တဲ့ ဆရာမက တော်တယ် ခင်ဗျာ့…သူက ဘယ်လိုသင်သလဲဆိုတော့ Program မေးခွန်း တပုဒ်ကို ထုတ်လိုက်တယ်…ပြီးတော့ ကိုယ့်ဘာသာရေး(On paperပါပဲ)ပေါ့…နောက် သူက တယောက်ချင်းစီကို လိုက်ကြည့်ပေးတာ ခင်ဗျာ့…အဲတော့ ကျွန်တော် ဘာနားလည်လာသလဲဆိုတော့…1.Program ဆိုတာ အဖြေတွေအများကြီးရှိပါလားဆိုတာရယ် 2.Programming ဆိုတာ ကျက်စာ မဟုတ်ဘူး Concept နားလည်ရုံနဲ ့ ရေးလို ့ရပါလားဆိုတာကို သိလာတယ် ခင်ဗျာ့…ဒါပေမယ့် အခုကွန်ပျူတာတက္ကသိုလ် နောက်ပိုင်းနှစ်တွေမှာတော့ အဲလိုသင်ပေးနိုင်တဲ့ ဆရာ၊ ဆရာမတွေကလည်း မရှိတော့ဘူးလေ(ကျွန်တော် ကိုယ်တွေ ့ပါ)…လာသင်တဲ့ Tutor ပေါက်စတွေကလည်း သူတို ့သင်ရမယ့် Course ပြတ်ရင်ပြီးရောဆိုပြီး တနေ ့ထဲ Program 4၊ 5 ပုဒ် Whiteboard ပေါ်ရေးသွားတာဆိုတော့ နားမလည်တဲ့ ကျောင်းသားတွေက စာမေးပွဲအောင်ဖို ့ကို အလွတ်ကျက်ဖို ့ပဲ ရှိတော့တာပေါ့…အဲတော့ အကျိုးဆက်က စာမေးပွဲမှာ Program လေး 2 ပုဒ်လောက်ကို အရှေ ့အနောက်မေးခွန်းလှည့်ပြီးမေးလိုက်ရင် မျက်ကလူးဆန်ပြာ ဖြစ်ပြီး မဖြေတတ်တော့တာပဲ…အဲတော့ Programming ဆိုတာ ကျောင်းသားတွေ အကြောက်ဆုံး၊ အမှတ်အနဲဆုံး ဘာသာ ဖြစ်လာတာပေါ့…နောက် ကျောင်းသားတွေ အနေနဲ ့လည်း မရရင် အလွတ်ကျက်မယ်ဆိုတဲ့ အလွယ်လမ်းကို လိုက်ရော…
P.S. ကျွန်တော်၏ အတွေ ့အကြုံများကို ဖလှယ်ခြင်းဖြစ်ပါသည်…မည်သူ တဦးတယောက်ကိုမျှ ထိခိုက်လိုစေခြင်း မရှိပါ…အမှားပါရင်လည်း နားလည် ခွင့်လွှတ်ပေးကြမယ်လို ့ မျှော်လင့်ပါတယ်…
[...] ပတ်သက်ပြီး ကျွန်တော်ရေးထားတဲ့ Programming သင်ဖို့ရာ နည်းလမ်းသစ်များစ… ဆိုတဲ့ ဆောင်းပါးမှာ ကျွန်တော့် [...]