درباره بوتکمپ ++C
سی پلاس پلاس یکی از قدرتمندترین و ماندگارترین زبانهای برنامهنویسی جهان است که پس از چند دهه همچنان در قلب بسیاری از فناوریهای پیشرفته قرار دارد.
++C در بسیاری از فناوریهایی که هر روز با آنها سروکار داریم استفاده میشود؛ از تجهیزات پزشکی و صنعتی گرفته تا خودروهای هوشمند، سیستمهای مخابراتی، نرمافزارهای مالی و حتی بازیهای کامپیوتری. در سالهای اخیر نیز با رشد صنایع مبتنی بر IoT، سیستمهای هوشمند، خودروهای مدرن و نرمافزارهای Real-Time، تقاضا برای توسعهدهندگان حرفهای ++C همچنان رو به افزایش بوده است.
از طرفی به دلیل دشوارتر بودن مسیر یادگیری این زبان نسبت به بسیاری از فناوریهای دیگر، تعداد متخصصان حرفهای آن کمتر است. به همین دلیل، برنامهنویسان این حوزه همچنان جزو نیروهای ارزشمند و پرتقاضا در بسیاری از شرکتهای فناوری و صنایع پیشرفته محسوب میشوند.
اگر میخواهید وارد این حوزه تخصصی شوید، بوتکمپ ++C بامداد میتواند نقطه شروع مناسبی برای شما باشد. در بوتکمپ ++C بامداد علاوه بر آموزش اصولی زبان ++C، فراگیران با Qt و QML نیز آشنا میشوند و مسیر توسعه نرمافزارهای حرفهای دسکتاپ و صنعتی را بهصورت پروژهمحور تجربه میکنند.
این سرفصل تخصصی به شما کمک میکند مهارتهایی را کسب کنید که در شرکتهای فعال در حوزههای صنعتی، تجهیزات هوشمند، سیستمهای نهفته (Embedded Systems) و نرمافزارهای تخصصی مورد نیاز هستند.
در طول دوره، شرکتکنندگان با مفاهیم برنامهنویسی مدرن ++C، طراحی نرمافزار، توسعه رابط کاربری حرفهای، معماری پروژه و پیادهسازی پروژههای واقعی آشنا میشوند تا پس از پایان بوتکمپ آمادگی ورود به بازار کار تخصصی این حوزه را داشته باشند.
سرفصلهای بوتکمپ
- آشنایی با کامپایلرها و محیطهای برنامه نویسی C++
- مفاهیم اولیه و سینتکسها و کامنتها
- انواع دادهها
- انواع متغیرها
- لایفتایم و اسکوپ متغیرها
- ثابتها
- انواع Modifier
- مفاهیم و انواع Storage Classes
- عملگرها
- ساختارهای تکرار
- ساختارهای تصمیم
- رشته/string
- اشارهگرها و ارجاع ها، انواع آن و اشارهگرهای هوشمند
- توابع و call by value/reference/pointer
- مفاهیم I/O و کار با آنها
- مفاهیم Struct/Union/namespace
- مرتبه اجرایی
- آرایه ها
معرفی الگوریتمهای مرتب سازی وپیاده سازی نمونه ای ازالگوریتم
Character ArraysStrings
آرایه های دوبعدی
توابع بازگشتی
درخت دو-دویی
الگوریتمهای کار با درخت دو-دویی
Bit Manipulation (دستکاری بیتی)
- مفاهیم اولیه (Containers, iterators, algorithms)
- آرایهها
- بردار (vector)
- انواع لیست
- انواع صف
- پشته
- انواع Set
- انواع Map
- الگوریتمها در STL
- عملیات بدون تغییر در توالی
- عملیات تغییردهندهی توالی
- پارتیشن
- مرتبسازی
- جستجو
- ادغام
- الگوریتمهای حداقل – حداکثر
- مفاهیم OOP
- مفهوم Classes and Objects
- انواع Constructor
- ارثبری
- مفهوم Data Encapsulation
- مفهوم virtual functions & virtual tables
- مفاهیم Overloading (Operator and Function) و Overriding
- مفهوم Data Abstraction
- مفهوم Interfaces (Abstract Classes)
- مفهوم Template function/class
- مفهوم Polymorphism
- مفهوم Lifetime of Object
- مفهوم Memory leakage
- مفهوم Exception Handling
مفاهیم Rvalue – Move semantics
اشاره گر های هوشمند shared_ptr، weak_ptr و unique_ptr
Types – Conversion and Casting
- انواع الگوهای طراحی (موارد استفاده و نحوه پیادهسازی)
- مفاهیم برنامه نویسی چند نخی (Multi-Thread)
- مفاهیم برنامه نویسی شبکه به همراه مثال client server – tcp , udp
بخش اول: آشنایی با گیت (Git)
- نصب و پیکربندی Git
- نحوه عملکرد گیت و آشنایی با حالتهای مختلف در Git
- استفاده از Git در پروژه و بازگردانی تغییرات در گیت از یک حالت به حالت دیگر
- دستور Reset در Git
- دستور Checkout در Git
- دستور Revert در Git
بخش دوم: کار با برنچها (Branch)، لاگها (Log) و مرج کردن (Merge)
- کار با فایل gitignore.
- بررسی دستور log در Git
- مرور Branching در Git و شیوههای مختلف ساخت
- کار با پارامترهای Branchها در Git و ویرایش Branchها
- Merge کردن Branch در Git
- مرور Merge Conflict در Git
بخش سوم: کار با Stash, Cherry و ابزارهای دیباگینگ (Debugging)
- کار با Git Stash
- کار با Git Blame و پارامترهای آن
- مرور و کار با Git Bisect
- کار با Cherry-Pick در Git
- کار با Cherry در Git
بخش چهارم: کار با ریموت، رمزنگاری و رمزگشایی
- کار با Git Remote و پارامترهای آن
- کار با Git Clone
- کار با Tagها در Git
بخش اول: مفاهیم اولیه
- دانلود و نصب
- آشنایی با محیط Qt Creator
- نوشتن چند برنامه ساده
- آشنایی اولیه با چند ویجت
بخش دوم: ویجتها (Widgets)
- معرفی و کار با Pushbutton, Label و QLineEdit
- محاسبه جمع دو عدد دریافتی
- معرفی و کار با DateEdit, TimeEdit و DateTimeEdit
- معرفی و کار با MessageBox
- معرفی و کار با Spinbox
- معرفی و کار با GroupBox, RadioButton و Checkbox
- معرفی و کار با ComboBox
- معرفی و کار با QListWidget
- معرفی و کار با QTreeWidget
- معرفی و کار با Splitter
- معرفی KeyPressEvent
بخش سوم: سیگنال و اسلات
- تعریف سیگنال و اسلات
- معرفی گزینه Edit Signals / Slots در فرم با چند مثال
- اتصال ProgressBar به Slider با دستور Connect
بخش چهارم: مدیریت لایهها
- معرفی لایههای افقی، عمودی، شبکه و فرم
- برنامه جهت کار با لایههای HBoxLayout, VBoxLayout ,GridLayout
- طراحی فرم Login جهت آشنایی با لایهها و Spacer
- نوشتن تابع Slot شخصی جهت ایجاد ارتباط LineEdit با PushButton
- پروژه
- معرفی StackedLayout
بخش پنجم: نگهدارندهها (Containers)
- معرفی و کار با Vector (دسترسی به عناصر، درج به ابتدا، انتها و موقعیت خاص، حذف از اول و آخر)
- معرفی و کار با صف (Queue) (درج و حذف در صف)
- معرفی و کار با پشته (Stack) (درج و حذف در پشته)
- معرفی و کار با List (درج و حذف – دسترسی به عناصر لیست با Iterator)
- معرفی و کار با Set, Map و Hash
- آشنایی با QFill و QSort, QFind, QCopy
- پروژه برای Connect چند Widget به کمک صف
بخش ششم: فایل
- معرفی QDir
- برنامه نوشتن و خواندن از فایل
- پروژه Notepad ساده
- ایجاد یک کلاس و نوشتن و خواندن در فایل با Overload عملگرها
- نوشتن و خواندن در فایل XML
درس هفتم: گرافیک
- معرفی و کار با ویجت GraphicsView
- برنامه رسم مستطیل و معرفی QGraphicsScene, QPen و QBrush
- برنامه حرکت مستطیل به کمک موس
- معرفی و کار با paintEvent
- کار با Line, Point, Ellipse و Poly
- نوشتن یک برنامه جامع
- بررسی چند مثال از محیط Qt Creator
بخش هشتم: اتصال به پایگاه داده
- آشنایی با SQLite
- ایجاد پایگاه داده (تهیه کننده – قطعه) در محیط SQLite
- آموزش SQL مقدماتی (Select- Insert – Update – Delet)
- برنامه استفاده از دیتابیس ایجاد شده در محیط SQLite به همراه ایجاد فرم برای جستجو، بهنگام سازی و حذف
- برنامه ایجاد دیتابیس و جدول با کدنویسی
بخش نهم: نخ (Thread)
- استفاده از نخ در محیط کیوت
- برنامه تولید کننده – مصرف کننده (استفاده از سمافور)
بخش دهم: QML
- معرفی QML
- معرفی و کار با Item,Text, Rectangle و Image
- نوشتن تابع و ایجاد دکمه (JavaScript)
- استفاده از Keys OnDigitPressed و Keys OnPressed
- آشنایی با MouseArea
- معرفی و کار با Grid
- کار با KeyNavigation
- معرفی و کار با Column و Row
- معرفی و کار با GridLayout
- معرفی و کار با TextInput
- معرفی و کار با ListView
کلاسهای بوتکمپ ++C
این بوتکمپ برای چه کسانی است؟
مناسب برای افرادی که:
اگر از علاقمندان شغل برنامهنویسی هستید و زمان کافی برای تمرین و کار روی پروژهها خارج از ساعت برگزاری کلاس دارید و برای یادگیری تلاش میکنید، حتی اگر دانش اولیه برنامهنویسی را ندارید؛ شرکت در این بوتکمپ برای شما مناسب است.
نامناسب برای افرادی که:
اگر به شغل برنامهنویسی علاقه دارید اما زمان کافی برای تمرین و کار روی پروژهها خارج از ساعت برگزاری کلاس را ندارید، پیشنهاد میکنیم با مشورت کارشناسان بامداد، زبان برنامهنویسی دیگری را برای یادگیری انتخاب کنید.
مدرسین و اعضای هیأت علمی
- مدرس دورههای آموزشی سی پلاس پلاس
مشاوران آموزشی بامداد، هر روز از ساعت ۸:۳۰ الی ۱۶:۳۰ از طریق شماره تلفنهای زیر، مشتاقانه آماده پاسخگویی به سوالات شما هستند:
- بررسی رزومه و سطح فنی شما
- ارائه نقشه راه شخصیسازی شده
- پاسخ به تمامی سوالات آموزشی و کاری
در صورتی که تمایل به دریافت مشاوره ثبت نام و یا تقسیط شهریه دارید، لطفاً اطلاعات خود را در فرم زیر وارد کنید تا کارشناسان ما با شما تماس بگیرند.
در بوت کمپ برنامه نویسی ++C، مفاهیم پایهای تا پیشرفته C++ را یاد میگیرم، از جمله شیءگرایی، الگوریتمها و ساختارهای داده ، با انجام پروژههای عملی، تواناییهایم در حل مسئله و طراحی نرمافزار بهبود مییابد. در کل این بوت کمپ فرصتی عالی برای یادگیری از اساتید مجرب و تعامل با سایر برنامهنویسان است.
سلام شما شرکت کردید؟؟؟