دوره آموزش ++C
- آنچه که در آموزش سی پلاس پلاس میآموزیم
- سرفصل های دوره آموزش سی پلاس پلاس
- معرفی دوره آموزش ++C
- آموزش نصب برنامه نویسی++C
- آموزش متغیرها، انواع دادهها، عملگرها در برنامه نویسی ++C گرفتن ورودی و پیاده سازی اولین برنامه
- آموزش کامل ++C : عبارات شرطی If else و Switch
- یادگیری حلقهها در سی پلاس پلاس - تکرار یک بخش از کد
- ایجاد اعداد تصادفی در برنامههای C++
- آموزش ماژولار کردن برنامهها با استفاده از funcation ها در زبان برنامه نویسی c++
- آموزش Pointer ها در زبان C plus plus
- آموزش آرایه ها در ++C
- آموزش رشته ها در ++C
- آموزش خواندن و نوشتن در فایل متنی در سی پلاس پلاس
- تخصیص حافظه پویا چیست؟
- وکتور ها در سی پلاس پلاس
- آموزش ساختار یک برنامه به زبان سی و سی پلاس پلاس
- آموزش پیشرفته ++C (شی گرایی در سی پلاس پلاس)
- آموزش سربارگذاری عملگرها (Operator overloading) در ++C
- .آموزش وراثت در ++C - ارث بری در ++C
- نحوه مدیریت استثناء ها در ++C
- آموزش کتابخانه قالب استاندارد (STL) در ++C
- آموزش کانتینرهای وابسته کتابخانه قالب استاندارد (STL) در ++C
- آموزش اشاره گر به تابع در ++C
- Lambda لامبدا در C++ چیست
- ادامه STL - Forward List و Array Container
- آموزش پشته (Stack)، صف (Queue) در C++
- آموزش کلاس unordered_map و multimap و کانتینرهای associative در زبان سی پلاس پلاس
TAHLILDADEH ACADEMY
آنچه که در آموزش سی پلاس پلاس میآموزیم
همه چیز درباره ++C
زبان برنامه نویسی ++C زبانی شی گراست که در سال 1980 توسط Bjarne Stroustrup ایجاد شد. اگرچه زبان C++ بسیار شبیه زبان C و سازگار با آن است و می تواند بیش از 99% از برنامه های نوشته شده به زبان C را بدون ایجاد کوچکترین تغییری در یک خط از سورس کد اجرا کند؛ اما بدلیل ساختار شی گرای آن، از نظر ساختاری و امنیت بهتر از زبان C است. علاوه بر این، این زبان برخلاف بسیاری از زبان های برنامه نویسی برای هدف خاصی خلق نشده است و می توان آن را برای اهداف مختلف مورد استفاده قرار داد؛ بگونه ای که می توان آن را ‘’Swiss Pocket Knife of Languages’’ یا چاقو سوئیسی زبان های برنامه نویسی نامید.
کاربرد زبان برنامه نویسی ++C
امروزه برخی از سیستم های پرکاربرد، همچون Amadeus (صدور بلیط برای خطوط هوایی)، Bloomberg (سازمان مالی)، Amazon (تجارت تحت وب)، Google (جستجو در وب) و Facebook (شبکه اجتماعی) از قدرت زبان c++ برای نوشتن بخش های بحرانی و مهم خود استفاده می کنند.
بسیاری از زبان های برنامه نویسی وابسته به عملکرد و قابلیت اطمینان کد های برنامه نویسی c++ در پیاده سازی خود هستند.
- استفاده از برنامه نویسی ++C در پياده سازي سیستم های عامل
- کاربرد زبان سی پلاس پلاس در صنعت بازی سازي
- ارتباط برنامه نويسي ++C با مرورگرها
- زبان cplus plus
- گرافیک در زبان ++C
- استفاده از کد های برنامه نویسی c++ در برنامه های بانکداری
- سیستم های ابری/توزیع شده
- سیستم های تعبیه شده
- کاربرد C++ در کامپایلرها
تمامی سیستم عامل های اصلی همچون ویندوز، لینوکس، اندروید، Ubuntu، iOS و ... با ترکیب C و C++ نوشته شده اند. برنامه های ویندوز به زبان C++ نوشته شده اند، در حالی که برنامه های اندروید به زبان جاوا همراه با C/C++ بدون زمان های اجرایی غیر پیش فرض برای پشتیبانی C++ است. علاوه بر این، C++ می تواند برای توسعه هسته برنامه ها در iOS بکار گرفته شود. بطور کلی، C یا C++ بدلیل سرعت و ساختار قدرتمند طبقه بندی شده خود، در سیستم های عامل بکار گرفته می شوند.
اگرچه می توان از دیگر زبان های برنامه نویسی برای ساخت بازی های کوچک استفاده کرد، اما اگر بدنبال ساخت موتورهای بازی بزرگ هستید، یادگیری زبان C++ برای شما ضروری است. زبان C++ دارای سرعت بالایی است، کامپایلرها و بهینه سازهای آن قدرتمند و یکپارچه هستند و می توانید کنترل بسیاری بر روی مدیریت حافظه داشته باشید. این زبان دارای کتابخانه های گسترده ای است که برای طراحی و قدرت بخشیدن به گرافیک های پیچیده بسیار مفید هستند. علاوه بر این، از آنجا که زبان C++ چندین دهه است که بصورت گسترده در زمینه های مختلف مورد استفاده قرار می گیرد دارای جامعه آنلاین بزرگی است که آماده پاسخگویی به سوالات شما
بسیاری از مرورگرهای وب همچون Chrome, Firefox, Safari, … با استفاده از زبان C++ نوشته می شوند. کروم در موتور رندرینگ، موتور جاوا اسکریپت و UI(User Interface) خود، Firefox بیشتر در موتور رندرینگ خود و کمی هم در UI(User Interface) و Safari نیز در موتور رندرینگ و موتور جاوا اسکریپت خود از زبان C++ استفاده می کنند.
بسیاری از کتابخانه های سطح بالا از زبان C++ بعنوان زبان برنامه نویسی هسته خود استفاده می کنند. برای مثال، چندین کتابخانه مرتبط با یادگیری ماشین از C++ در زمینه Backend خود استفاده می کنند و این مسئله ناشی از سرعت بالا این زبان است.
در برنامه هایی که گرافیک آنها بسیار مهم است، همچون پردازنده دیجیتال تصاویر، برنامه های ضبط صفحه نمایش و ... ، از زبان C++ استفاده می کنند که بدلیل سرعت بالا آن است. این بخش، برای برخی از بازی هایی که گرافیک بازی بعنوان بخش مهمی از ساختار آنها در نظر گرفته می شود نیز صادق است.
یکی از مهم ترین سیستم های بانکداری هسته ای که مورد استفاده می گردد Infosys Finacle نام دارد که از زبان C++ برای برنامه نویسی در بخش Backend خود استفاده می کند. در برنامه های بانکداری میلیون ها معامله در طول یک روز تحت پردازش قرار می گیرند، پس این برنامه ها نیازمند زبانی هستند که بتواند مسئله همزمانی و کمترین تاخیر در انجام پردازش ها را پشتیبانی کند.
سیستم های ابری از فایل های مقیاس پذیر استفاده می کنند که در نزدیکی سخت افزار کار می کنند و این یکی از دلایلی است که باعث می شود C++ بعنوان گزینه مناسب برای سیستم های ابری انتخاب شود.
سیستم های تعبیه شده مختلفی همچون تجهیزات پزشکی، ساعت های هوشمند و ... وجود دارند که زبان C++ را بعنوان زبان برنامه نویسی اولیه مورد استفاده قرار می دهند.
از آنجا که C++ به سخت افزار سیستم نزدیک تر است و زبانی سطح پایین است، بعنوان زبان برنامه نویسی Backend در بسیاری از کامپایلرها بکار گرفته می شود. بعنوان مثال می توان به GNU Compiler Collection (GCC) اشاره کرد که بخش اعظمی از آن با استفاده از C++ و C نوشته شده است.
چرا باید در دوره آموزش ++C شرکت کنید :
با توجه به اینکه بسیاری از سیستم های جدید نظیر سیستم های عامل، مرورگرها، پایگاه داده و ... در بخش هایی از Backend خود از زبان C++ استفاده می کنند، می توان گفت C++ نقش مهمی در عصر جدید بازی می کند. علاوه بر این، از آنجا که سرعت این زبان برنامه نویسی بالاست، در زمینه عملکرد بخش های بحرانی کاملا مفید است.
دلايل ديگر که باید زبان C++ را بیاموزید به شرح زیر هستند :
- محبوبیت زبان C++و حقوق بالا متخصصین این حوزه
- زبان سی پلاس پلاس ، کتابخانه های بسیاری را پشتیبانی می کند
- جامعه بزرگ ++C
- کاربرد زبان برنامه نویسی c++ در پایگاه داده
- کاربرد C++ در Embedded Systems
- زبان سي پلاس پلاس قابل انتقال و سبک است
C++ یکی از شناخته شده ترین زبان های برنامه نویسی در سراسر جهان است. بیش از 4.4 میلیون توسعه دهنده از این زبان استفاده می کنند. توسعه دهندگان C++ در موقعیت های شغلی صنعتی با حقوق بالا مشغول به کار می شوند و متوسط درآمد سالانه آنها 103,035 دلار است.
زبان برنامه نویسی C++ دارای Standard Template Library(STL) است که برای نوشتن کدها با سرعت بالا و بصورت فشرده بسیار مفید است.
جامعه آنلاین بزرگی از کاربران و کارشناسان C++ وجود دارد که می تواند در هر زمینه ای از پشتیبانی مفید باشد.
پایگاه داده های جدیدی همچون MySQL, MongoDB, MemSQL, … وجود دارد که با استفاده از زبان C++ نوشته شده اند و بهمین دلیل است که C++ کاملا جدید است و امکانات مختلفی همچون exceptionها، lambda expressionها و ... را پشتیبانی می کند. بسیاری از پایگاه داده های نوشته شده با زبان C++، تقریبا در تمامی برنامه های در حال استفاده همچون YouTube, WordPress, Twitter, Facebook, … مورد استفاده قرار می گیرند.
C++ نزدیک به سطح سخت افزاری سیستم است و بهمین دلیل برای Embedded Systems که در آنها سخت افزار و نرم افزار بصورت کامل بهم پیوسته هستند، بسیار مفید است. سیستم های اینچنینی بسیاری وجود دارد که از زبان C++ استفاده می کنند و از جمله آنها می توان به smart watches, MP3 players, GPS Systems و ... اشاره کرد.
برنامه هایی که به زبان C++ نوشته می شوند را می توان براحتی از یک پلتفرم به پلتفرم دیگری انتقال داد. بهمین دلیل در برنامه هایی که به چندین پلتفرم نیاز دارند اغلب از زبان C++ استفاده می شود.
سرفصل های دوره آموزش سی پلاس پلاس
-
معرفی دوره آموزش ++C
- آشنایی با زبانهای برنامهنویسی
- تاریخچه زبان برنامه نویسی C
- c++ چیست : تاریخچه زبان برنامه نویسی ++C
- آشنایی با مفاهیم پایهای زبان برنامه نویسی C/C++
-
آموزش نصب برنامه نویسی++C
- نصب و راه اندازی محیطهای مختلف توسعه نرمافزار برای نوشتن، کامپایل و اجرای ++C
- نصب و راه اندازی محیط توسعه نرم افزار Code::Blocks بر روی ویندوز
- نصب و راه اندازی Microsoft Visual Studio نسخه کامیونیتی
- نصب و راه اندازی Xcode برای کاربران سیستم عامل Mac
- استفاده از text editor و command line shell برای کاربران لینوکس و مک
-
آموزش متغیرها، انواع دادهها، عملگرها در برنامه نویسی ++C گرفتن ورودی و پیاده سازی اولین برنامه
- درک متغیرها و نحوه ذخیره سازی آنها در حافظه
- متغیرهای ارجاعی یا همان Reference variable
- عملگرهای ریاضی در C++ - یاد بگیریم که چگونه از عملگرهای ریاضی در C++ استفاده کنیم.
- دریافت ورودی از طریق کیبورد
- خواندن ورودیها در محیط کنسول و چاپ مجدد آنها
- درک Explicit casting و اینکه چه زمانهایی به آن نیاز داریم.
- عملگرهای تخصیص
- اپراتورهای افزایش یگانه (++) و کاهش یگانه ( - - )
- عملگرهای رابطهای - مقایسه دو مقدار
- عملگر OR منطقی
- عملگر NOT منطقی
- عملگرهای ریاضی
- دادههای از نوع Character - ASCII values
- تبدیل کاراکترهای Upper case به lower case
-
آموزش کامل ++C : عبارات شرطی If else و Switch
- عبارت if-else
- If-else if برای زمانهایی که شروط بیشتری را باید بررسی کنیم
- عملگرهای شرطی
- عبارت switch-case
- پروژه
-
یادگیری حلقهها در سی پلاس پلاس - تکرار یک بخش از کد
- حلقه while
- پیاده سازی پروژهایی بر پایه حلقه while
- استفاده از حلقه do while - اول انجام بده بعد چک کن!
- حلقه for
- پیاده سازی پروژه بر پایه حلقه for
- حلقه های تو در تو
- استفاده از دستور break در حلقه ها
- استفاده از دستور continue در حلقه ها
-
ایجاد اعداد تصادفی در برنامههای C++
- نحوه تولید اعداد تصادفی و مقدار دهی به متغییرها در C++
-
آموزش ماژولار کردن برنامهها با استفاده از funcation ها در زبان برنامه نویسی c++
- مقدمهای بر تعریف توابع توسط برنامهنویس
- ارسال پارامتر به توابع
- فراخوانی یک تابع در سی پلاس پلاس
- ارسال پارامترهای ارجاعی به توابع
- آموزش کامل با Reference Parameter ها در زبان برنامه نویسی c++
- پیاده سازی برنامه تشخیص اعداد اول با استفاده از فراخوانی توابع
- آموزش گام به گام برنامه نویسی به زبان ++c : Function Overloading و Compile time Polymorphism
-
آموزش Pointer ها در زبان C plus plus
- مقدمات درک و شناخت Pointer ها
- شناخت کامل Pointer ها
- پیاده سازی یک پروژه با استفاده از Pointer ها
-
آموزش آرایه ها در ++C
- مقدمه ای بر آرایهها
- آموزش عملگرهای input و output در آرایههای یک بعدی
- مقدار دهی اولیه آرایه ها
- تمرین و پیاده سازی یک پروژه با استفاده از آرایهها
- آموزش ارتباط بین آرایههای یک بعدی و pointer ها در سی پلاس پلاس
- ارسال آرایه به یک Function
- Reverse کردن یک آرایه
- ارسال یک آرایه با ارجاع به یک Function
- آموزش آرایههای دوبعدی
- پروژه محاسبه میانگین اعداد با استفاده از آرایه
-
آموزش رشته ها در ++C
- مقدمهای بر رشتهها در C++
- •راههای مقدار دهی اولیه یک String object
- روش دریافت رشته از کیبورد با استفاده از دستورات cin و getline
- استفاده از رشتهها در حلقهها
- String Iterator
- پیاده سازی پروژه Creadit Card checking
- پاک کردن بخشی از یک رشته
- آشنایی با توابع مفید کار با رشتهها
- آشنایی با عملگرهای رشته ها
- مقایسه رشتهها با یکدیگر
- استفاده از متد replace برای جایگزینی بخشی از رشته
- استفاده از متد substring برای جدا کردن بخشی از رشته
- پیاده سازی یک پروژه بر اساس کار با رشتهها
-
آموزش خواندن و نوشتن در فایل متنی در سی پلاس پلاس
- نوشتن داخل یک فایل
- خواندن اطلاعات از یک فایل
- پیاده سازی پروژه BMI با استفاده از فایل ها
-
تخصیص حافظه پویا چیست؟
- تخصیص حافظه پویا در برنامه نویسی C++
- تخصیص Dynamic حافظه
- چه زمانی به بازپسگیری حافظه نیاز داریم؟ نشت حافظه
- پیاده سازی پروژه برای درک بهتر Dynamic memory allocation
-
وکتور ها در سی پلاس پلاس
- مقدمهای بر vector
- Vector capacity در مقابل size
- آموزش Vector constructor
- گرفتن اولین و آخرین المان یک vector
- Push کردن مقادیر در یک vector
- تکرار vector ها و استفاده از توابع کاربردی آن
- تست کردن vector operation
- Data method های vector
- پیاده سازی پروژه
-
آموزش ساختار یک برنامه به زبان سی و سی پلاس پلاس
- مقدمهای بر struct
- ارسال object به یک function
- Struct pointer
- Array of struct object
- Vector of struct object
- initialize struct object c++
- پروژه پیدا کردن بیشترین مسافت
-
آموزش پیشرفته ++C (شی گرایی در سی پلاس پلاس)
- ساخت نوعهای تعریف شده توسط برنامهنویس
- درک مفاهیم properties و Behaviors
- درک Constructor method
- شناخت مفاهیم Class, private, public, abstraction, objects, properties, Behaviors
- This pointer
- آموزش برنامه نویسی C++ تابع Inline و نحوه کارکرد آن
-
آموزش سربارگذاری عملگرها (Operator overloading) در ++C
- مقدمهای بر Operator Overloading
- Overloading عملگرهای ریاضی + و -
- Overloading عملگرهای افزایشی (++) و کاهشی (- -) یگانه
- Overloading insertion << operator
- Overloading extraction >> operator
- Overloading عملگرهای رابطهای
- Overloading عملگرهای assignment
- Copy Constructor
-
.آموزش وراثت در ++C - ارث بری در ++C
- آشنایی اولیه با مفهوم ارث بری
- پیاده سازی پروژه برای درک بهتر مفاهیم ارث بری
- مدیریت Constructor در مسئله ارث بری - constructor redirection
- Super-type pointer و sub-type object
- نگاهی عمیق به Dynamic Polymorphism
- درک عمیق pure virtual function
- درک عمیق مسئله ارث بری در برنامه نویسی C++
-
نحوه مدیریت استثناء ها در ++C
- مقدمهای بر Exception Handling
- مدیریت استثنا با استفاده از try و catch
- استفاده از throw exception در توابع
- نوشتن چندین بلوک Catch برای مدیریت استثناهای مختلف
- نوشتن کلاس برای استثناهای مختلف
-
آموزش کتابخانه قالب استاندارد (STL) در ++C
- آموزش C++ Standard Template Library
- مقدمهای بر STL
- مروری بر STL Container
- متدهای رایج برای استفاده در STL Container
- متدهای رایج برای استفاده در Sequence Container
-
آموزش کانتینرهای وابسته کتابخانه قالب استاندارد (STL) در ++C
- STL - The list Container
- مقدمه ای بر List
- برخی از مهمترین متدهای لیست
- List iterator در مقابل vector iterators
-
آموزش اشاره گر به تابع در ++C
- Function Pointers, Functors and Algorithm
- درک و یادگیری function pointer ها
- نوشتن یک برنامه ساده با استفاده از function pointer
- آشنایی با Functors - چرا ما Functor ها را ترجیح میدهیم؟
- ساخت یک base class برای پیاده سازی functor
- پیاده سازی چند الگوریتم برای درک Functor ها
-
Lambda لامبدا در C++ چیست
- مقدمهای بر Lambda - یک جایگزین مناسب برای functor
- Lambda - How to capture locals by value
- Lambda - How to capture locals by reference
- Binary functors - operator() that receives 2 parameters
- Sort algorithm
-
ادامه STL - Forward List و Array Container
- Forward list - یک sequence container دیگر
- STL array class - یک fixed sequence container
-
آموزش پشته (Stack)، صف (Queue) در C++
- Deque class
- STL stack class
- The Pair structure
- تمرین و پیاده سازی پروژه
-
آموزش کلاس unordered_map و multimap و کانتینرهای associative در زبان سی پلاس پلاس
- Associative Container
- Map
- Multimap
- Unordered map
- پیاده سازی پروژه نهایی
گواهی پایان دوره
هنرجویان عزیز، مدرک آموزشگاه تحلیل داده، مدرک رسمی از سازمان فنی و حرفهای میباشد. دانشجویان پس از پایان دوره با ارائه پروژه کاربردی خود به آموزشگاه و پس از تایید استاد دوره گواهی پایان دوره خود را دریافت مینمایند.
مشاهده نمونه مدرک