Together Learning
Together Learning (Computer Science)(Software Engineering)
Together Learning ကနေ ဒီတစ်ခါဖွင့်မယ့်သင်တန်း ကတော့ Linux Administration( Fundamental Class )ဘဲဖြစ်ပါတယ်။
ဒီအတန်းကိုဘယ်သူတွေ တက်ရောက်သင့်သလဲဆိုရင် IT career နှင့် အသက်မွေး၀မ်းကျောင်းပြုလုပ်မယ့် မည်သူမဆိုတက်ရောက်သင့်သော အတန်းဖြစ်ပါတယ်။ ဘယ်ကြောင့်လဲဆိုရင် IT career တွေဖြစ်ကြတဲ့ system administration , DevOps, Cyber Security, Server Administration , cloud computing စသဖြင့် IT လမ်းကြောင်းပေါ်မှာ လျှောက်ချင်တယ်လို့ စိတ်ကူးရှိနေတယ်ဆိုရင် Linux ကတော့ မသိမဖြစ်သိဖို့လိုအပ်နေလို့ဘဲဖြစ်ပါတယ်။ အယ်လိုပြောလို့ developers တွေ network engineers တွေကရောသိဖို့မလိုဘူးလားဆိုတော့ သိဖို့လိုပြန်ရော။ အယ်လိုသိထားမှဘဲopen-source technologies တွေနှင့် အမျိုးမျိုးသော IT infrastructures တွေ manageလုပ်နိုင်ပြီးတော့ Operating System တွေ ကိုပိုပြီးနားလည်မှာဖြစ်ပါတယ်။ Developer တွေအနေနှင့်ဘာတွေပိုသိသာလာမလဲဆိုရင် Windows OS ပေါ်မှာ software develop လုပ်ရင် windows ကို ၀ယ်ရပါတယ်။ မ၀ယ်နိုင်ရင် crack ပြီးသုံးရပါလိမ့်မယ်(တရားမ၀င် အသုံးပြုတယ်ပေါ့)။ Linux သုံးရင်တော့ Linux ကတော့ free ပါဘဲ။ နှောက်တစ်ခုကတော့ အသုံးပြုရတာ light weight ဖြစ်တဲ့အပြင် security လဲကောင်းတာမို့ windows တွေလို malware (virus, worms,etc) ၀င်မှာကြောက်ပြီး antivirus scanner တွေလဲထည့်ထားစရာမလိုပါဘူး။😁😁
🗓️သင်တန်းစတင်မည့်ရက် : 28 February 2024
🗓️သင်တန်းကာလ : 2.5 months
🕖သင်တန်းချိန် : wed, thu (7 PM to 8:30PM)
💰သင်တန်းကြေး : ၁၀၀၀၀၀( ၁ သိန်း) ကျပ်
🧑🏫သင်ကြားမည့်ပုံစံ : Zoom Class (Online Class)
Course Outlines
🔸Introduction to Linux
🔸Using Virtualization
🔸Linux OS Installation
🔸Linux Shell and Kernel
🔸Various Desktop Environment and Customization
🔸Software Installation in Linux
🔸Essential Command
🔸File Creating, Viewing and Editing Using Editor (Vim, Nano, and other)
🔸Linux Directory Structure
🔸File and Directory Permission
🔸User Account and Group Management
🔸System Monitoring and Process Management in Linux
🔸System Information Checking in Linux
🔸 Basic System Setting Setup
🔸Using Window Software in Linux
🔸 Fundamental Networking Configuration in Linux
🔸Logical Volume Management
သင်တန်းတက်ရောက်သူအနေနှင့် အခြေခံလိုအပ်ချက်ကတော့ Computer Basic တနည်းအားဖြင့် Computer နည်းနည်းပါးပါး အသုံးပြုတက်ပြီး Lab စမ်းဖို့ အဆင်ပြေစေရန်တွက် မိမိ Computer သည် RAM 8 လောက်ဆိုရင်ပိုပြီး အဆင်ပြေစေမှာဖြစ်ပါတယ်။
ဖော်ပြပါအကြောင်းရာတွေသင်ကြားပြီးပြီဆိုရင် Linux အခြေခံတွေကိုလုံး၀နားလည်သွားမည့်ဖြစ်ပြီး ရှေ့ဆက်မိမိသွားချင်တဲ့ IT လမ်းကြောင်းကို များစွာအထောက်ကူပြုမှာအသေချာဖြစ်ပါတယ်။
သင်ကြားပေးမည့်ဆရာကလဲ သင်ကြားရေးအတွေ့ကြုံရှိပြီးသား ဆရာဖြစ်တာမို့ စိတ်ရှည်ရှည်နှင့်နားမလည်မချင်းရှင်းပြပေးမှာဖြစ်ပါတယ်။
သင်တန်းကြောင်းနှင့် ပတ်သက်ပြီး ထပ်မံသိရှိလိုပါက 09796931763 , 09420298325 သို့ဆက်သွယ်မေးမြန်းနိုင်ပါသည်။
နောက်တစ်ခုကတော့ သင်တန်းသား ဦးရေလဲ (၁၅) ယောက်ထိဘဲ လက်ခံမှာမို့ အမြန်စာရင်းသွင်းထားဖို့လိုပါမယ်။😁😁
သင်တန်းအပ်လိုပါက Page messenger (သို့) ဖော်ပြပါ ဖုန်းနံပါတ်များ မှတဆင့် ဆက်သွယ်အပ်နှံနိုင်ပါပြီ။☺️☺️
What is Big O notation in computer science?
A brief introduction to Big O notation
Big O notation ဆိုတာက algorithms တို့၏ performance သို့မဟုတ် complexity ကို ဖော်ပြပေးဖို့အတွက် အသုံးပြုတဲ့ mathematical notation တစ်ခုဖြစ်ပါတယ်။
များသောအားဖြင့် worse case တွက်ကိုအဓိကအသုံးများပါတယ်။ worse case ဆိုတာက ဥပမာအားဖြင့် စာကြည်တိုက် တစ်ခုမှာထည့်ထားသော စာအုပ်တွေထဲကနေ စာအုပ် တစ်အုပ်ကို ရှာမယ် သို့မဟုတ် စာကြည်တိုက် ထဲမှာရှိမနေတဲ့ စာအုပ် ကို ရှာဖို့တွက် အကြာနိုင်ဆုံးအချိန်က ဘယ်လောက်ဖြစ်မလဲဆိုတာပါ။ best case ဆိုတာကတော့ အမြန်ဆုံးအချိန်ပေါ့။ average case ဆိုရင်တော့ ပျင်းမျှကြာချိန်ပေါ့။ Big O notation ရေးပုံရေးနည်းကတော့ O() ဆိုပြီးရေးပါတယ်။ အရှေ့က O ကတော့ order of လို့ ခေါ်ပြီး, () ကတော့ algorithms ၏ အမြင့်ဆုံး growth rate ကိုဖော်ပြသော function ဖြစ်ပါတယ်။ ကိုယ်က စာအုပ်တွေကို ရှာမယ် ပြီးတော့ စာအုပ်တွေကို စနစ်တကျ စီစဥ်နှင့် ထားဖို့ တာ၀န်ရှိတဲ့သူတစ်ယောက်ဆိုပါဆို့။ ဒါဆိုစာအုပ်တွေကို ဘယ်လိုနည်းလမ်းတွေနှင့်ရှာမလဲ ဘယ်လိုတွေစနစ်တကျထားမလဲ ဘယ်နည်းလမ်းတွေက ပိုမြန်ပြီး ဘယ်နည်းလမ်းတွေက နှေးလဲဆိုတာကို Big O notation သုံးပြီး ဖော်ပြကြမယ်ဆိုပါဆို့။
O(1) : Constant Time
ဘယ်လိုစာအုပ်မျိုးကိုရှာတာလဲဆိုတော့ စာကြည်တိုက်ထဲ စာအုပ်ဘယ်နှအုပ်ဘဲရှိရှိ မြင်တဲ့စာအုပ်တစ်အုပ်ကို ဆွဲယူလိုက်တာမို့ အချိန်အားဖြင့် အမြင်ဆုံး ကြာချိန်သည် တစ်ဘဲဖြစ်တယ် Random တစ်ခုကို ယူလိုက်သလိုဖြစ်တဲ့တွက် O(1) လို့ဖော်ပြပါတယ်။
O(log n): Logarithmic Time(eg: Binary Search)
ဒါကကျတော့ စနစ်တကျ စီစဥ်ထားသော စာအုပ်စင် (sorting )ကနေ middle ကျဆုံးစာအုပ်ကို လှမ်းယူလိုက်တယ်။ပြီးတော့ အယ်စာအုပ်က သူရှာနေတဲ့စာအုပ် ဟုတ်,မဟုတ် စစ်တယ်။ မဟုတ်ဘူးဆိုရင် left သို့ right ဘက်ကို ဆက်ရှာရမလားဆုံးဖြတ်ပြီး အယ်ဘက်မှာလဲ အလယ်ကျဆုံးစာအုပ်ကို ယူဖတ်ပြီး သူလိုချင်တဲ့ စာအုပ်ဟုတ်,မဟုတ် စစ်တယ်။မဟုတ်ဘူးဆိုရင် left သို့ right ဘက်ကို ဆက်ရှာမလားဆိုပြီး ဒီလိုပုံစံမျိုးနဲ့ရှာတဲ့ခါမှာ အချိန်သည် တစ်၀က်ကျော်မက သက်သာသွားတာဖြစ်ပြီး ဘယ်လောက် input data များများ သူရှာရမယ့်အကြိမ်ရေတွက်သည် log n ဘဲ ကြာမှာဖြစ်မှာမို့ O(log n) ဆိုပြီးဖော်ပြပါတယ်။
O(n) : Linear Time(eg: Linear Search)
များသောအားဖြင့် စာအုပ်တွေကို sorting မလုပ်ထားသည်စာအုပ်စင်ကနေ ကိုယ်လိုချင်တဲ့ စာအုပ်ကို မတွေ့မချင်း စဆုံးတစ်ခုခြင်းရှာမှာဖြစ်တာမို့ data သည် n အရေတွက်ရှိလျှင် အကြာဆုံးချိန်သည် n အရေတွက်ရှိသည်တိုင်းကြာမှာဘဲဖြစ်လို့ O(n) လို့ ဖော်ပြပါတယ်။
O(n log n): Linearithmic Time(eg: Merge Sort, Quick Sort)
စာအုပ်တွေကိုစီမယ်(sorting) ပေါ့ အယ်ခါဘယ်စာအုပ်ကိုဘယ်နေရာထားမလဲဆုံးဖြတ်တဲ့အခါ စာအုပ်တွေကို ဘယ်ပိုင်းကနေစပြီး စီမလဲဆိုတာကို အပိုင်း,ပိုင်းလိုက်ပြီး နှောက်ဆုံး အပိုင်းသေးသေးလေး, ကနေစစီပြီး နောက်ဆုံးအားလုံးပြန်ပေါင်းပြီးသား စီထားဒါမျိုးဖြစ်ပါတယ်။ ဒီနည်းကတော့ data ဘယ်လောက်များများ, ထည့်ထားတဲ့ data အရေတွက်က n ဆိုရင် စီမယ့်အများဆုံး ကြာချိန်က n log n ဘဲဖြစ်ပါမယ်။
O(n^2): Quadratic Time(eg: Bubble Sort, Selection Sort)
စာအုပ်တွေကို စနစ်တကျစီဖို့အတွက် ပထမဆုံးတစ်အုပ်ကိုအရင်နေရာချပေးတယ်။ပြီးမှ နှောက်တစ်အုပ်ကို နေရာချတယ်။ ဆိုလိုဒါက တစ်အုပ်ချင်းစီနေရာချပါတယ်။ အယ်လိုနေရာချဖို့အတွက် နေရာချမယ့်စာအုပ်နှင့် ရှိနေသောစာအုပ်တစ်ခုချင်းနှင့်ကို တိုက်စစ်တယ်။ ပြီးမှ အယ်ဒီစာအုပ်တွက်နေရာရတယ်။ ပြီးရင်နှောက်တစ်အုပ်ကိုနေရာချမယ်ဆိုလဲ အယ်စာအုပ်ကို အားလုံးနဲ့ပြတိုက်စစ်ပြီးမှနေရာထပ်ချ။ဒါကြောင့် ဒီနည်းရဲ့ကြာချိန်က data အရေတွက်များလာလေလေ ပိုကြာလေဘဲ။ ဒီနည်းလမ်းရဲ့အများဆုံးကြာချိန်က n^2 ဖြစ်ပါတယ်။
တစ်ခြား Big O notation တွေလဲ ကျန်ပါသေးတယ်။ ဒီမှာကတော့ စာရှည်နေပြီးဖြစ်လို့ ဒီလောက်နဲ့ဘဲရပ်လိုက်ပါတော့မယ်နော်။☺️☺️
Happy New Year 🎇🎆🎉
C++ က data type တွေအကြောင်းနည်းနည်းပြောကြရအောင်
C++ မှာ primitive, derived နှင့် user-defined ဆိုပြီး data types တွေကို(၃)မျိုးခွဲထားပါတယ်။
👉Primitive data type တွေက တစ်ကြိမ်မှာတန်ဖိုးတစ်ခုဘဲ store လုပ်လို့ရပါတယ်။ Primitive data type ကို built-in data type လို့လဲခေါ် လေ့ရှိတယ်။ ဘာကြောင့်လဲဆိုတော့ Programming language ကနေ သတ်မှတ်ထားတဲ့ အခြေခံအကျဆုံး data type ဖြစ်ပြီးတော့ programming language ကနေသတ်မှတ်ထားသော size နှင့်သာလျှင် memory ပေါ် မှာ နေရာယူရပါတယ်။ ဥပမာအားဖြင့် integer ဆိုပါတော့
int num=5;
ဒီမှာဆိုရင် num ဆိုတဲ့ variable က integer အမျိုးစား primitive data type ဖြစ်တဲ့တွက် num ထဲကို 5 ဆိုတဲ့ value တစ်ခုဘဲထည့်ခွင့်ရှိပြီး C++ programming languageမှာဆိုရင် memory ပေါ်မှာ သတ်မှတ်ပြီးသား 4 bytes သာနေရာယူမှာဖြစ်ပါတယ်။ C++ မှာအသုံးများတဲ့ primitive data type တွေက integer(ကိန်းပြည့်), double(ဒဿမကိန်း), char(letter) and boolean(true(1),false(0)) တို့ဖြစ်ပါတယ်။ function တွေရဲ့ return type မှာဆိုရင်တော့ void ကိုလည်းအသုံးများပါတယ်။
👉Derived date type တွေဆိုတာကတော့ Primitive data type (သို့) Fundamental data type တွေကို ထပ်ပြီးextend (သို့) combine လုပ်ထားတဲ့ data type တွေဖြစ်ပါတယ်။ C++ မှာ derived data type တွေက array, function, pointer, reference ဆိုပြီးရှိပါတယ်။ ပုံမှန် int a ဆိုရင် value တစ်ခုဘဲ assign ထည့်လိုရမယ်။ integer value 5 ခုထည့်ချင်တယ်ဆိုရင် ပုံမှန်အားဖြင့် integer variable 5ခု သုံးပေးဖို့လိုအပ်ပါတယ်။ အယ်ခါမှာ array က variable တစ်ခုတည်းနှင့် data 5 ခုထည့်လို့ရပါတယ်။ array ကတော့ တူညီတဲ့ data type ရှိတဲ့ dataတွေကိုစုပြီး memory ပေါ်မှာတဆက်တည်းနေရာယူပါတယ်။ ဒီခါမှာဆိုရင် array ရဲ့ size က ကိုယ်အသုံးပြုမယ့် data အရေတွက်ပေါ် မူတည်ပြီးပြောင်းသွားဖြစ်ပါတယ်။ ဥပမာ int a[5] ဆိုပါတော့ အယ်မှာဆိုရင် int data အမျိုးစား 5ခုထည့်ဖို့တွက် memory မှာ အခန်း 5 ခန်းယူတယ်ပေါ့ ။ အယ်ဒါဆိုရင် int က တစ်ခုတည်းဆိုရင် 4 bytes နေရာယူတာဖြစ်တဲ့တွက် 5 ခုဆိုတော့ size က စုစုပေါင်း 20 bytes ဖြစ်သွားပါမယ်။ ဒါဆိုရင် Primitive data type ဖြစ်တဲ့ integer က memory ပေါ် မှာ 4 bytes ယူတာကိုအခြေခံပြီး 20 bytes ဖြစ်သွားတာပါ။
👉User-Defined ကတော့ Programmer တွေကနေ သူတို့ရဲ့လိုအပ်ချက်အရအသုံးပြုချင်တဲ့ data တွေကို Language ရဲ့ syntax တွေနှင့်စိတ်ကြိုက်သုံးပြီးဖန်တီးထားတဲ့ data types ဖြစ်ပါတယ်။ C++ မှာ အသုံးများတဲ့ user-defined data type တွေကတော့ structure, enum, class တို့ဘဲဖြစ်ပါတယ်။ ဥပမာအားဖြင့်
struct Example{
int a;
char b;
bool c;
};
structure Example ဆိုရင် programmer ကနေ သူ့စိတ်ကြိုက် data အမျိုးစားတွေကို structure ထဲကိုထည့်ထားပါတယ်။ structure ရဲ့ size ကလဲ Programmer ထည့်ထားတဲ့ data တွေမူတည်ပြီးအတည်ကျလဲတွက်လို့မရပါဘူး။ အတိကျသိချင်ရင်တော့ sizeof operator ကိုအသုံးပြုပြီးသိနိုင်ပါတယ်။ ဥပမာ Example ဆိုတဲ့ structure ထဲမှာဆိုရင်int, char, bool ရှိပါတယ်။ ဒီမှာဆိုရင် int က 4 bytes, char က 1 byte, bool က 1 byte ဆိုပြီး စုစုပေါင်း 6 bytes ဆိုပြီးတွက်လို့မရပါဘူး။ sizeof operator နဲ့ကြည်ကြည်မယ်ဆိုရင် 8 bytes ဆိုပြီးပြပါလိမ့်မယ်။ Complier ကနေ additional memory ထပ်ယူပါတယ်။
ဒါဆိုရင်တော့ C++ ရဲ့ data types အကြောင်းကို ဒီမှာဘဲအဆုံးသတ်လိုက်ပါတော့မယ် ☺️☺️
Comparing Integers and Floats: A Comprehensive Overview in Mathematics
Integers ဆိုတာက အပြည့်ကိန်းတွေဖြစ်တဲ့ (….,-3,-2,-1,0,1,2,3,….)ဆိုတဲ့ ကိန်းဂဏန်းတွေဖြစ်ပါတယ်။ တနည်းအားဖြင့် ကိန်းဂဏန်းတွေဟာ အတိကျရေးတွက်လို့ရတဲ့ အချက်လက်တွေကိုဖော်ပြနေပါတယ်။ integers တွေကို number line(X axis, Y axis,..) (ကိန်းမျဥ်း)ပေါ်မှာဆွဲတယ်ဆိုရင် မျဥ်းကတဆက်တည်း ထွက်လာမှာမဟုတ်ပါဘူး။ ဘယ်ကြောင့်လဲဆိုတော့ 1 နှင့် 2 စသဖြင့် ကိန်းတွေကြားကျန်ရှိနေတဲ့ ဒဿမကိန်းတွေ မရှိနေတာကြောင့်ဘဲဖြစ်ပါတယ်။ အယ်ဒါကြောင့် integers ကို discrete numbers လို့လဲခေါ်လေ့ရှိတယ်။ တနည်းအားဖြင့် ကိန်းတစ်ခုနှင့်တစ်ခုက separate and distinct ဖြစ်နေတယ်လို့ ဆိုလိုတာဖြစ်ပါတယ်။
Floats ဆိုတာကတော့ ကိန်းစစ်တွေပါလို့ပြောလေ့ရှိတယ်။ ကိန်းစစ်လို့ ပြောတာဖြစ်တဲ့တွက် ဒဿမကိန်းတွေပါ ပါလာပြီးဖြစ်ပါတယ်။ အယ်ဒါကြောင့် Float ကို number line ပေါ်မှာဆွဲတယ်ဆိုရင်တော့ မျဥ်းကတဆက်တည်းထွက်လာမှာဖြစ်ပါတယ်။ ကိန်းဂဏန်းတွေ တစ်ခုနှင့်တစ်ခုကြားထဲရှိသမျှ ကိန်းတွေကိိုဖော်ပြပေးနိုင်တယ်။ ကိန်းတွေကတစ်ခုနှင့်တစ်ခုချိတ်ဆက်မှုရှိလာတာကြောင့် float ကို Continuous numbers လို့ပြောကြပါတယ်။
ကဲဒါဆိုရင်တော့ integers နှင့် float ကို ဘာကြောင့် discrete number နှင့် Continuous numberလို့ ဘာကြောင့် ခေါ်တာလဲဆိုတာသိပြီးလို့ယူဆပါတယ်။
Microsoft Team မဟုတ်တော့ဘဲ Zoom နှင့် သင်မည့်ဖြစ်၍ နက်ဖြန်ည 7နာရီတွက် Zoom Linkကို mail များမှတဆင့်ပို့ထားပြီးပြီဖြစ်ပါသည်။
မရောက်သေးပါက page messagerတွင်လာရောက်အကြောင်းကြားနိုင်ပါသည်။
Foundation of Logic : Pseudo Code and Flowcharts
Programming Syntax တွေကိုမလေ့လာခင် Pseudo Code and Flowcharts ကိုအရင်လေ့လာကြရအောင်.......🧑🏫👩🏫
Pseudo Code ဆိုတာက Algorithms(ကိုယ်လုပ်မည့်အလုပ်(သို့) Computer ကိုခိုင်းဖို့အတွက်instructions တွေကို step by step ရေးသားထားသော Procedure) တွေကို design ချဖို့အတွက်သုံးတဲ့နည်းလမ်းတွေထဲက တစ်ခုဖြစ်ပါတယ်။ နားလည်ရလွယ်ကူသော English စာသားတွေနှင့်ရေးလေ့ရှိပါတယ်။ Flowcharts ဆိုတာကလဲ Pseudo code လို့ပါဘဲ ဒါမဲ့ သူကတော့ graphics symbols တွေနဲ့ဆွဲရတာဖြစ်ပါတယ်။ Algorithms တွေကို Programming Languages နဲ့ တိုက်ရိုက် implementation လုပ်တာထက် ဖတ်ရလွယ်ကူတဲ့ Pseudo code (သို့) Flowcharts နှင့် အရင် design ဆွဲတာက ခက်ခဲတဲ့ အလုပ်ကို လွယ်ကူစွာဖြေရှင်းလိုက်တာနှင့် သဘောတရားတူပါတယ်။
Pseudo Code and Flowcharts ကို လေ့လာသင့်တဲ့သူတွေကတော့
👉 Programming ကိုလဲလေ့လာချင်တယ် ခက်မှာလဲကြောက်နေတယ်ဆိုတဲ့သူတွေလေ့လာသင့်ပါတယ်။ ဘာကြောင့်လဲဆိုတော့ Pseudo code က Programming Languages အမျိုးမျိုးရဲ့ syntax တွေကို မေ့ထားပြီး Logic ကိုအဓိကလေ့လာလို့ရတာဖြစ်ပါတယ်။ Programming Languages တွေကိုမလေ့လာခင် Programming Logic တွေ thinking တွေကို အရင်ထိတွေထားတာက Programming Languages ကိုလေ့လာသောအခါ ပိုပြီးနားလည်လွယ်ပါတယ်။
Course OutlinesOverview of Computers and Programming VariablesOperatorsBasic Concepts of ModularizationFeatures of Good Program DesignUnderstanding of Unstructured LogicUnderstanding of Three Basic StructuresStructuring and Modularizing Unstructured LogicMaking DecisionsLoopingArrays
🕖 သင်တန်းအချိန် : 7PM to 9PM(Sat/Sun)
🗓️ သင်တန်းကာလ : Dec 9 to Feb 25
📧 သင်မည့်ပုံစံ : Online Class(Microsoft Teams)
💰သင်တန်းကြေး : Free
တက်ရောက်မည့်သူများအနေနှင့် လိုက်နာသင့်သော စည်းကမ်းချက်ကအတန်းမှန်မှန်တက်ရောက်ပြီး assignments များပေးပါက သတ်မှတ်ရက်တွင်းတင်ရပါမည်။
တက်ရောက်မည့်သူများ အောက်ပါလင့်က တဆင့်စာရင်းပေးနိုင်ပါပြီ
https://forms.gle/8kupPezwMhoDuBFU8
အချက်လက်များ မှန်ကန်စွာဖြည့်ပေးဖို့တောင်းဆိုပါတယ်။ သင်ကြားမည့်ရက်နီးလာပါက သက်ဆိုင်ရာ gmail များသို့ Meeting Link အား ပို့ထားပေးမည်ဖြစ်ပါသည်။
Registration will close tomorrow (6 Dec 2023).
Foundation of Logic : Pseudo Code and Flowcharts
Programming Syntax တွေကိုမလေ့လာခင် Pseudo Code and Flowcharts ကိုအရင်လေ့လာကြရအောင်.......🧑🏫👩🏫
Pseudo Code ဆိုတာက Algorithms(ကိုယ်လုပ်မည့်အလုပ်(သို့) Computer ကိုခိုင်းဖို့အတွက်instructions တွေကို step by step ရေးသားထားသော Procedure) တွေကို design ချဖို့အတွက်သုံးတဲ့နည်းလမ်းတွေထဲက တစ်ခုဖြစ်ပါတယ်။ နားလည်ရလွယ်ကူသော English စာသားတွေနှင့်ရေးလေ့ရှိပါတယ်။ Flowcharts ဆိုတာကလဲ Pseudo code လို့ပါဘဲ ဒါမဲ့ သူကတော့ graphics symbols တွေနဲ့ဆွဲရတာဖြစ်ပါတယ်။ Algorithms တွေကို Programming Languages နဲ့ တိုက်ရိုက် implementation လုပ်တာထက် ဖတ်ရလွယ်ကူတဲ့ Pseudo code (သို့) Flowcharts နှင့် အရင် design ဆွဲတာက ခက်ခဲတဲ့ အလုပ်ကို လွယ်ကူစွာဖြေရှင်းလိုက်တာနှင့် သဘောတရားတူပါတယ်။
Pseudo Code and Flowcharts ကို လေ့လာသင့်တဲ့သူတွေကတော့
👉 Programming ကိုလဲလေ့လာချင်တယ် ခက်မှာလဲကြောက်နေတယ်ဆိုတဲ့သူတွေလေ့လာသင့်ပါတယ်။ ဘာကြောင့်လဲဆိုတော့ Pseudo code က Programming Languages အမျိုးမျိုးရဲ့ syntax တွေကို မေ့ထားပြီး Logic ကိုအဓိကလေ့လာလို့ရတာဖြစ်ပါတယ်။ Programming Languages တွေကိုမလေ့လာခင် Programming Logic တွေ thinking တွေကို အရင်ထိတွေထားတာက Programming Languages ကိုလေ့လာသောအခါ ပိုပြီးနားလည်လွယ်ပါတယ်။
Course OutlinesOverview of Computers and Programming VariablesOperatorsBasic Concepts of ModularizationFeatures of Good Program DesignUnderstanding of Unstructured LogicUnderstanding of Three Basic StructuresStructuring and Modularizing Unstructured LogicMaking DecisionsLoopingArrays
🕖 သင်တန်းအချိန် : 7PM to 9PM(Sat/Sun)
🗓️ သင်တန်းကာလ : Dec 9 to Feb 25
📧 သင်မည့်ပုံစံ : Online Class(Microsoft Teams)
💰သင်တန်းကြေး : Free
တက်ရောက်မည့်သူများအနေနှင့် လိုက်နာသင့်သော စည်းကမ်းချက်ကအတန်းမှန်မှန်တက်ရောက်ပြီး assignments များပေးပါက သတ်မှတ်ရက်တွင်းတင်ရပါမည်။
တက်ရောက်မည့်သူများ အောက်ပါလင့်က တဆင့်စာရင်းပေးနိုင်ပါပြီ
https://forms.gle/8kupPezwMhoDuBFU8
အချက်လက်များ မှန်ကန်စွာဖြည့်ပေးဖို့တောင်းဆိုပါတယ်။ သင်ကြားမည့်ရက်နီးလာပါက သက်ဆိုင်ရာ gmail များသို့ Meeting Link အား ပို့ထားပေးမည်ဖြစ်ပါသည်။
Software Development Life Cycle(SDLC)
SDLC ဆိုတာက Software ကိုdevelopလုပ်မယ့်သူတိုင်းလိုက်နာသင့်တဲ့ Framework တစ်ခုပါ။ လိုက်နာသင့်တဲ့အကြောင်းအရင်းကတော့ ကိုယ်develop လုပ်မယ့် software ကို structure ကျစေပြီး Software အပ်တဲ့ client (သို့) user (သို့) customer ကို စိတ်ကျေနပ်မှုပေးနိုင်တဲ့အပြင် Software ဖန်တီးနေချိန်(သို့) Software ဖန်တီးပြီးချိန် (သို့) Software အသုံးပြုချိန် စတဲ့တစ်ချိန်ချိန်မှာ ဖြစ်လာနိုင်မယ့်risks နှင့် errors တွေကိုလည်း လျော့ချပေးနိုင်ပါတယ်။ ဒါ့အပြင် မှန်းထားတဲ့အချိန်အတွင်း သတ်မှတ်ထားတဲ့ budgetနဲ့အညီquality ကောင်းကောင်းsoftwareတစ်ခုကိုရရှိနိုင်ပါလိမ့်မယ်။
SDLC မှာSoftware တစ်ခု develop လုပ်ဖို့အတွက် အောက်ကအဆင့်တွေလိုပါတယ်။
1. Requirement Gathering
2. Requirement Analysis
3. Design
4. Development (Coding)
5. Testing
6. Deployment(Operation)
7. Maintenance
ကဲ မြင်သာတဲ့ဥပမာလေးတွေနဲ့လေ့လာကြည့်ရအောင်
1.Requirement Gathering
Requirement Gathering ဆိုတာက Software လာအပ်တဲ့ client (Software အသုံးပြုမည့် user ၊Software နှင့် သက်ဆိုင်တဲ့ဘယ်သူမဆို)သူတို့Software မှာထည့်ချင်တဲ့functions ပိုင်း performance ပိုင်းစသဖြင့် ဘာတွေ လိုအပ်လဲဆိုပြီး သူတို့လိုအပ်တာမှန်သမျှကို interview , survey စသဖြင့် နည်းပေါင်းစုံနှင့် မေးမြန်းစုဆောင်းတာဖြစ်ပါတယ်။
ဥပမာ-ကိုယ်က တစ်စုံတစ်ယောက်ကို သဘောကျတယ်ဆိုရင် သူကဘာတွေကြိုက်တတ်တာလဲဘာတွေလုပ်တတ်တာလဲ ဘာတွေလိုအပ် နေလဲ လိုက်မှတ်သလိုပဲ ကိုယ်ဖန်တီးမယ့်software ကိုအသုံးပြုမယ့် user တွက် ဘယ်လို functions တွေ security ၊ reliable စသဖြင့် ဘာတွေလိုအပ်သလဲဆိုပြီး လိုအပ်ချက်တွေစုဆောင်းရပါတယ်။
2. Requirement Analysis
Requirement Analysis ဆိုတာက client တောင်းဆိုထားသော requirements အားလုံးကိုဖြည်းစည်းပေးနိုင်ပါ့မလားဆိုပြီးသေချာ analysis လုပ်ခြင်းဖြစ်ပါတယ်။ ပိုပြီး software develop လုပ်ဖို့ဖြစ်နိုင်၊မဖြစ်နိုင်ဆိုတာ သေချာအောင်လည်း modeling ၊ prototyping နှင့် use case တွေလဲ လုပ်လေ့ရှိပါသေးတယ်။ ဥပမာ အနေနှင့် ကိုယ်သဘောကျနေတဲ့သူရဲ့ လိုအပ်ချက်တွေကိုဖြည်းစည်းပေးနိုင်မလား ဆိုပြီးသေချာအောင် စီစစ်စဥ်းစားတာနှင့် သဘောတရားတူပါတယ်။ သူ့လိုအပ်ချက်တွေ ကိုယ်ဖြည့်စည်းပေးနိုင်ရင်ရေရှည်လက်တွဲနိုင်သလိုဘဲပေါ့။
3. Design
ရရှိလာတဲ့requirements ပေါ်မူတည်ပြီး Software external (သို့) internal Design တွေကို ဆွဲရပါတယ်။ တနည်းအားဖြင့် User ဘက်ခြမ်းကနေမြင်ရမယ့် User Interface နှင့် User ဘက်ကနေရရှိမည့် Data တွေကို Program ထဲမှာဘယ်လိုသိမ်းထားမလဲဆိုတဲ့Designနဲ့ Program အလုပ်လုပ်ပုံ ကိုDesign ဆွဲခြင်းဖြစ်ပါတယ်။ဒီအခြေနေကတော့ ကိုယ်သဘောကျတဲ့ partner နဲ့ date ဖို့တွက် plan ချတဲ့သဘောနဲ့ဆင်တူပါတယ်။ date တဲ့အခါ ဘာလေးဝတ်သွားမယ် ဘယ်နေရာသွားကြမလဲစသဖြင့် စီစဥ်တဲ့အဆင့်ဖြစ်သွားပါပြီ။
4. Development
ဆွဲထားတဲ့design ပေါ်မူတည်ပြီး Software နဲ့User အပြန်လှန် အလုပ်လုပ်နိုင်ဖို့အတွက် Coding ရေးသားခြင်းဖြစ်ပါတယ်။ Software တကယ်အလုပ် လုပ်ဖို့တွက် လက်တွေ့အကောင်ထည်ဖော်ခြင်းပါ။ ဒီအဆင့်က ကိုယ်ရဲ့ partner ကိုအချိန်တွေပေး၊ သူလိုအပ်တာတွေကို သေချာ ဂရုစိုက် ပေးနေတဲ့ အခြေနေသို့ရောက်သွားပါပြီ။
5. Testing
Testing ဆိုတာကတော့ Software ကို develop လုပ်ပြီးသွားပေမဲ့ Software က errors တွေရှင်းသွားပြီးလား၊ Functions တွေက အဆင်ပြေပြေ အလုပ်လုပ်ရဲ့လား၊ ပြောထားခဲ့တဲ့ requirements တွေနဲ့ကိုက်ရဲ့လား reliability တွေ security တွေရော အဆင်ပြေရဲ့လား စသဖြင့် Software ကို စစ်ဆေးခြင်းဘဲဖြစ်ပါတယ်။ ဒါကတော့ တစ်ဦးနှင့်တစ်ဦးနားလည်မှုတွေ ဘယ်လောက်ရှိနေပြီး communication လုပ်ရတာအဆင်ပြေရဲ့လား ရေရှည်တွဲဖို့ အဆင်ပြေပြီးလားဆိုတာတွေ test လုပ်တာနဲ့တူပါတယ်။
6. Deployment
Software ကို Testing လုပ်ပြီးသွားပြီ errors တွေလဲမရှိတော့ဘူးဆိုရင်တော့ Software ကို တကယ်အသုံးပြုမည့်နေရာမှာ install လုပ်ပြီးအသုံးပြုနိုင်ပါပြီ။ ဒီ stage ကတော့ ကိုယ့်partnerကို official တွဲတဲ့အနေထား ဖြစ်ပါတယ်။
7. Maintenance
Software ကိုအသုံးပြုနေရင်းနှင့် issues တစ်ခုခုဖြစ်တာ၊ user က functions ထပ်တိုးချင်တာ ၊ performance ပိုကောင်းအောင်လုပ်တာ၊ ခေတ်နှင့်အညီ technology ပြောင်းသုံးချင်တာ စသဖြင့်လိုအပ်လာတဲ့ပေါ်မူတည်ပြီး software ကို modification လုပ်ဆောင်ခြင်းပါ။ Relationship မှာဆိုရင်တော့ တွဲနေရင်းပြဿနာတစ်ခုခုဖြစ်ရင် ရှေ့ဆက်ဖို့အတွက် ညှိနှိုင်းပြီး ပြဿနာတွေကို ဖြေရှင်းတာဘဲဖြစ်ပါတယ်။¬
ကဲ အခုဆိုရင်တော့ SDLC ကိုသဘောပေါက်တဲ့အပြင် ရေရှည်ခိုင်မြဲမယ့် relationship ကို ဘယ်လိုတည်ဆောက်မလဲဆိုတာလဲ သိသွားကြပြီးလို့ ယုံကြည်ပါတယ်။🫢😜
မှတ်ချက်။ ။ တစ်ချို့နေရာတွေမှာ SDLC ကို 6 phases နှင့်ရေးသား၍ တစ်ချို့နေရာများတွင် 7 phases နှင့်ရေးသားပြီး စကားလုံးအသုံးနှုန်းများအနည်းငယ်ကွာခြားနိုင်ပါသည်။
Photo reference: https://axiomq.com/blog/the-utter-sdlc-guide-core-phases-described/
Interface ဆိုတာဘာလဲ
Interface ဆိုတာ system တစ်ခုနှင့်တစ်ခု ချိတ်ဆက်ဖို့အတွက် မရှိမဖြစ်လိုအပ်တဲ့ အစိတ်အပိုင်းတစ်ခုဖြစ်တယ်။ ဥပမာ cable ကြိုးတွေနှင့် computer ချိတ်ဆက်တာ၊ USB stick (သို့) USB ကြိုးတွေကို အသုံးပြုပြီး computer နှင့် ချိတ်ဆက်တာ၊ keyboard (သို့) mouse ကို အသုံးပြုပြီး computer ကို အလုပ်ခိုင်းစေတာ စသည်ဖြင့် တစ်ခုနှင့်တစ်ခု ချိတ်ဆက်ပြီး အလုပ်လုပ်ဖို့ရန်အတွက် interface သည် မရှိမဖြစ်လိုအပ်ပါတယ်။ အဓိက ကတော့ system တစ်ခုနှင့်တစ်ခု ချိတ်ဆက်ပြီး information အပြန်အလှန် ဖလှယ်လို့ရအောင်လုပ်ပေးတာဘဲဖြစ်တယ်။
ယေဘုယအားဖြင့် hardware interface ၊ software interface နှင့် user interface (software interface ရဲ့ အစိတ်ပိုင်းတစ်ခုပါဘဲ) ဆိုပြီ အမျိုးအစား (၃) မျိုးရှိပါတယ်။
•Hardware Interface
Electronic devices တစ်ခုတစ်ခု ချိတ်ဆက်ဖို့အတွက် အသုံးပြုရတဲ့ interface က hardware interface ဘဲဖြစ်ပါတယ်။ ဥပမာအားဖြင့် printer နှင့် computer ချိတ်ဖို့အတွက်ဆို ကျွန်တော်တို့ USB port ကို သုံးရပါတယ်။ ဒါဆို USB port က hardware interface ဘဲဖြစ်ပါတယ်။ ဒီလိုဘဲ keyboard, mouse, bus, storage devices, I/O(input/output) devices, Ethernet စသည်ဖြင့် electronic devices တွေက တစ်ခုနှင့်တစ်ခု
ချိတ်ဆက်ဖို့အတွက် သက်ဆိုင်ရာ hardware interfaces ကိုသုံးကြပါတယ်။
•Software Interface
Applications အချင်းချင်း program အချင်းချင်း ချိတ်ဆက်ဖို့ အသုံးပြုတဲ့ interface ကို software interface လို့ ခေါ်ပါတယ်။ ထို့အပြင် software မှ hardware ဆီသို့ ချိတ်ဆက်တဲ့အချိန်တွင်လဲ software interface ကို သုံးလေ့ရှိပါတယ်။
•User Interface(UI)
UI ကတော့ user နှင့် ကွန်ပျူတာကြား အပြန်အလှန် ချိတ်ဆက်ပေးတဲ့ အရာတစ်ခုဖြစ်ပါတယ်။ ဥပမာအားဖြင့် user က TV ကြည်ချင်တယ်ဆိုရင် user နှင့် TV ကို ချိတ်ဆက်ပေးနိုင်တာ remote ဆိုရင် remote က user interface ဘဲဖြစ်ပါတယ်။ user interface ကတော့ ပုံမှန်အားဖြင့် အမျိုးအစား ၅ မျိုးရှိပါတယ်။
• Common Line Interface(CLI)
• Graphical User Interface(GUI)
• Menu Driven Interface(MDI)
• Form Based Interface(FBI)
• Natural Language Interface(NLI)
ဆိုပြီးရှိပါတယ်။ နောက်ပိုင်းထပ်တိုးလာတဲ့ interfaces တွေလဲရှိပါသေးတယ်။
အယ်ဒါဆိုရင်တော့ interfaces ဆိုတာလေးကိုနားလည်ပြီးလို့ ယူဆလိုက်ပါပြီ ။☺️
Foundation of Logic : Pseudo Code and Flowcharts
Programming Syntax တွေကိုမလေ့လာခင် Pseudo Code and Flowcharts ကိုအရင်လေ့လာကြရအောင်.......🧑🏫👩🏫
Pseudo Code ဆိုတာက Algorithms(ကိုယ်လုပ်မည့်အလုပ်(သို့) Computer ကိုခိုင်းဖို့အတွက်instructions တွေကို step by step ရေးသားထားသော Procedure) တွေကို design ချဖို့အတွက်သုံးတဲ့နည်းလမ်းတွေထဲက တစ်ခုဖြစ်ပါတယ်။ နားလည်ရလွယ်ကူသော English စာသားတွေနှင့်ရေးလေ့ရှိပါတယ်။ Flowcharts ဆိုတာကလဲ Pseudo code လို့ပါဘဲ ဒါမဲ့ သူကတော့ graphics symbols တွေနဲ့ဆွဲရတာဖြစ်ပါတယ်။ Algorithms တွေကို Programming Languages နဲ့ တိုက်ရိုက် implementation လုပ်တာထက် ဖတ်ရလွယ်ကူတဲ့ Pseudo code (သို့) Flowcharts နှင့် အရင် design ဆွဲတာက ခက်ခဲတဲ့ အလုပ်ကို လွယ်ကူစွာဖြေရှင်းလိုက်တာနှင့် သဘောတရားတူပါတယ်။
Pseudo Code and Flowcharts ကို လေ့လာသင့်တဲ့သူတွေကတော့
👉 Programming ကိုလဲလေ့လာချင်တယ် ခက်မှာလဲကြောက်နေတယ်ဆိုတဲ့သူတွေလေ့လာသင့်ပါတယ်။ ဘာကြောင့်လဲဆိုတော့ Pseudo code က Programming Languages အမျိုးမျိုးရဲ့ syntax တွေကို မေ့ထားပြီး Logic ကိုအဓိကလေ့လာလို့ရတာဖြစ်ပါတယ်။ Programming Languages တွေကိုမလေ့လာခင် Programming Logic တွေ thinking တွေကို အရင်ထိတွေထားတာက Programming Languages ကိုလေ့လာသောအခါ ပိုပြီးနားလည်လွယ်ပါတယ်။
Course OutlinesOverview of Computers and Programming VariablesOperatorsBasic Concepts of ModularizationFeatures of Good Program DesignUnderstanding of Unstructured LogicUnderstanding of Three Basic StructuresStructuring and Modularizing Unstructured LogicMaking DecisionsLoopingArrays
🕖 သင်တန်းအချိန် : 7PM to 9PM(Sat/Sun)
🗓️ သင်တန်းကာလ : Dec 9 to Feb 25
📧 သင်မည့်ပုံစံ : Online Class(Microsoft Teams)
💰သင်တန်းကြေး : Free
တက်ရောက်မည့်သူများအနေနှင့် လိုက်နာသင့်သော စည်းကမ်းချက်ကအတန်းမှန်မှန်တက်ရောက်ပြီး assignments များပေးပါက သတ်မှတ်ရက်တွင်းတင်ရပါမည်။
တက်ရောက်မည့်သူများ အောက်ပါလင့်က တဆင့်စာရင်းပေးနိုင်ပါပြီ
https://forms.gle/8kupPezwMhoDuBFU8
အချက်လက်များ မှန်ကန်စွာဖြည့်ပေးဖို့တောင်းဆိုပါတယ်။ သင်ကြားမည့်ရက်နီးလာပါက သက်ဆိုင်ရာ gmail များသို့ Meeting Link အား ပို့ထားပေးမည်ဖြစ်ပါသည်။
Click here to claim your Sponsored Listing.
Category
Contact the school
Telephone
Website
Address
Opening Hours
Monday | 09:00 - 17:00 |
Tuesday | 09:00 - 21:00 |
Wednesday | 09:00 - 21:00 |
Thursday | 09:00 - 21:00 |
Friday | 09:00 - 21:00 |
Saturday | 09:00 - 21:00 |
Sunday | 09:00 - 21:00 |
BEHS (3) Mingalar Taung Nyunt, Upper Pansodan Street
Yangon
Welcome to our reunion Taung Nyunt 3 students page and I hope all of our friends who are from BEHS 3
No. 9 Kan Street, Hlaing Township
Yangon, 11012
Enhancing educational and career opportunities for Myanmar youth since 2009.
Yangon, 1
The Official Page of Myanmar Internet Journal, which is the leading IT journal in Myanmar, focusing o
Yangon
တရုတ်စကားကို မြန်မြန်နဲ့လွယ်လွယ် တတ်လိုပါက ဒီပေ့ချ်က သင့်အတွက်နေရာမှန်ပါပဲခင်ဗျာ
Pansodan Road (Middle Block)
Yangon, 11182
ရန်ကုန်ကျောင်းခွဲများကို ဆက်သွယ်ရန် ဖုန်းနံပါတ် - 09942000120 09942000130 မော်လမြိုင်ကျောင်းခွဲကို ဆက်သွယ်ရန် ဖုန်းနံပါတ် - 09768148233 09978391056 ဘားအံကျောင်းခွဲကို ဆက်သွယ်...
No. 876, 2nd Floors, Nga Moe Yeik Ward, Lay Daunt Kan Road, Thingangyun Township
Yangon
Education