پکیج جامع برنامه‌نویسی علمی با C++ - ۲۱ ساعت آموزش تخصصی! - آخرین آپدیت

دانلود Complete C++ Scientific Programming Bundle - 21 Hours!

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: مسترکلاس برنامه‌نویسی علمی با C++ همراه با کتابخانه‌های STL، BOOST، CUDA، OpenMP و MPI: ۲۱ ساعت آموزش جامع! درک مفاهیم پایه تا پیشرفته C++ 17 کسب مهارت در توسعه اپلیکیشن‌های پیچیده علمی با C++ آموزش کار با کتابخانه‌های قدرتمند STL، BOOST، MPI و OpenMP آماده‌سازی برای فرصت‌های شغلی توسعه‌دهنده، مقاطع PhD و موقعیت‌های پژوهشی که نیازمند تسلط بر C++ هستند. پیش نیازها: هیچ، این دوره تمام مباحث را از مفاهیم پایه C++ تا کتابخانه‌های پیشرفته و کاربردی مانند STL، BOOST، OpenMP و MPI پوشش می‌دهد!

دوره «برنامه‌نویسی علمی با C++» ساده‌ترین، نوآورانه‌ترین و کامل‌ترین دوره عملی C++ در پلتفرم یودمی برای یادگیری برنامه‌نویسی داده‌های علمی و پژوهشی است! در حالی که زبان‌هایی مانند پایتون و R برای علوم داده محبوب هستند، C/C++ برای محاسبات علمی و پردازش داده‌های بهینه، انتخابی قدرتمندتر است. در این دوره، ما آخرین نسخه C++ 17 را برای برنامه‌نویسی علمی به صورت عملی بررسی می‌کنیم. تمرکز این دوره بر یادگیری برنامه‌نویسی از سطح مبتدی تا پیشرفته در کامپیوترهای با کارایی بالا (HPC)، طراحی نرم‌افزارهای شی‌گرا، برنامه‌نویسی جنریک (Template-based) و پیاده‌سازی بهینه الگوریتم‌های عددی است.

زبان C++ بهترین انتخاب برای برنامه‌نویسی بهینه در استخراج داده‌های پژوهشی و محاسبات علمی است. در این دوره، شما از مفاهیم پایه تا کتابخانه‌های پیشرفته‌ای نظیر STL، BOOST، OpenMP و MPI را خواهید آموخت. اهداف اصلی یادگیری در این دوره فوق‌العاده به شرح زیر است:

ویژگی‌های دوره:

  • تسلط بر مفاهیم پایه برنامه‌نویسی با C++.

  • یادگیری برنامه‌نویسی مدرن C++ با استفاده از تکنیک‌های پیشرفته مانند Generic Programming، Meta-programming، Expression Templates و Concepts.

  • آموزش ابزارهای برنامه‌نویسی برای دیباگ، بنچ‌مارک و مدیریت کد (شامل کامپایلرها، سیستم‌های Build، کنترل ورژن، دیباگرها و پروفایلرها).

  • توانایی خواندن، درک و بهره‌برداری از کتابخانه‌های نرم‌افزاری علمی مانند BLAS، LAPACK، STL و Boost.

  • یادگیری کدنویسی در محیط‌های HPC با استفاده از OpenMP و MPI.

  • تعداد زیادی تمرین عملی برای تسلط بر برنامه‌نویسی C++ در طول دوره. کدنویسی شاد را شروع کنید!

تمرکز این دوره بر جنبه‌های توسعه نرم‌افزار مانند محاسبات در کامپیوترهای با کارایی بالا، طراحی شی‌گرا و پیاده‌سازی بهینه الگوریتم‌های عددی است. همچنین تجربه تحلیل و گسترش کتابخانه‌های نرم‌افزاری در شما ایجاد می‌شود. شما قادر خواهید بود از ابزارهای مدرن C++ و کتابخانه‌های تخصصی مانند BLAS، LAPACK، STL، Dune، MTL4 و Boost استفاده کنید. تمرینات تعاملی متعددی برای تمرین کدنویسی در نظر گرفته شده است.

بر اساس بازخوردهای شما، مجموعه‌ای از جلسات زنده در Zoom برای توضیح جنبه‌های مختلف C++ 17 اضافه شده است. این کلاس‌ها از طریق Scientific Programming School (یک پلتفرم پیشرفته یادگیری الکترونیکی) ارائه می‌شوند. دانشجویانی که این دوره را خریداری کنند، دسترسی رایگان به نسخه تعاملی و محیط‌های کدنویسی (Playgrounds) را دریافت خواهند کرد. دستورالعمل‌های پیوست در بخش محتوای جایزه (Bonus) موجود است.

سوالات و پاسخ‌ها (Q&A)

لطفاً برای پرسیدن سوالات خود از بخش Q&A استفاده کنید! ما مشتاقیم درباره چالش‌های شما، تصمیمات مربوط به محتوای دوره و فلسفه برنامه‌نویسی بحث کنیم. هیچ ریسکی در خرید این دوره وجود ندارد! این دوره دارای ضمانت بازگشت وجه ۳۰ روزه است. پس از ثبت‌نام، دسترسی مادام‌العمر به دوره و تمامی آپدیت‌های آینده خواهید داشت و در پایان، گواهینامه اتمام دوره را دریافت می‌کنید.

پیش‌نیازها

  • آشنایی اولیه با مفاهیم پایه C++. این یک دوره خودآموز است و تمامی محیط‌های لینوکس مورد نیاز فراهم شده است.

چرا باید این دوره را تهیه کنید؟

  • درک کامل برنامه‌نویسی C++ از سطح پایه تا پیشرفته (نسخه C++ 17)

  • کسب دانش توسعه اپلیکیشن‌های پیچیده علمی

  • یادگیری کتابخانه‌های تخصصی STL، BOOST، MPI و OpenMP

  • آمادگی برای استخدام در جایگاه‌های توسعه‌دهنده، دکترا و موقعیت‌های پژوهشی سطح بالا


سرفصل ها و درس ها

مبانی C++ C++ Fundamentals

  • خوش‌آمدگویی Welcome

  • چرا این دوره را انتخاب کنیم؟ Why Get this Course?

  • معرفی مدرس Instructor

  • شل تعاملی رایگان همراه با کامپایلر C++ Free Interactive Shell with C++ Compiler

  • متغیرها Variables

  • شرط‌ها Conditions

  • آرایه‌ها Arrays

  • حلقه‌ها Loops

  • ساختارها (Structures) Structures

  • توابع Functions

  • کلاس‌ها Classes

  • اشاره‌گرها Pointers

  • وراثت Inheritance

  • قالب‌های تابع (Function Templates) Function Templates

  • قالب‌های کلاس (Class Templates) Class Templates

سی پلاس پلاس پیشرفته (استانداردهای C++11 و 17) C++ Advanced (C++11 and 17 Standards)

  • تفاوت Struct و Class Struct vs Class

  • جریان‌ها (Streams) Streams

  • رشته‌ها (Strings) Strings

  • مقداردهی اولیه (Initializer) Initializer

  • مفاهیم Rvalue، Move semantics و Forwarding Rvalue - Move semantics and forwarding

  • لیترال‌های تعریف شده توسط کاربر Literals - User Defined

  • توابع تولید شده توسط کامپایلر Functions - Compiler Generated

  • اشاره‌گرهای هوشمند (Shared, Weak, Unique) Pointers - Shared, Weak and Unique

  • کلاس‌های مدیریت منابع Classes - Resource managing

  • کتابخانه عبارت‌های منظم (Regular Expressions) Library - Regular Expressions

  • کتابخانه ساعت و تایمر Library - Clock and Timer

  • تولید اعداد تصادفی Library - Random Numbers

  • تاپل‌ها (Tuples) Tuples

  • ثابت‌ها Constants

  • سازنده‌ها و تخریب‌کننده‌ها Constructors and Destructors

  • بارگذاری مجدد عملگرها (Operator Overloading) Operator Overloading - Assignments

  • تبدیل انواع و Casting Types - Conversion and Casting

  • مباحث پیشرفته وراثت Inheritance

  • عملگر New و هندلرها Operators - New Operator and Handler

کتابخانه قالب استاندارد (STL) C++ Standard Template Library (STL)

  • کتابخانه STL: توالی‌ها (Vector, List, Deque) STL - Sequences (Vectors, List and Deque)

  • کتابخانه STL: کانتینرهای انجمنی (Set, Map) STL - Associative Containers (Set and Map)

  • کتابخانه STL: کانتینرهای انجمنی نامنظم STL - Unordered Associative Containers (Set and Map)

  • کتابخانه STL: تکرارکننده‌ها و عملیات روی آن‌ها STL - Iterators and Iterator Operations (Copy, Insert, etc.)

  • کتابخانه STL: فانکتورها STL - Functors

  • کتابخانه STL: الگوریتم‌های غیرتغییری (Count, Min, Max) STL - Non-Modifying Algorithms (Count, Min, Max, etc.)

  • کتابخانه STL: الگوریتم‌های تغییری (Copy, Move, Swap, Transform) STL - Modifying Algorithms (Copy, Move, Swap, Transform, etc.)

  • کتابخانه STL: الگوریتم‌های مرتب‌سازی و جستجو STL - Sorting and Searching Algorithms

  • کتابخانه STL: توابع کانتینر در مقابل الگوریتم‌ها STL - Container Functions - Members vs Algorithms

  • کتابخانه STL: تکرارکننده معکوس STL - Reverse Iterator

  • کتابخانه STL: جستجو با معادل‌سازی در مقابل برابری STL - Find with Equivalence vs Equality

  • کتابخانه STL: حذف عناصر STL - Remove Elements

  • کتابخانه STL: مقایسه Vector و Deque STL - Vectors vs Deques

  • کتابخانه STL: برش شیء (Object Slicing) STL - Object Slicing

  • دانلود سورس کدها Source Codes - Download

کتابخانه Boost C++ Boost Library

  • کتابخانه Boost: تبدیل لکسیکال (Lexical Cast) Boost - Lexical Cast

  • کتابخانه Boost: واریانت‌ها (Variants) Boost - Variants

  • کتابخانه Boost: Any Boost - Any

  • کتابخانه Boost: Optional Boost - Optional

  • کتابخانه Boost: آرایه‌ها Boost - Arrays

  • کتابخانه گراف Boost (BGL) Boost Graphs Library - BGL

  • دانلود سورس کدها Source Codes - Download

هم‌روندی و تردها (Concurrency) C++ Concurrency (Threads)

  • تردها (Threads) Threads

  • شرایط رقابتی (Race) و Mutex Race and Mutex

  • بن‌بست (Deadlock)، Unique Lock و مقداردهی تنبل Deadlock, Unique Lock and Lazy Initialization

  • شرط‌های تردها (Condition Variables) Conditions - Threads

  • مفاهیم Future، Promise و Async Future, Promise and Async

  • اشیاء قابل فراخوانی (Callable Objects) Callable Objects

  • وظایف بسته‌بندی شده (Packaged Tasks) Packaged Tasks

  • محدودیت‌های زمانی Time Constraints

برنامه‌نویسی موازی چندرشته‌ای با OpenMP C++ OpenMP - Multithreaded Parallel Programming

  • OpenMP چیست؟ (برنامه‌نویسی موازی چندرشته‌ای) What is OpenMP - Multithreaded Parallel Programming?

  • معرفی C++ OpenMP C++ OpenMP - Introduction

  • مفهوم Fork and Join در OpenMP C++ OpenMP - Fork and Join

  • اجزای تشکیل دهنده Fork and Join C++ OpenMP - Components for the Fork and Join

  • همگام‌سازی (Synchronization) در OpenMP C++ OpenMP - Synchronization

  • بندهای (Clauses) OpenMP C++ OpenMP - Clauses

  • کاهش (Reduction) در حلقه‌های For C++ OpenMP - Reduction (For-loop)

  • حلقه For موازی (سورس کد) C++ OpenMP - Parallel For-loop (Source Code)

  • زمان‌بندی (Scheduling) در OpenMP C++ OpenMP - Scheduling

  • اشتراک‌گذاری داده‌ها C++ OpenMP - Data Sharing

  • ساختارهای اشتراک کاری (Worksharing) C++ OpenMP - Worksharing Constructs

  • برنامه Hello World (سورس کد) C++ OpenMP - Hello World (Source Code)

  • دموی Hello World در محیط HPC C++ OpenMP - Hello World! (HPC Demo)

  • موازی‌سازی بخش‌ها (Section Parallelization) C++ OpenMP - Section Parallelization

  • جمع برداری (سورس کد) C++ OpenMP - Vector Addition (Source Code)

برنامه‌نویسی توزیع‌شده با MPI C++ MPI - Distributed Programming

  • معرفی C++ MPI C++ MPI: Introduction

  • رابط تبادل پیام (MPI) چیست؟ C++ MPI - What is Message Passing Interface?

  • مبانی MPI C++ MPI - Basics

  • ساختار برنامه‌های MPI C++ MPI - Program Structure

  • برنامه Hello World (سورس کد) C++ MPI: Hellow World (Source Code)

  • دموی Hello World C++ MPI - Hello World (Demo)

  • مفهوم ارسال و دریافت (Send & Receive) C++ MPI: Send and Receive (Concept)

  • پیاده‌سازی ارسال و دریافت C++ MPI: Send and Receive

  • ارسال و دریافت همزمان C++ MPI - Simultaneous Send and Receive

  • ارتباطات جمعی (Collective Communication) C++ MPI - Collective Communication

  • ارتباطات غیرمسدودکننده (Non-blocking) C++ MPI - Non-Blocking Communication

  • توپولوژی‌ها در MPI C++ MPI - Topologies

برنامه‌نویسی GPU با CUDA C++ CUDA - GPU Programming

  • نصب C++ CUDA C++ CUDA - Install

  • مفاهیم پایه CUDA C++ CUDA - Concepts

  • مدل برنامه‌نویسی CUDA C++ CUDA - Programming Model

  • موازی‌سازی حلقه For در CUDA C++ CUDA - Parallelizing a For-Loop

  • اندیس‌گذاری تردها در Gridها و Blockها C++ CUDA - Indexing Threads within Grids and Blocks

  • مدل حافظه در CUDA C++ CUDA - Memory Model

  • همگام‌سازی در CUDA C++ CUDA - Synchronization

  • دموی جمع برداری C++ CUDA - Vector Addition (Demonstration)

  • سورس کد جمع برداری C++ CUDA - Vector Addition (Source Code)

کتابخانه‌های علمی: MKL C++ Scientitfic Libraries: MKL

  • کتابخانه ریاضی Intel MKL MKL - Intel® Math Kernel Library

  • ضرب ماتریس با MKL C++ MKL - Matrix Multiplication

  • سورس کد ضرب ماتریس C++ MKL - Matrix Multiplication (Source Code)

  • بردار ویژه (Eigen Vector) با MKL C++ MKL: Eigen Vector

نرم‌افزارهای علمی و ارسال Job در HPC Scientific Software and HPC Job Submission

  • ماژول‌های نرم‌افزاری Software Modules

  • دستورات ارسال Job در PBS PBS Job Submission Commands

  • ارسال کارهای علمی با PBS Scientific Jobs Submission with PBS

  • دستورات Slurm Slurm Commands

  • ارسال کارهای علمی با Slurm Scientific Jobs Submission with Slurm

محتوای تکمیلی Additional Content

  • محتوای رایگان مدرسه برنامه‌نویسی علمی: مقدمه C++ تعاملی Scientific Programming School FREE Content - Introduction to the Interactive C++

  • دسترسی رایگان به نسخه تعاملی Interactive Version Access - FREE!

  • شل تعاملی (ارائه شده توسط Scientific Programming School) Interactive Shell (by Scientific Programming School)

نمایش نظرات

پکیج جامع برنامه‌نویسی علمی با C++ - ۲۱ ساعت آموزش تخصصی!
جزییات دوره
21 hours
112
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
7,193
4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Scientific Programming School | 30,000+ Students Scientific Programming School | 30,000+ Students

ایجاد فرصت هایی در داده ها و محاسبات با عملکرد بالا دانشکده برنامه نویسی علمی با بیش از 30،000 دانش آموز یک ابتکار عالی آموزش الکترونیکی برای ارائه دوره های آموزش و تمرین حرفه ای برای کدگذاری علمی ، لینوکس و داده های بزرگ است. این همچنین یک پلت فرم تعاملی و پیشرفته آموزش الکترونیکی است که به شما امکان می دهد در هنگام یادگیری با زمین های بازی و پوسته های تعاملی درون مرورگر خود ، کدهای علمی/دستورات سیستم عامل را اجرا کنید. چه چیزی یاد می گیرید؟ مدرسان برنامه نویسی علمی در برنامه نویسی علمی در لینوکس ، Devops ، HPC و Data Science برنامه نویسی می کنند. در حال حاضر ما از سه سیستم عامل (اوبونتو ، RHEL و SuSE) و بیش از 50 زبان برنامه نویسی از جمله زبان های تجاری مانند Matlab پشتیبانی می کنیم. آیا پیش نیاز دارید؟ نه ، هیچی بلافاصله شروع به یادگیری می کنید به جای اینکه با سیستم عامل ، ماشین مجازی ، SDK و/IDE تنظیمات کنید. همه اینها با Docker روی cloud تنظیم شده است.

Scientific Programmer™ Scientific Programmer™

ScientificProgrammer.me | تیم مربی برنامه نویسی علمی به شما کمک می کند تا از زبانهای برنامه نویسی علمی مانند CUDA ، Julia ، OpenMP ، MPI ، C ++ ، Matlab ، Octave ، Bash ، Python Sed و AWK از جمله RegEx در پردازش داده های علمی و دنیای واقعی یاد بگیرید. . این تیم توسط مربیان تحصیلات دکترا در زمینه علوم محاسباتی تشکیل شده است. برنامه نویسی علمی یک رشته چند رشته ای است که به سرعت در حال رشد است و از قابلیت های پیشرفته محاسباتی برای درک و حل مشکلات پیچیده استفاده می کند.