HND Subjects Introduction

Software Engineer တစ်ယောက်အနေနဲ့ ခိုင်မာစွာ ရပ်တည်နိုင်ရန် လိုအပ်သည့် Knowledge Areas နှင့် မတူညီတဲ့ Skill Set များ အားလုံးကို သင်ကြားပေးခြင်း ဖြစ်ပါသည်။

1. Programming

ဤဘာသာရပ်တွင် Software နှင့် Application များ ဖန်တီးရေးသားနိုင်ရန် လိုအပ်သော Programming Concepts၊ Algorithms နှင့် Problem-Solving Skills များကို သင်ယူရပါမည်။

သင်ကြားရာတွင် Java Programming Language ကို အသုံးပြုသော်လည်း ရည်ရွယ်ချက်မှာ ထိုLanguage  တစ်ခုတည်းကိုသာ တတ်မြောက်စေရန်မဟုတ်ဘဲ Programming Logic၊ Object-Oriented Programming (OOP)၊ Debugging နှင့် Software Development Principles များကို နားလည်တတ်မြောက်စေရန် ဖြစ်ပါသည်။

ထို့ကြောင့် ကျောင်းသားများအနေဖြင့် Programming အခြေခံသဘောတရားများကို ကျွမ်းကျင်စွာ နားလည်ပြီးနောက် Python, JavaScript, C# အစရှိသည့် Programming Languages များနှင့် React, Laravel ကဲ့သို့သော Frameworks များကိုလည်း လွယ်ကူစွာ ဆက်လက်လေ့လာအသုံးချနိုင်မည် ဖြစ်ပါသည်။

2. Networking

ဤဘာသာရပ်တွင် Computer များနှင့် Devices များ အချင်းချင်း ချိတ်ဆက်ဆက်သွယ်ပုံ၊ Data များ ပေးပို့လက်ခံပုံနှင့် Network Infrastructure များ၏ အခြေခံသဘောတရားများကို သင်ယူရပါမည်။

LAN, WAN, IP Addressing, Routing, Switching နှင့် Network Protocols များကို လေ့လာရမည်ဖြစ်ပြီး Network များကို Design ပြုလုပ်ခြင်း၊ Configure လုပ်ခြင်းနှင့် Troubleshooting ပြုလုပ်ခြင်းတို့ကိုလည်း လက်တွေ့လေ့ကျင့်ရပါမည်။

ဤဘာသာရပ်မှတစ်ဆင့် Computer Networks များ၏ လုပ်ဆောင်ပုံကို နားလည်သဘောပေါက်ပြီး Network Engineer, System Administrator နှင့် Cyber Security ဆိုင်ရာ လုပ်ငန်းခွင်များအတွက် အရေးကြီးသော အခြေခံကျွမ်းကျင်မှုများကို ရရှိစေမည် ဖြစ်ပါသည်။

3. Professional Practice

ဤဘာသာရပ်တွင် လုပ်ငန်းခွင်အတွက် လိုအပ်သော Communication Skills, Critical Thinking နှင့် Problem-Solving Skills များကို ဖွံ့ဖြိုးတိုးတက်စေရန် သင်ယူရပါမည်။

ကျောင်းသားများသည် Real-world Scenarios များကို အခြေခံ၍ ပြဿနာများအား ခွဲခြမ်းစိတ်ဖြာလေ့လာခြင်း၊ Qualitative နှင့် Quantitative Data များကို အသုံးပြု၍ အချက်အလက်များအပေါ် အခြေခံသော သုံးသပ်ချက်များ ထုတ်ဖော်ခြင်း၊ SWOT Analysis၊ Root Cause Analysis (5 Whys) နှင့် Decision-Making ကဲ့သို့သော Techniques များကို အသုံးပြု၍ ကျိုးကြောင်းဆီလျော်သော ဆုံးဖြတ်ချက်များ ချမှတ်ခြင်းနှင့် ဝေဖန်ပိုင်းခြားစဉ်းစားနိုင်စွမ်းများကို လေ့ကျင့်ကာ လိုအပ်သော Professional Skills များကို ဖွံ့ဖြိုးတိုးတက်စေမည့် ဘာသာရပ်တစ်ခု ဖြစ်ပါသည်။

4. Database Design & Development

ဤဘာသာရပ်တွင် လုပ်ငန်းခွင်သုံး Data များကို ထပ်ခြင်း၊ ပိုခြင်း၊ လွဲမှားခြင်း မရှိစေဘဲ မှန်ကန်တိကျ၍ ဆက်စပ်မှုရှိသောData များကို စနစ်တကျ ချိတ်ဆက်သိမ်းဆည်းထားသည့် Relational Database များအား ဒီဇိုင်းရေးဆွဲခြင်း၊ တည်ဆောက်ခြင်းနှင့် စီမံခန့်ခွဲခြင်းတို့ကို သင်ယူရမည် ဖြစ်ပါသည်။

ကျောင်းသားများသည် Data များအကြားရှိ Relationships များကို သတ်မှတ်ခြင်း၊ Database Normalization ကို အသုံးပြု၍ Data Redundancy များကို လျှော့ချခြင်းနှင့် Data Integrity ကို ထိန်းသိမ်းခြင်းတို့ကို လေ့လာရမည်ဖြစ်ပါသည်။

ထို့အပြင် လုပ်ငန်းလိုအပ်ချက်များအတွက် တိကျသော အချက်အလက်များကို လျင်မြန်စွာ ရှာဖွေထုတ်ယူရန် သို့မဟုတ် ပြင်ဆင်စီမံနိုင်သည့် Queries များ ရေးသားခြင်းကိုလည်း သင်ယူကာ Reports နှင့် Dashboards များ ဖန်တီးခြင်း တို့ကို လက်တွေ့လေ့လာရမည် ဖြစ်ပါသည်။

5. Security

ဤဘာသာရပ်တွင် Data များ၊ Computer Systems များနှင့် Networks များအပေါ်သက်ရောက်နိုင်သော Security Risks နှင့် Vulnerabilities (တိုက်ခိုက်ခံရနိုင်သော အားနည်းချက်များ) ကို ဖော်ထုတ်သုံးသပ်ခြင်း၊ Data များနှင့် Systems များကို ကာကွယ်နိုင်သော Security Measures များ ရွေးချယ်အသုံးပြုခြင်းနှင့် ဖြစ်ပေါ်လာနိုင်သော Security Incidents များကို ထိရောက်စွာ တုံ့ပြန်ဖြေရှင်းနိုင်ရန် သင်ယူရမည် ဖြစ်ပါသည်။

ထို့အပြင် Networks များနှင့် Information Systems များ၏ လုံခြုံရေးကို မြှင့်တင်နိုင်ရန် Security Technologies များ၊ Security Policies များနှင့် Risk Management Practices များကို လက်တွေ့လေ့လာရမည် ဖြစ်ပါသည်။

6. Planning a Computing Project

ဤဘာသာရပ်တွင် လုပ်ငန်းနယ်ပယ်အသီးသီး၏ လိုအပ်ချက်များကို သုတေသနပြုလေ့လာပြီး ပြဿနာများကို နည်းပညာဖြင့် မည်သို့ဖြေရှင်းနိုင်မည်ကို လေ့လာသုံးသပ်ရမည် ဖြစ်ပါသည်။

ကျောင်းသားများသည် Business Problems နှင့် Industry Requirements များကို ခွဲခြမ်းစိတ်ဖြာသုံးသပ်ခြင်း၊ Project Idea များ၏ အားသာချက်၊ အားနည်းချက်များကို စနစ်တကျ စိစစ်ခြင်းနှင့် Project တစ်ခုကို အဆင့်လိုက် ခွဲခြား၍ စီမံကိန်းရေးဆွဲခြင်း၊ အလုပ်တာဝန်များကို ခွဲခြားသတ်မှတ်ခြင်း၊ စီမံကိန်းအတွင်း ဖြစ်ပေါ်နိုင်သော အခွင့်အလမ်းများနှင့် စိန်ခေါ်မှုများကို သုံးသပ်နိုင်ရန် နည်းလမ်းများကို လေ့လာရမည်ဖြစ်ပါသည်။

ဤဘာသာရပ်မှတစ်ဆင့် Research Skills, Analytical Thinking, Decision Making နှင့် Project Planning Skills များကို ဖွံ့ဖြိုးတိုးတက်စေမည် ဖြစ်ပါသည်။

7. Software Development Lifecycle (SDLC)

ဤဘာသာရပ်တွင် Software တစ်ခုကို စတင်စဉ်းစားခြင်းမှစ၍ လက်တွေ့အသုံးပြုနိုင်သည်အထိ အဆင့်လိုက် စနစ်တကျ တည်ဆောက်သည့် လုပ်ငန်းစဉ် (Software Development Lifecycle) ကို သင်ယူရမည် ဖြစ်ပါသည်။

ကျောင်းသားများသည် Software Project တစ်ခု၏ လိုအပ်ချက်များကို စတင်သတ်မှတ်ခြင်း၊ ဖြစ်နိုင်ခြေရှိမရှိ သုံးသပ်ခြင်း (Feasibility Study)၊ System Requirements များ စုဆောင်းခြင်း၊ Design ရေးဆွဲခြင်းနှင့် Software ကို တည်ဆောက်အကောင်အထည်ဖော်ခြင်းအထိ အဆင့်လိုက် လေ့လာရမည် ဖြစ်ပါသည်။

ထို့အပြင် Waterfall နှင့် Iterative ကဲ့သို့သော Software Development Models များကို နှိုင်းယှဉ်လေ့လာပြီး Project တစ်ခုအတွက် သင့်လျော်သော Development Approach ကို ရွေးချယ်နိုင်ရန် လေ့ကျင့်ရမည် ဖြစ်ပါသည်။

ဤဘာသာရပ်မှတစ်ဆင့် Software Development Process ကို နားလည်ခြင်း၊ Analytical Thinking နှင့် Project-Based Problem Solving Skills များကို ဖွံ့ဖြိုးတိုးတက်စေမည် ဖြစ်ပါသည်။

8. Maths for Computing

ဤဘာသာရပ်တွင် Computer Science နှင့် Software Development တို့၏ အခြေခံအုတ်မြစ်ဖြစ်သော Mathematical Principles များကို လေ့လာရမည် ဖြစ်ပါသည်။

ကျောင်းသားများသည် Number Theory, Probability Theory, Geometry, Vector Methods နှင့် Calculus ကဲ့သို့သော သဘောတရားများကို အသုံးပြု၍ Computing ပြဿနာများကို ခွဲခြမ်းစိတ်ဖြာဖြေရှင်းနိုင်ရန် လေ့ကျင့်ရမည် ဖြစ်ပါသည်။

ထို့အပြင် Data များကို သုံးသပ်ခြင်း၊ ဖြစ်နိုင်ခြေများကို ခန့်မှန်းတွက်ချက်ခြင်းနှင့် Computational Problems များအတွက် Logical Solution များ ရှာဖွေတတ်စေရန် ရည်ရွယ်ထားသော ဘာသာရပ်တစ်ခု ဖြစ်ပါသည်။ ဤဘာသာရပ်မှတစ်ဆင့် Analytical Thinking, Problem-Solving နှင့် Mathematical Reasoning Skills များကို ဖွံ့ဖြိုးတိုးတက်စေမည် ဖြစ်ပါသည်။

9. Computing Research Project

ဤဘာသာရပ်တွင် သတ်မှတ်ထားသော theme တစ်ခုအပေါ်အခြေခံ၍ Computing နှင့်ဆိုင်သော ပြဿနာတစ်ခုကို သုတေသနပြုလေ့လာပြီး Academic Research Project တစ်ခုအဖြစ် စနစ်တကျ တည်ဆောက်ရေးသားရမည် ဖြစ်ပါသည်။

ကျောင်းသားများသည် Research Topic တစ်ခုကို ရွေးချယ်ခြင်း၊ Research Aims နှင့် Objectives များ သတ်မှတ်ခြင်း၊ သုတေသနနည်းလမ်းများကို အသုံးပြု၍ အချက်အလက်များ စုဆောင်းသုံးသပ်ခြင်းနှင့် ရရှိလာသော ရလဒ်များအပေါ် အခြေခံ၍ သင့်လျော်သော သုံးသပ်ချက်များနှင့် အကြံပြုချက်များ ထုတ်ဖော်နိုင်ရန် လေ့ကျင့်ရမည် ဖြစ်ပါသည်။

ထို့အပြင် Research Process တစ်လျှောက်တွင် မိမိ၏ လေ့လာမှုအတွေ့အကြုံများကို ပြန်လည်သုံးသပ်ခြင်း၊ ပြဿနာဖြေရှင်းနိုင်စွမ်းနှင့် Academic Writing Skills များကို ဖွံ့ဖြိုးတိုးတက်စေမည် ဖြစ်ပါသည်။ Idea တစ်ခုကို မျှော်မှန်းချက်နဲ့မဟုတ်ဘဲ Evidence-based Research နဲ့ စနစ်တကျ သက်သေပြနိုင်အောင် သင်ပေးသည့် ဘာသာရပ် ဖြစ်ပါသည်။

10. Business Process Support

ဤဘာသာရပ်တွင် IT Systems၊ Data နှင့် Digital Technologies များက Business Processes များကို ပိုမိုထိရောက်အောင် မည်ကဲ့သို့ အထောက်အကူပြုနိုင်သည်ဆိုသည့် အခန်းကဏ္ဍကို လေ့လာရမည်ဖြစ်ပြီး Data များကို စုဆောင်းခြင်း၊ စီမံခန့်ခွဲခြင်း၊ ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် အသုံးဝင်သော Information များအဖြစ် ပြောင်းလဲအသုံးချနိုင်ရန် သင်ယူရမည် ဖြစ်ပါသည်။

ထို့အပြင် Data Science Technologies နှင့် Methodologies များကို အသုံးပြု၍ လက်တွေ့လုပ်ငန်းခွင်မှ ပြဿနာများကို သုံးသပ်ခြင်း၊ Data အပေါ်အခြေခံ၍ သင့်လျော်သော အကြံပြုချက်များ ထုတ်ဖော်ခြင်းနှင့် ဆုံးဖြတ်ချက်များ ချမှတ်နိုင်ရန် လေ့ကျင့်ရမည် ဖြစ်ပါသည်။

11. Discrete Maths

ဤဘာသာရပ်တွင် Software Engineering နှင့် Computer Science တို့၏ အခြေခံဖြစ်သော Logical Thinking နှင့် Problem-Solving Concepts များကို သင်ယူရမည် ဖြစ်ပါသည်။

ကျောင်းသားများသည် Set Theory, Graph Theory နှင့် Boolean Algebra ကဲ့သို့သော Discrete Mathematics Concepts များကို လေ့လာကာ Software Development, Programming နှင့် Cryptography တို့တွင် အသုံးပြုသော သင်္ချာဆိုင်ရာ သဘောတရားများကို နားလည်နိုင်ရန် လေ့ကျင့်ရမည် ဖြစ်ပါသည်။

ထို့အပြင် ပြဿနာများကို စနစ်တကျ ခွဲခြမ်းစိတ်ဖြာခြင်း၊ ယုတ္တိကျသော ဖြေရှင်းနည်းများ ရှာဖွေခြင်းနှင့် Digital Technologies များ၏ အခြေခံလုပ်ဆောင်ပုံများကို နားလည်သဘောပေါက်စေရန် ရည်ရွယ်ထားသော ဘာသာရပ်တစ်ခု ဖြစ်ပါသည်။

12. Applied Programming and Design Principles

ဤဘာသာရပ်တွင် Software တစ်ခုကို အလုပ်လုပ်ရုံသာမက ထိရောက်မှုရှိပြီး ပြုပြင်ထိန်းသိမ်းရလွယ်ကူသော အရည်အသွေးမြင့် Software အဖြစ် တည်ဆောက်နိုင်ရန် လိုအပ်သော Programming နှင့် Software Design Principles များကို သင်ယူရမည် ဖြစ်ပါသည်။

ကျောင်းသားများသည် Object-Oriented Programming (OOP), SOLID Principles, Design Patterns နှင့် Clean Coding Techniques များကို လေ့လာကာ ဖတ်ရှုနားလည်ရလွယ်ကူသော Code များ ရေးသားခြင်း၊ Software Components များကို ပြန်လည်အသုံးပြုနိုင်အောင် ဒီဇိုင်းရေးဆွဲခြင်းနှင့် အနာဂတ်တွင် လွယ်ကူစွာ တိုးချဲ့နိုင်သော Systems များ တည်ဆောက်နိုင်ရန် လေ့ကျင့်ရမည် ဖြစ်ပါသည်။

13. Data Structures & Algorithms

ဤဘာသာရပ်တွင် Software Applications များက Data များကို ထိရောက်စွာ စီမံခန့်ခွဲနိုင်ရန်နှင့် ပြဿနာများကို အကျိုးရှိစွာ ဖြေရှင်းနိုင်ရန် အသုံးပြုသော Data Structures နှင့် Algorithms များကို လေ့လာရမည် ဖြစ်ပါသည်။

ကျောင်းသားများသည် Data များကို စနစ်တကျ သိမ်းဆည်းဖွဲ့စည်းခြင်း၊ စီစဉ်ခြင်းနှင့် ရှာဖွေခြင်းအတွက် အသုံးပြုသော Data Structures များကို နားလည်သင်ယူရမည်ဖြစ်ပြီး Sorting, Searching နှင့် Navigation Algorithms များကို ဒီဇိုင်းရေးဆွဲကာ အကောင်အထည်ဖော်နိုင်ရန် လေ့ကျင့်ရမည် ဖြစ်ပါသည်။

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

14. Machine Learning

ဤဘာသာရပ်တွင် Computer Systems များက Data နှင့် အတွေ့အကြုံများမှ သင်ယူကာ ပုံစံများ (Patterns) ကို ရှာဖွေပြီး ခန့်မှန်းမှုများနှင့် ဆုံးဖြတ်ချက်များ ပြုလုပ်နိုင်စေသော Machine Learning ၏ အခြေခံသဘောတရားများကို လေ့လာရမည် ဖြစ်ပါသည်။

ကျောင်းသားများသည် Classification, Regression နှင့် Clustering ကဲ့သို့သော Machine Learning Problems များကို နားလည်သင်ယူရမည်ဖြစ်ပြီး Industry တွင် အသုံးများသော Machine Learning Algorithms များ၏ လုပ်ဆောင်ပုံနှင့် အသုံးချနိုင်သည့် နယ်ပယ်များကို လေ့လာရမည် ဖြစ်ပါသည်။

15. Application Development

ဤဘာသာရပ်တွင် လုပ်ငန်းခွင်မှ ပြဿနာများနှင့် လိုအပ်ချက်များကို သုံးသပ်ကာ ၎င်းတို့ကို ဖြေရှင်းပေးနိုင်သော Software Applications များကို စနစ်တကျ ဒီဇိုင်းရေးဆွဲ၊ တည်ဆောက်၊ စမ်းသပ်ခြင်းနှင့် အကဲဖြတ်နိုင်မှုကို သင်ယူရမည် ဖြစ်ပါသည်။

ကျောင်းသားများသည် Business Requirements များကို လေ့လာသုံးသပ်ခြင်း၊ Software Design Documents များ ရေးဆွဲခြင်း၊ သင့်လျော်သော Development Methodologies နှင့် Tools များကို ရွေးချယ်အသုံးပြုခြင်း၊ Functional Business Applications များကို တည်ဆောက်ခြင်းနှင့် Quality Assurance, Testing နှင့် Debugging Processes များကို လက်တွေ့အသုံးချနိုင်ရန် လေ့ကျင့်ရမည် ဖြစ်ပါသည်။

Business Problem ကို နားလည်သုံးသပ်ပြီး လက်တွေ့အသုံးပြုနိုင်သော Software Application တစ်ခုအဖြစ် အစမှအဆုံး ဖန်တီးတည်ဆောက်နိုင်စေရန် သင်ပေးသော ဘာသာရပ်ဖြစ်ပါသည်။