آموزش طراحی الگوریتم‌ ها

درس "طراحی الگوریتم‌ های دکتر شریفی زارچی" در نیم‌سال دوم سال تحصیلی 99-98 با کمک خانم زهرا مهدوی‌نژاد، در دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف ضبط شده‌است. تفکر الگوریتمی نه‌تنها هنر برنامه‌نویسی، بلکه کل زندگی ...

4.2 (23 امتیاز)
11,422 دانشجو
مقدماتی
محتوای دوره
پیش‌نیاز‌ها
درباره دوره
نظرات کاربران
درباره استاد

محتوای دوره

1 فصل 26 جلسه 27 ساعت ویدیو
طراحی الگوریتم‌ها

پیش‌نیاز‌ها

درباره دوره

درس "طراحی الگوریتم‌ های دکتر شریفی زارچی" در نیم‌سال دوم سال تحصیلی 99-98 با کمک خانم زهرا مهدوی‌نژاد، در دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف ضبط شده‌است. 

 

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

مؤکداً پیشنهاد می‌کنیم ابتدا درس داده‌ساختارها و الگوریتم‌ها را که ویدئوهای آن در مکتب‌خونه هم وجود دارد به‌عنوان یک پیش‌نیاز ببینید و تمرین کنید و سپس شروع به یادگیری این درس کنید. با توجه به این‌که فرض می‌شود دانشجویان ابتدا درس داده‌ساختارها و مبانی الگوریتم‌ها را پیش از برداشتن این درس گذرانده‌اند؛ مطالب موجود در این درس به‌نوعی ادامه‌ی مطالب درس داده‌ساختارها است.

درس طراحی الگوریتم‌‌های دکتر شریفی زارچی با آموزش الگوریتم‌های حریصانه و برنامه‌نویسی پویا شروع می‌شود. در ادامه به الگوریتم‌های گراف نظیر الگوریتم‌های یافتن زیردرخت فراگیر و کوتاه‌ترین مسیر بین همه‌ی جفت رئوس پرداخته‌خواهد‌شد. سپس روش‌های تقسیم و حل، تطابق رشته‌ها و شبکه‌های شار بیان می‌شود. در انتها نیز مباحثی از قبیل پیچیدگی محاسباتی (P و NP)، برنامه‌نویسی خطی، الگوریتم‌های تقریبی و بهینه‌سازی‌های پویا تدریس می‌شوند. جزوه‌های تعاملی این درس را می‌توانید از سایت زیر دریافت کنید:

https://github.com/asharifiz/Algorithms_Jupyter

برای باز کردن این جزوه‌ها نیاز است نرم‌افزار Jupyter Notebook را بر روی کامپیوتر خود نصب کنید؛ این کار را از طریق نرم‌افزار miniconda انجام دهید. این نرم‌افزار برای هر سه محیط ویندوز، لینوکس و مک موجود است. همچنین با توجه به این‌که زبان برنامه‌نویسی این درس، زبان سی‌پلاس‌پلاس است توصیه می‌کنم کامپایلر این زبان را نیز نصب داشته باشید. سایر توضیحات در مورد پیش‌نیازهای سیستمی در جزوه‌ی اول (مقدمه) آمده است. دسترسی به تمرین‌های عملی و نظری از طریق صفحات کوئرا و پیاتزای درس ممکن است، لینک عضویت در این صفحات نیز در اولین جزوه‌ی درس قرار دارد.

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

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

اطلاعات بیشتر

امتیاز و نظرات کاربران

4.2

از مجموع 23 امتیاز

8 نظر

4 ماه پیش

عالی

طهورا صالحی

طهورا صالحی

2 سال پیش

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

دانشجوی دوره

4 سال پیش

good

دانشجوی دوره

2 سال پیش

با تشکر از دست اندرکاران سایت مکتب خونه خیلی آموزش خوبی بود ممنون

دانشجوی دوره

3 سال پیش

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

دانشجوی دوره

3 سال پیش

نصف اموزش رو داره دانشجوش میده ، که از قضا هیچی هم بلد نیست |:

دانشجوی دوره

نظرات بیشتر

دوره‌های پیشنهادی

درباره استاد

علی شریفی زارچی
علی شریفی زارچی
10 دوره
64,568 دانشجو

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

وی دوره‌های پژوهشی و پسادکتری را در Max Planck Institute آلمان و Colorado State University آمریکا پشت سر گذاشته‌است.

او از سال ۱۳۹۰ تاکنون به عنوان پژوهشگر بیوانفورماتیک در پژوهشگاه رویان‌ و هم‌چنین از سال ۱۳۹۵ به عنوان عضو هیأت علمی دانشکده‌ی مهندسی کامپیوتر دانشگاه صنعتی شریف مشغول به کار است.

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

اطلاعات بیشتر

دیگر دوره‌های علی شریفی زارچی

سوالات پرتکرار

آیا ممکن است که درسی ناقص ضبط شده باشد؟

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

اگر لینک دانلود یا پخش ویدئو مشکل داشت چه باید کرد؟

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

آیا امکان دریافت فیلم های یک درس به صورت سی دی یا دی وی دی وجود دارد؟

در حال حاضر امکان ارسال دروس به صورت سی دی یا دی وی دی وجود ندارد.