โครงการอบรม C++ Programming for Beginners รุ่นที่ 1

หลักการและเหตุผล

หลักสูตรการเขียนโปรแกรมด้วย C++ เป็นหลักสูตรที่เหมาะสำหรับผู้ที่ต้องการเริ่มต้นศึกษาเกี่ยวกับการเขียนโปรแกรมด้วยคุณสมบัติของตัวภาษา C++ ที่สามารถทำงานได้ทั้งในรูปแบบฟังก์ชัน สำหรับการเริ่มต้นในการเขียนโปรแกรม และยังสามารถทำงานในรูปแบบของการเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming) ซึ่งเป็นพื้นฐานสำหรับการเขียนโปรแกรมอื่นๆ เช่น Java, Visual C#, Visual C++

หลักสูตร C++ จึงสามารถเรียนได้ทั้งผู้ที่ไม่เคยเขียนโปรแกรมมาก่อน หรือผู้ที่เคยเขียนโปรแกรมด้วยภาษา C มาแล้ว และต้องการศึกษาเพิ่มเติมในส่วนที่เกี่ยวกับการเขียนโปรแกรมเชิงวัตถุ ภาษา C++ จึงเหมาะสมกับการศึกษาด้านการเขียนโปรแกรมในทุกระดับ

ผู้เรียนจะได้เรียนรู้ถึงการกำหนดตัวแปร ฟังก์ชัน คลาส ออปเจกต์ และคุณสมบัติอื่นๆ ของการเขียนโปรแกรมเชิงวัตถุ ซึ่งประกอบไปด้วย Encapsulation, Polymorphism และ Inheritance รวมถึงคุณสมบัติอื่นๆ ที่มีอยู่ใน C++ เช่น Multiple Inheritance, Template, Standard Template Library เป็นต้น

วัตถุประสงค์

1.  เพื่อให้ผู้เข้าอบรม ได้มีความรู้ความเข้าใจในการเขียนโปรแกรมภาษา C++

2.  เพื่อให้ผู้เข้าอบรม ได้ฝึกปฏิบัติและสามารถนำไปประยุกต์ใช้งานได้จริง

3.  เพื่อให้ผู้เข้าอบรม มีความรู้ในการเขียนโปรแกรมอื่นได้

หัวข้อการฝีกอบรม

วันที่ 1 :

1.  ANSI C++ Fundamentals

• Block Structure of C++ Programs

• Fundamentals of Syntax

• Built in Data Types

• The Preprocessor and Macros

• Standard Runtime Libraries and Header Files

• Organizing C++ Source Files

• Integrating C and C++ Projects

• Using C in C++

2.  Data Types, Storage, Classes, and Scope

• Data Types and Qualifiers

• Constants and String Literals

• Static versus Automatic Storage

• Scope and Variables

• Initialization and Assignment

• Enumerated Types

• The bool Type

• Constant Storage

• Pointers to Constant Storage

• Constant Pointers

• References

• Constant Reference Arguments

• Volatile Data

• Global Data

3.  Operators and Expressions

• Arithmetic, Logical, and Bit Operators

• Precedence and Associativity Assignment

• Type Conversion Rules

• Type Casting

4.  Flow Control Constructs

• Conditional Constructs: if, switch

• Looping Constructs: while, do, for

• Programming Style

5.  Pointers

• Advantages of Pointers

• Uses of Pointers

• Declaring Pointers

• Pointer and Address Arithmetic

• Initializing and Dereferencing Pointers

• Pointers versus Arrays

6.  Functions

• Purpose of Functions

• Functions versus Inlining

• The Argument Stack

• Passing by Value

• Passing by Reference

• Declaring External Functions

• Function Prototypes and Type Checking

• Default Function Data Types

• Function Overloading

• Problems with Function Overloading

• Name Resolution

• Promotions and Conversions

• Call by Value

• Reference Declarations

• Call-by-Reference and Reference Types

• References in Function Return

• Constant Argument Types

• Conversion of Parameters Using Default Initializers

• Providing Default Arguments

• Inline Functions

วันที่ 2 :

7.  Strings in C++

• Character Strings

• The String Class

• Operators on Strings

• Member Functions of the String Class

8.  Exceptions

• Types of Exceptions

• Trapping and Handling Exceptions

• Triggering Exceptions

• Handling Memory Allocation Errors

9.  Streaming I/O

• Streams and the iostream library

• Built-in Stream Objects

• Stream Manipulators

• Stream Methods

• Input/Output Operators

• Character Input

• String Streams

• Formatted I/O

• File Stream I/O

• Overloading Stream Operators

• Persistent Objects

10.  Templates

• Purpose of Template Classes

• Constants in Templates

• Templates and Inheritance

• Container Classes

• Use of Libraries

11.  The Standard Template Library

• STL Containers

•  Parameters Used in Container Classes

• The Vector Class

• STL Algorothms

• Use of Libraries

12.  Introduction to Object Concepts

• The Object Programming Paradigm

• Object-Orientated Programming Definitions

• Information Hiding and Encapsulation

• Separating Interface and Implementation

• Classes and Instances of Objects

• Overloaded Objects and Polymorphism

วันที่ 3 :

13.  Declaring and Defining Classes

• Components of a Class

• Class Structure

• Class Declaration Syntax

• Member Data

• Built-in Operations

• Constructors and Initialization

• Initialization vs. Assignment

• Class Type Members

• Member Functions and Member Accessibility

• Inline Member Functions

• Friend Functions

• Static Members

• Modifying Access with a Friend Class

14.  Operator Overloading

• Advantages and Pitfalls of Overloading

• Member Operator Syntax and Examples

• Class Assignment Operators

• Class Equality Operators

• Non-Member Operator Overloading

• Member and Non-Member Operator Functions

• Operator Precedence

• The this Pointer

• Overloading the Assignment Operator

• Overloading Caveats

15.  Creating and Using Objects

• Creating Automatic Objects

• Creating Dynamic Objects

• Calling Object Methods

• Constructors

• Initializing Member consts

• Initializer List Syntax

• Allocating Resources in Constructor

• Destructors

• Block and Function Scope

• File and Global Scope

• Class Scope

• Scope Resolution Operator

• Using Objects as Arguments

• Objects as Function Return Values

• Constant Methods

• Object Copying and Copy Constructor

• Automatic Copy Constructor

• Conversion Constructor

16.  Dynamic Memory Management

• Advantages of Dynamic Memory Allocation

• Static, Automatic, and Heap Memory

• Free Store Allocation with new and delete

•  Handling Memory Allocation Errors

17.  Inheritance

• Inheritance and Reuse

• Composition vs. Inheritance

• Inheritance: Centralized Code

• Inheritance: Maintenance and Revision

• Public, Private and Protected Members

• Redefining Behavior in Derived Classes

• Designing Extensible Software Systems

• Syntax for Public Inheritance

• Use of Common Pointers

• Constructors and Initialization

• Inherited Copy Constructors

• Destructors and Inheritance

• Public, Protected, Private Inheritance

18.  Polymorphism in C++

• Definition of Polymorphism

• Calling Overridden Methods

• Accessing Overridden Methods

• Virtual Methods and Dynamic Binding

• Virtual Destructors

• Abstract Base Classes and Pure Virtual Methods


คุณสมบัติผู้เข้าอบรม

1. ผู้ที่ต้องการเริ่มต้นเขียนโปรแกรมด้วยคุณบัติของภาษา C++

2. ผู้ที่สนใจนำความรู้ไปเขียนโปรแกรมอื่นๆ ต่อไป

รูปแบบการอบรม

บรรยาย และฝึกปฎิบัติ


วันที่รับสมัคร

01/01/2563 - 08/05/2563


ข้อมูลวันที่อบรม

ลำดับ วันที่อบรม สถานที่อบรม เวลาอบรมบรรยาย เวลาอบรมปฏิบัติ
1. 25/05/2563 - 27/05/2563 มหาวิทยาลัยเทคโนโลยีมหานคร 18 ชม. 18 ชม.

ค่าใช้จ่าย

6,500.00 บาท


โปรโมชั่น

1.ชำระค่าลงทะเบียนก่อนการอบรม 3 สัปดาห์ ลด 5%
2.ศิษย์เก่า นักศึกษาและบุคลากร รับส่วนลด 10%
3.สมัครอบรม 4 ท่าน ฟรี 1 ท่าน


รหัสกิจกรรม CPD

-


จำนวนหน่วยพัฒนา CPD

-


วิทยากร

1. - หมัดอามีน หมันหลิน



ช่องทางอื่นๆ

สิ่งที่น่าสนใจ

เกี่ยวกับเรา

สำนักฝึกอบรมและพัฒนาทรัพยากรบุคคล มหาวิทยาลัยเทคโนโลยีมหานคร

140 ถนนเชื่อมสัมพันธ์ แขวงกระทุ่มราย เขตหนองจอก กรุงเทพฯ 10530

โทรศัพท์.
  • 0-2988-3666
  • 092-2464638
E-mail.
  • training@mut.ac.th
  • training.mut@gmail.com