درسهای موجود

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

مدلسازی دامنه
مدلسازی دامنه در طول تجزیه و تحلیل شیگرا و همچنین، به عنوان بخشی از تحلیل نیازمندیهای نرمافزار انجام میشود. در این دورهی آموزشی با تکنیکهای مدلسازی دامنه (Domain Modeling) آشنا خواهید شد و با بهکارگیری این تکنیکها قادر خواهید بود مفاهیم و ایدههای مربوط به یک دامنه را شناسایی و مدلسازی کنید.

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

مدلسازی موارد کاربرد
بدون اخذ مناسب نیازمندیها در پروژههای نرمافزاری،
احتمال شکست این پروژهها بسیار زیاد خواهد بود. در این دورهی آموزشی تکنیک «مورد
کاربرد» معرفی میشود؛ تکنیکی که از رویکردهای موفق در استخراج و توصیف نیازمندیهای
سیستمهای نرمافزاری است. در این دوره میتوانید با مفاهیم و الگوهای موفق در مدلسازی نیازمندیها با رویکرد مورد کاربرد (Use Case) آشنا شده و به درک عمیقی از چگونگی بهکارگیری این تکنیک دست پیدا کنید.

تحلیل کاربردی نیازمندیهای نرمافزار

مهندسی نیازمندیهای نرمافزار در متدهای چابک
در طی این دورهی آموزشی با استفاده از مجموعهی متنوعی از مثالهای
کاربردی مرتبط با پروژههای صنعتی، به بررسی تکنیکها و متدهای تجربهشدهی مهندسی
نیازمندیها که متناسب با فلسفهی چابکی هستند، میپردازیم.

مبانی طراحی دامنهمحور (DDD)
در این دورهی آموزشی با اصول طراحی دامنه محور (DDD) آشنا خواهید شد. شما در طی این دوره با عناصر یک مدل دامنه، مفاهیم aggregate، bounded context و همچنین مشکلات متداول در مدلسازی و نحوهی مدیریت پیچیدگی آشنا خواهید شد.

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

الگوهای طراحی نرمافزار
الگوها بیانگر راهکار برای مسائلی است که در زمینهها و موقعیتهای مختلف
تکرار میشوند. الگوهای طراحی راهکارهای اثباتشدهای برای مسائل طراحی نرمافزارند
که از زبان و پلتفورم مستقل هستند. با دانش الگوهای طراحی، یک طراح یا معمار نرمافزار میتواند
از دانش جمعی و خبرگی بهدست آمده در دنیای نرمافزار برای انجام طراحیها و شکلدهی
به معماریهای موفق استفاده کند. این دورهی آموزشی بر روی ۲۳ الگوی طراحی که در کتاب
کلاسیک الگوهای طراحی مستند شدهاند، متمرکز است. علاوه بر این، شما با الگوهای دیگری در
زمینهها و منابعی نظیر همروندی، ریزمعماری، معماری نرمافزار مبتنی بر الگو و ضدالگوها
نیز در این دورهی آموزشی آشنا خواهید شد.

مدلسازی بصری با استفاده از استاندارد یو.اِم.اِل (UML)
یک محصول نرمافزاری و زمینهی کسبوکار مرتبط با آن، اغلب پیچیده است و درک جنبههای مختلف آن، بدون مدلسازی ممکن نیست. در این دورهی آموزشی با زبان مدلسازی بصری یو.اِم.اِل (UML) و کاربردهای آن در صنعت نرمافزار آشنا خواهید شد. با کامل کردن این دورهی آموزشی شما قادر خواهید بود ضمن درک دیاگرامهای پر کاربرد این زبان، برای مدلسازی در زمینهها و کاربردهای مختلف از این دیاگرامها استفاده کنید. دیاگرامهایی که در این دورهی آموزشی مطرح میشوند، عبارتند از: دیاگرامهای کلاس (Class)، مؤلفه (Component)، بسته (Package) و استقرار (Deployment) به عنوان دیاگرامهایی که جنبههای ساختاری را مدلسازی میکنند و همچنین، دیاگرامهای مورد کاربرد (Use Case)، توالی (Sequence)، وضعیت (State) و فعالیت (Activity) به عنوان دیاگرامهایی که جنبههای رفتاری را مدلسازی میکنند.

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

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

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

یادگیری زبان پرسوجو (SQL)
زبان پرسوجو (SQL) ابزاری متداول برای بازیابی اطلاعات از پایگاه دادههای رابطهای مانند SQL Server ، MySQL ، MariaDB و PostgreSQL است. این دوره مقدمهای بر این زبان برنامهنویسی است. شما در این دوره با نحوه درخواست داده از سرور، محدود کردن و مرتبسازی پاسخها، جمعآوری دادهها از چندین جدول با انواع Join و ویرایش و حذف دادهها آشنا خواهید شد.

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

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