← Back to Books
Coding With C++

Coding With C++

No description

30,000 MMK

Course Details

C++ ဟာ ဂိမ်းဖန်တီးမှု (Game Development)၊ Virtual Reality ၊ real-time simulation နဲ့ အချိန်နဲ့အမျှ ငွေကြေးအရောင်းအဝယ်လုပ်တဲ့ high-frequency trading လိုမျိုး လုပ်ဆောင်ချက် ချက်ချင်းမြန်ဆန်ဖို့နဲ့ ထိရောက်ဖို့ အလွန်အရေးကြီးတဲ့ နယ်ပယ်တွေမှာ ထိပ်တန်းက ဦးဆောင်နေတဲ့ Programming Language တစ်ခု ဖြစ်ပါတယ်။ C++ က ဒီလောက်အထိ အစွမ်းထက်ရတဲ့ အကြောင်းရင်းတစ်ခုကတော့ ကွန်ပျူတာ စက်ပစ္စည်း (hardware) တွေနဲ့ တိုက်ရိုက်နီးပါး ထိထိရောက်ရောက် အလုပ်လုပ်နိုင်လို့ ဖြစ်ပါတယ်။ ဒါ့အပြင် သူက Object-Oriented Programming Language တစ်ခုလည်း ဖြစ်တာကြောင့် Program တွေ ဖန်တီးတည်ဆောက်တဲ့နေရာမှာ စိတ်ကြိုက်လိုသလို ပြင်ဆင်နိုင်မှု ၊ လွယ်ကူမှု ရှိစေပါတယ်။ ဒါကြောင့်မို့လို့ စက်အလုပ်လုပ်တဲ့ အရှိန်နှုန်း (speed) နဲ့ စွမ်းဆောင်ရည် (performance) ကို လုံးဝ အလျှော့အတင်းလုပ်လို့မရတဲ့ အခြေအနေမျိုးတွေမှာ လူတိုင်း မဖြစ်မနေ အားကိုးရတဲ့ language တစ်ခု ဖြစ်လာရခြင်း ဖြစ်ပါတယ်။ ဒီလို စိန်ခေါ်မှုများပြီး အရေးကြီးတဲ့ နယ်ပယ်တွေ (ဥပမာ - game development လိုနေရာမျိုး) မှာ C++ ကို အသုံးပြုနေရတာကြောင့် တခြားအလုပ်တွေထက် အခြေခံလစာ (base salary) ပိုမိုမြင့်မားပြီး C++ Developers တွေအတွက် အလုပ်အကိုင် လိုအပ်ချက်ဟာလည်း အများကြီး ရှိနေတာ ဖြစ်ပါတယ်။ ဒီစာအုပ်လေးမှာတော့ အောက်ပါ အကြောင်းအရာများကို လေ့လာရပါမယ်။

  • Beginner's Guide to C++
  • How to Run C++?

Beginner's Guide to C++

ဒီ သင်ခန်းစာ တွေက သင့်ကို C++ ရဲ့ ခိုင်မာတဲ့ အခြေခံအုတ်မြစ် (solid foundation) တွေ ရရှိစေမှာဖြစ်ပြီး သင့်ရဲ့ အသက်မွေးဝမ်းကျောင်း လုပ်ငန်းခွင်အတွက် နောက်ထပ် တက်လှမ်းမယ့် ခြေလှမ်းသစ် တွေအတွက်ပါ အဆင်သင့်ဖြစ်အောင် ပြင်ဆင်ပေးသွားမှာပါ။

Introduction to C++
C++ Fundamentals
  • C++ Keywords and Identifiers
  • C++ Variables, Literals and Constants
  • C++ Data Types
  • C++ Type Modifiers
  • C++ Constants
  • C++ Basic Input/Output
  • C++ Operators
Flow Control
  • C++ Relational and Logical Operators
  • C++ if, if...else and Nested if...else
  • C++ for Loop
  • C++ while and do...while Loop
  • C++ break Statement
  • C++ continue Statement
  • C++ goto Statement
  • C++ switch..case Statement
  • C++ Ternary Operator
Functions
  • C++ Functions
  • C++ User-defined Function Types
  • C++ Function Overloading
  • C++ Inline Functions
  • C++ Recursion
Arrays and Strings
  • C++ Arrays
  • Passing Array to a Function in C++ Programming
  • C++ Multidimensional Arrays
  • C++ String
  • C++ String Class
Pointers and References
  • C++ Pointers
  • C++ Pointers and Arrays
  • C++ References
  • C++ Call by Reference: Using pointers
  • C++ Memory Management: new and delete
Structure and Enumerations
  • C++ Structures
  • C++ Structure and Function
  • C++ Pointers to Structure
  • C++ Enumeration
Object Oriented Programming
  • C++ Classes and Objects
  • C++ Constructors
  • C++ Constructor Overloading
  • C++ Destructors
  • C++ Access Modifiers
  • C++ Encapsulation
  • C++ friend Function and friend Classes
Inheritance and Polymorphism
  • C++ Inheritance
  • C++ Public, Protected and Private Inheritance
  • C++ Multiple, Multilevel and Hierarchical Inheritance
  • C++ Function Overriding
  • C++ Virtual Functions
  • C++ Abstract Class and Pure Virtual Function
STL - List, Vector, Queue & Stack
  • C++ Standard Template Library
  • C++ STL Containers
  • C++ std::array
  • C++ Vectors
  • C++ List
  • C++ Forward List
  • C++ Queue
  • C++ Deque
  • C++ Priority Queue
  • C++ Stack
STL - Map & Set
  • C++ Map
  • C++ Set
  • C++ Multimap
  • C++ Multiset
  • C++ Unordered Map
  • C++ Unordered Set
  • C++ Unordered Multiset
  • C++ Unordered Multimap
STL - Iterators & Algorithms
  • C++ Iterators
  • C++ Algorithm
  • C++ Functor
Advanced Topics I
  • C++ Exceptions Handling (With Examples)
  • C++ File Handling
  • C++ Ranged for Loop
  • C++ Nested Loop
  • C++ Function Template
  • C++ Class Templates
  • C++ Type Conversion
  • C++ Type Conversion Operators
  • C++ Operator Overloading
Advanced Topics II
  • C++ 11
  • C++ Lambda
  • C++ Namespaces
  • C++ Preprocessors and Macros
  • C++ Storage Class
  • C++ Assert
  • C++ Buffers
  • C++ istream
  • C++ ostream

C++ from a Learning Perspective

ပွင့်ပွင့်လင်းလင်း ပြောရရင် C++ ဟာ လေ့လာရတာ အလွယ်ကူဆုံး Language တော့ မဟုတ်ပါဘူး။ တခြား programming languages တွေနဲ့ ယှဉ်ရင် လေ့လာရတာ ပိုပြီး စိန်ခေါ်မှု ရှိပါတယ်။ ဘာလို့လဲဆိုတာ ဥပမာလေးတစ်ခုနဲ့ ကြည့်လိုက်ရအောင်။

Course image

ထိပ်ကပုံလေးမှာ ကြည့်မယ်ဆိုရင် C++ ဟာ ကိန်းဂဏန်းနှစ်ခုပေါင်းတာကို အဖြေထုတ် (print) ပြဖို့အတွက်တင် တော်တော်လေး ရှုပ်ထွေးတဲ့ ရေးပုံရေးနည်း (syntaxes) တွေနဲ့ concepts တွေ သုံးထားတာကို တွေ့ရမှာပါ။ တကယ်လို့ သင့်ရဲ့ ရည်မှန်းချက်က ကွန်ပျူတာရဲ့ နောက်ကွယ်က အသေးစိတ် အလုပ်လုပ်ပုံတွေ (nitty-gritty) ကို စိတ်မ၀င်စားပဲ coding ကို မြန်မြန်ဆန်ဆန်ပဲ စတင်ချင်တာဆိုရင်တော့ Python ကို လေ့လာဖို့ စဉ်းစားသင့်ပါတယ်။ ဒါပေမဲ့ သင်က ခိုင်မာတောင့်တင်းတဲ့ coding အခြေခံအုတ်မြစ်တစ်ခု ရချင်တာ၊ ပြီးတော့ Program အလုပ်လုပ်တဲ့ အရှိန်နှုန်း (speed) နဲ့ စွမ်းဆောင်ရည် (performance) အမြင့်ဆုံးလိုအပ်တဲ့ စနစ်တွေကို တည်ဆောက်ချင်တာဆိုရင်တော့ C++ က အသင့်တော်ဆုံးပါပဲ။ ဘာလို့လဲဆိုတော့ C++ ဟာ ကွန်ပျူတာ hardware တွေနဲ့ memory တွေကို စိတ်ကြိုက် တိုက်ရိုက်ကိုင်တွယ် အလုပ်လုပ်ခွင့် ပေးထားလို့ ဖြစ်ပါတယ်။ မှန်ပါတယ်... C++ ဟာ လေ့လာရ အလွယ်ကူဆုံး programming language တော့ မဟုတ်ပါဘူး။ ဒါပေမဲ့ မဖြစ်နိုင်တာတော့ မဟုတ်ပါဘူး။ တခြားအရာတွေထက် ပိုပြီး အားစိုက်ထုတ်မှုနဲ့ ပိုပြီး စိတ်နှစ်မြှုပ်ထားဖို့တော့ လိုပါလိမ့်မယ်။ ဒါပေမဲ့ တစ်ခုတော့ သေချာတယ် ၊ သင်ဟာ ဒီ language ကို လေ့လာမိလို့ နောင်တရမှာ မဟုတ်ပါဘူး။

C++ as Career Choice

C++ ဟာ အရမ်းသုံးကောင်းမွန်ပြီး အောက်ပါ နယ်ပယ်အများအပြားမှာ အသုံးပြုလို့ရတဲ့ Programming Language တစ်ခုပဲဖြစ်ပါတယ်။

  • Game Development
  • Virtual Reality
  • Real-time Simulation
  • IoT (Internet of Things)
  • Browsers, OS, and Databases
  • High-Frequencey Trading

C++ ကို လေ့လာခြင်းက သင့်ရဲ့ အလုပ်အကိုင် အခွင့်အလမ်းတွေအတွက် အကျိုးကျေးဇူးအများကြီး ရှိစေမှာ သေချာပါတယ်။ ဒါပေမဲ့ program တစ်ခုကို မြန်မြန်ဆန်ဆန် တည်ဆောက်ဖို့နဲ့ ရိုးရှင်းဖို့ကို ဦးစားပေးတဲ့ နယ်ပယ်အချို့အတွက်တော့ C++ ဟာ အကောင်းဆုံး ရွေးချယ်မှု မဟုတ်နိုင်ပါဘူး။ ဥပမာအားဖြင့် သင်က web development၊ mobile app development ဒါမှမဟုတ် လုပ်ငန်းစဉ်တွေကို အလိုအလျောက် ခိုင်းစေဖို့အတွက် scripting နဲ့ data analysis ပိုင်းတွေကို စိတ်ဝင်စားတာဆိုရင်တော့ C++ က အသင့်တော်ဆုံး ရွေးချယ်မှု မဟုတ်ပါဘူး။ ဒီလို နယ်ပယ်တွေအတွက်ဆိုရင်တော့ web development အတွက် JavaScript၊ mobile app development အတွက် Kotlin, Swift (သို့) Dart နဲ့ scripting နဲ့ data analysis အတွက် Python စတဲ့ အစားထိုး အသုံးပြုနိုင်တဲ့ language တွေက ပိုပြီးတော့ သင့်တော်ပါလိမ့်မယ်။ လိုရင်းကို ပြောရရင်တော့ သင့်ရဲ့ အနာဂတ် အသက်မွေးဝမ်းကျောင်း ရွေးချယ်မှုတွေကပဲ သင် ဘယ် programming language ကို လေ့လာရမလဲဆိုတာကို အကောင်းဆုံး လမ်းညွှန်ပြသပေးသွားမှာ ဖြစ်ပါတယ်။

How to Run C++?

C++ ကို ကွန်ပျူတာထဲမှာ offline run လို့ရသလို ၊ အလွယ်တကူ run မယ်ဆိုရင် အောက်က Online Compiler Website ကနေ Code တွေရေးပြီး Run လို့ရပါတယ်။