ساختمان داده و الگوریتم‌ها در جاوااسکریپت

590,000 تومان
799 دانشجو
۵ ساعت و ۱۰ دقیقه
ثبت نام در دوره

ساختمان داده و الگوریتم‌ها یکی از مهم‌ترین مفاهیم در برنامه نویسی هستند. شرکت‌های پیشرو فناوری در مراحل استخدام و مصاحبه، تسلط بر مباحث ساختمان داده و الگوریتم‌ها را یکی از موارد بسیار مهم در نظر می‌گیرند. همین طور زمانی که به عنوان یک توسعه دهنده قصد توسعه یک نرم افزار سطح متوسط یا بزرگ را داشته باشید، قطعا دانش این دو مفهوم بسیار کاربردی خواهد بود.

الگوریتم‌ها مجموعه‌ای از روش‌ها هستند برای حل مسائل. قطعا انتخاب بهترین الگوریتم بر اساس منطق توسعه نرم افزار بسیار تاثیر گذار می‌باشد. ساختمان داده نیز در علوم کامپیوتر یک روش می‌باشد برای مدیریت داده‌های نرم افزار. ساختمان‌های داده می‌توانند به صورت Built in در یک زبان برنامه نویسی باشند. مانند آرایه‌ها، آبجکت‌ها، Map و Set در جاوااسکریپت. اما ساختارهای داده‌ای دیگری نیز وجود دارند که به عنوان مفاهیم برنامه نویسی هستند. این ساختمان‌های داده را می‌توان با زبان‌های برنامه نویسی مختلف پیاده سازی کرد.

مهم‌ترین پیش‌نیاز دوره ساختمان داده و الگوریتم‌ها، درک مفاهیم برنامه نویسی در جاوااسکریپت است. به همین دلیل برای بررسی دقیق و جامع جاوااسکریپت، دوره جامع و پیشرفته جاوااسکریپت فرانت کست را پیشنهاد می‌کنیم.

دوره ساختمان داده و الگوریتم‌ها در جاوااسکریپت

هدف اصلی ما در فرانت کست این است که آموزش بصورت درست و عمیق صورت بگیرد. به همین دلیل دوره ساختمان داده و الگوریتم‌ها بصورت چالش محور طراحی شده است. زیرا، یادگیری مفاهیم عمیق برنامه نویسی با انجام تمرین‌های متعدد انجام می‌گیرد. از این رو، در طول دوره بر اساس چالش‌های متعدد برنامه نویسی پیش خواهیم رفت.

دوره ساختمان داده و الگوریتم‌های فرانت کست به شکل جامع طراحی شده و تمامی مباحث کاربردی مربوط به این مفاهیم را با نگاهی دقیق‌تر در بر می‌گیرد. همینطور این دوره به شکل قدم به قدم است. به این صورت که، آموزش از پایه‌ترین و ابتدایی‌ترین مفاهیم آغاز می‌شود و تا قسمت‌های پیشرفته ادامه پیدا می‌کند.

این دوره از قسمت‌های تئوری و کد تشکیل شده. بعد از اتمام این دوره شما قادر خواهید بود تا مسائل متنوع برنامه نویسی را با بهترین روش‌ها پیاده سازی کنید. زیرا هدف اصلی این دوره تمرکز بر روی مهارت حل مسئله است. از این رو، سرمایه گذاری برای یادگیری مفاهیم ساختمان داده و الگوریتم‌ها می‌تواند یکی از درست‌ترین و منطقی‌ترین تصمیمات باشد.

مدرس دوره

مسعود صدری مدرس و توسعه دهنده نرم افزار، فارغ‌ التحصیل از رشته مهندسی نرم‌افزار، برنامه نویسی را از سال ۱۳۹۱ به شکل حرفه‌ای شروع کرده است. او در سال‌هایی که در حوزه برنامه نویسی حرفه‌ای فعالیت داشته، با شرکت های نرم افزاری و تیم‌های استارتاپی همکاری داشته و بیشتر بر روی فریلنسیگ تمرکز کرده است. او سال‌ها به عنوان برنامه نویس فریلنسر مشغول به کار بوده و همین امر باعث شده تا نیازهای بازار کار را به خوبی بشناسد و تجربه‌های زیادی در این زمینه کسب کند.

مسعود صدری تدریس را از سال ۱۳۹۴ به شکل حرفه‌ای، با آموزشگاه مجتمع فنی تهران شروع کرده و همیشه جزء یکی از برترین مدرسان برنامه نویسی بوده است. سپس تصمیم به برگزاری دوره‌های برنامه نویسی در دانشکده مهندسی برق و کامپیوتر دانشگاه تبریز گرفته که مورد استقبال بسیار خوب دانشجویان قرار گرفت. فعالیت‌های او در دانشگاه تبریز، به عنوان مدرس دانشگاه ادامه داشته و اکنون تدریس کارگاه‌های مبانی برنامه سازی و برنامه سازی پیشرفته را برعهده دارد. نهایتا از سال ۱۳۹۷ تدریس آنلاین هم به لیست فعالیت‌های آموزشی او اضافه شده است.

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

پشتیبانی دوره

یکی از موضوعات بسیار مهم در فرانت کست پشتیبانی دوره‌ها می‌باشد که برعهده مدرس دوره است. مدرس به عنوان یک منتور از ابتدای مسیر قدم به قدم، تا زمانی که دانشجو تمامی مطالب را بصورت کامل یاد بگیرد، همراه اوست. ما بر این باور هستیم که هیچ شخصی بهتر از مدرس دوره نمی‌تواند پاسخگوی سوالات دانشجویان باشد. از این رو، در فرانت کست مدرس خود را موظف می‌داند تا در تمامی روزهای هفته، به جز روزهای تعطیل، سوالات دانشجویان را بررسی کند. برای پشتیبانی و دریافت مشاوره می‌توانید از راه‌های ارتباطی نوشته شده در وب‌سایت استفاده کنید.

سرفصل‌ها

۱. پیش‌ نیازهای دوره
۲. یادگیری دقیق‌تر مفاهیم و پشتیبانی دوره
۳. بررسی ساختمان داده
۴. آرایه‌ها – بررسی دقیق‌تر
۵. استفاده از Set
۶. مقایسه آرایه‌ها و Set
۷. آبجکت‌ها – بررسی دقیق‌تر
۸. استفاده از Map
۹. مقایسه آبجکت‌ها و Map
۱۰. بررسی Linked List
۱۱. افزودن مقادیر در Linked List
۱۲. دریافت خروجی از Linked List
۱۳. افزودن مقادیر به ابتدای لیست
۱۴. حذف مقادیر از لیست
۱۵. جست و جو و افزودن مقادیر در میانه لیست
۱۶. دلایل استفاده از Linked List
۱۷. بررسی پیچیدگی زمانی و Big O Notation
۱۸. پیچیدگی زمانی در آرایه‌ها و Linked List
۱۹. ساختمان داده‌های List و Table
۲۰. استفاده از List و Table در جاوااسکریپت
۲۱. بررسی ساختمان داده Stack
۲۲. پیاده سازی Stack
۲۳. استفاده از Linked List در Stack
۲۴. پیاده سازی Stack با Linked List
۲۵. بررسی ساختمان داده Queue
۲۶. پیاده سازی Queue
۲۷. استفاده از Linked List در Queue
۲۸. بررسی Hash Table
۲۹. استفاده از Hash Table برای حل مسئله
۳۰. پیاده سازی ساختمان داده Hash Table
۳۱. توسعه توابع set و get
۳۲. بررسی ساختمان داده Tree
۳۳. مفاهیم در Tree
۳۴. بررسی یک مثال از Tree
۳۵. پیاده سازی مثال Tree
۳۶. بهینه سازی کد
۳۷. حذف Nodeها از Tree
۳۸. بررسی جست و جوهای Depth-first و Breadth-first
۳۹. پیاده سازی Depth-first
۴۰. پیاده سازی Breadth-first
۴۱. بررسی درخت جست و جوی Binary
۴۲. افزودن مقادیر به BST
۴۳. توسعه تابع find در BST
۴۴. بررسی درخت AVL
۴۵. متعادل سازی درخت AVL
۴۶. فاکتورهای متعادل سازی AVL
۴۷. پیاده سازی درخت AVL
۴۸. ساختمان داده Graph
۴۹. بررسی انواع Graph
۵۰. استفاده از Graph در کد
۵۱. بررسی Matrix و List
۵۲. پیاده سازی ساختمان داده Graph
۵۳. توسعه تابع حذف Node

۵۵. چالش حل مسئله
۵۶. الگوریتم فیبوناچی
۵۷. پیاده سازی الگوریتم فیبوناچی
۵۸. پیاده سازی الگوریتم اعداد اول
۵۹. چالش کوچک‌ترین المنت آرایه
۶۰. چالش بررسی اعداد زوج و فرد
۶۱. چالش اعداد به توان دو
۶۲. پیاده سازی الگوریتم Factorial
۶۳. بررسی الگوریتم‌های جست و جو
۶۴. پیاده سازی Linear Search
۶۵. پیاده سازی Binary Search
۶۶. بررسی الگوریتم Bubble Sort

دیدگاه‌ها:

soroushizadpanah

تیر 6, 1403  در  12:30 ق.ظ

سلام استاد میتونین چند تا سایت برای تمریت روزانه معرفی کنین

مسعود صدری

تیر 29, 1403  در  6:16 ب.ظ

سلام
وب‌سایت LeetCode رو پیشنهاد می‌کنم بهتون.

افزودن دیدگاه جدید