میکرومستر | برنامه‌سازی و الگوریتم (Programming & Algorithms)
462 subscribers
124 photos
1 video
95 links
💻 دورهٔ آموزشی Micromaster | برنامه‌نویسی و الگوریتم
🎓 دانشگاه صنعتی شریف

راه ارتباطی:
@sharif_micromaster_Assistant
Download Telegram
◀️ الگوریتم‌های گراف

🔗 گراف‌ها ابزارهای قدرتمندی برای نمایش روابط بین اشیاء هستند. الگوریتم‌های گراف مانند جستجوی اول عمق (DFS) و جستجوی اول سطح (BFS) به ما اجازه می‌دهند تا این روابط را کاوش کنیم و اطلاعات ارزشمندی را استخراج کنیم.

⚙️ الگوریتم DFS برای کاوش عمیق در گراف‌ها، در حالی که BFS برای کاوش سطحی استفاده می‌شود. هر دوی این روش‌ها در بسیاری از کاربردها مانند مسیریابی، طراحی شبکه و تجزیه و تحلیل شبکه‌های اجتماعی کاربرد دارند.

🎲 میکرومستر، آموزش شریف برای همه!

[ Telegram | LinkedIn | MicroMaster ]
Please open Telegram to view this post
VIEW IN TELEGRAM
◀️ الگوریتم‌های حریص

🔗 الگوریتم‌های حریص با انتخاب بهترین گزینه ممکن در هر مرحله، به دنبال رسیدن به یک راه حل کلی هستند. این استراتژی، گرچه همیشه به بهترین راه حل کلی نمی‌رسد، اما در بسیاری از موارد کارآمد و مفید است.

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

🎲 میکرومستر، آموزش شریف برای همه!

[ Telegram | LinkedIn | MicroMaster ]
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ICPC Iran
👥 «مسابقه‌ی اینترنتی برنامه‌سازی دانش‌جویی»

🗓 مسابقه‌ی اینترنتی برنامه‌سازی دانش‌جویی روز چهارشنبه ۱۲ اردیبهشت ۱۴۰۳ ساعت ۱۴ الی ۱۸ به میزبانی دانشگاه صنعتی شریف برگزار می‌شود.

◀️کلیه‌ی دانش‌جویانی که با مبانی برنامه‌سازی آشنا هستند می‌توانند در این مسابقه شرکت کرده و آموخته‌های خود را محک بزنند. به تمام شرکت‌کنندگانی که حداقل ۳ سوال از ۱۰ سوال مسابقه را پاسخ دهند، گواهی رسمی حضور از سوی مسابقه بین‌المللی اعطا خواهد شد.

🔗 مهلت ثبت‌نام در مسابقه چهارشنبه ۵ اردیبهشت ۱۴۰۳ است. لطفا این مسابقه را به دوستان خود در دانشگاه‌ها معرفی کنید.

❗️ اطلاعات بیش‌تر و نحوه‌ی ثبت‌نام در نشانی زیر آمده است:
🔗 icpc.ir/internet-contest

✈️ @icpciran
Please open Telegram to view this post
VIEW IN TELEGRAM
◀️الگوریتم‌های تطابق رشته

🔗 تطابق رشته یکی از مسائل اساسی در علم کامپیوتر است که در جستجوی متن، بیوانفورماتیک و الگوشناسی کاربرد دارد. الگوریتم‌هایی مانند KMP (Knuth-Morris-Pratt) و Rabin-Karp به طور خاص برای حل این نوع مسائل طراحی شده‌اند.

🔄 الگوریتم KMP با حفظ یک «جدول پیشروی»، از بررسی مجدد قسمت‌هایی از رشته که قبلا مطابقت یافته‌اند، اجتناب می‌کند. این کار باعث می‌شود جستجو بسیار سریع‌تر از یک جستجوی ساده باشد. Rabin-Karp با استفاده از یک تکنیک هش، به جستجوی الگوها در یک متن بزرگ با کارایی بالا می‌پردازد. این الگوریتم برای شناسایی الگوهای متنی در داده‌های بزرگ بسیار موثر است.

🎲 میکرومستر، آموزش شریف برای همه!

[ Telegram | LinkedIn | MicroMaster ]
Please open Telegram to view this post
VIEW IN TELEGRAM
◀️الگوریتم‌های فاکتوریل

🎛 فاکتوریل، که با n! نشان داده می‌شود، نشان دهنده ضرب تمام اعداد صحیح مثبت از 1 تا n است. الگوریتم‌های فاکتوریل به دو دسته تقسیم می‌شوند: تکراری و بازگشتی.

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

🎲 میکرومستر، آموزش شریف برای همه!

[ Telegram | LinkedIn | MicroMaster ]
Please open Telegram to view this post
VIEW IN TELEGRAM
◀️ الگوریتم‌های تقسیم و غلبه

🔗 تقسیم و غلبه یکی از قدرتمندترین استراتژی‌ها در طراحی الگوریتم است. این استراتژی شامل تقسیم مسئله به زیرمسائل کوچکتر، حل آن زیرمسائل به طور مستقل و سپس ترکیب جواب‌ها برای رسیدن به راه حل مسئله اصلی است.

📌 الگوریتم‌هایی مانند MergeSort و QuickSort از این استراتژی استفاده می‌کنند. این روش نه تنها باعث بهبود کارایی الگوریتم می‌شود بلکه درک مسائل پیچیده را نیز آسان‌تر می‌کند. تقسیم و غلبه یک اصل مهم در علم کامپیوتر و ریاضیات است.

🎲 میکرومستر، آموزش شریف برای همه!

[ Telegram | LinkedIn | MicroMaster ]
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ICPC Iran
📌تمدید مهلت ثبت‌نام مسابقه‌ی اینترنتی

🗓 مهلت ثبت‌نام مسابقه‌ی اینترنتی برنامه‌سازی تا روز یک‌شنبه ٩ اردیبهشت تمدید شد.

🔗 برای ثبت‌نام از طریق آدرس زیر می‌توانید اقدام کنید:
🔗 http://icpc.ir/internet-contest

❗️ در صورت وجود هرگونه مشکل حین ثبت‌نام، با پشتیبانی دوره به آدرس زیر در ارتباط باشید.
✈️ @icpciran_supp

🗓 مسابقه‌ی اینترنتی برنامه‌سازی دانش‌جویی روز چهارشنبه ١٢ اردیبهشت ١۴٠٣ برگزار خواهد شد.

@icpciran
Please open Telegram to view this post
VIEW IN TELEGRAM
◀️ الگوریتم‌های پویا

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

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

🎲 میکرومستر، آموزش شریف برای همه!

[ Telegram | LinkedIn | MicroMaster ]
Please open Telegram to view this post
VIEW IN TELEGRAM
◀️ الگوریتم‌های حریصانه و برنامه‌ریزی پویا: تفاوت‌ها و کاربردها

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

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

🎲 میکرومستر، آموزش شریف برای همه!

[ Telegram | LinkedIn | MicroMaster ]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔸 قواعد اساسی نام‌گذاری متغیر در پایتون

🟡 استفاده از حروف و اعداد: نام متغیرها می‌تواند شامل حروف کوچک (a-z)، حروف بزرگ (A-Z)، اعداد (0-9)، و آندراسکور (_) باشد. به یاد داشته باشید که نام‌ها نمی‌توانند با عدد شروع شوند.

🔵 حساسیت به بزرگی و کوچکی حروف: در پایتون، نام‌گذاری متغیرها به حروف کوچک و بزرگ حساس است. به این معنی که variable و Variable دو متغیر متفاوت هستند.

🔴 کلیدواژه‌های زبان: استفاده از کلیدواژه‌هایی که پایتون برای ساختارهای برنامه‌نویسی خود استفاده می‌کند (مانند if، for، class، list، dict، و غیره) به عنوان نام متغیر مجاز نیست.

🟢 نام‌های معنادار: انتخاب نام‌هایی که معنی و عملکرد متغیر را به خوبی بیان می‌کنند، توصیه می‌شود. این امر به خوانایی کد کمک شایانی می‌کند.

💬 انواع نام‌گذاری
🗣 camelCase:
شروع با حرف کوچک و نوشتن اول حروف بعدی کلمات به صورت بزرگ. مثال: myVariableName

🗣 PascalCase:
شروع هر کلمه با حرف بزرگ. مثال: MyVariableName

🗣 snake_case:
استفاده از آندراسکور بین کلمات. این شیوه در پایتون بسیار مرسوم است. مثال: my_variable_name

🟡 محدودیت‌ها و نبایدها

نام‌های خیلی کوتاه یا نامفهوم: استفاده از نام‌هایی مانند x یا data می‌تواند در فهم کد ایجاد ابهام کند.
نام‌گذاری با عدد: نام‌گذاری متغیر با شروع از یک عدد غیرمجاز است.
تداخل با نام‌های موجود: از نام‌گذاری متغیرها با نام‌هایی که پیش‌تر در ماژول‌های استفاده شده وجود دارند بپرهیزید تا از بروز تداخل جلوگیری شود.

💬 مثال کد

# نمونه‌هایی از نام‌گذاری مناسب
customer_count = 10
is_active = True
calculate_total_price()

# نمونه‌هایی از نام‌گذاری نامناسب
a = 20 # نامفهوم
123 = "John" # شروع با عدد
def = "definition" # استفاده از کلیدواژه

🟡 در نهایت، انتخاب نام‌های مناسب برای متغیرها بخشی از فرهنگ برنامه‌نویسی است و به اشتراک گذاری و فهم بهتر کد بین برنامه‌نویسان کمک می‌کند.

🎲 میکرومستر، آموزش شریف برای همه!

[ Telegram | LinkedIn | MicroMaster ]
Please open Telegram to view this post
VIEW IN TELEGRAM
#معرفی_اساتید

👤 دکتر حمید ضرابی‌زاده
⬅️ استاد دوره‌‌های برنامه‌سازی پایتون و برنامه‌سازی وب

سوابق:
❇️ رئیس دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
❇️ مسئول برگزاری مسابقات بین‌المللی برنامه‌سازی دانشجویی در غرب آسیا
❇️ عضو کمیته‌های ملی و بین‌المللی المپیاد جهانی کامپیوتر
❇️ رئیس کمیته برنامه‌ریزی درسی رشته مهندسی کامپیوتر در وزارت علوم


💻 وب‌سایت شخصی:
🌐 sharif.edu/~zarrabi/


🎲 میکرومستر، آموزش شریفی برای همه!

🌐 MicroMaster🌐 LinkedIn

🌐 @micromaster_sharif
Please open Telegram to view this post
VIEW IN TELEGRAM
#معرفی_اساتید

👤 دکتر محمدعلی آبام
⬅️ استاد دوره‌‌های ساختارهای گسسته و داده‌ساختارها و الگوریتم‌ها

سوابق:
❇️ رئیس کمیته ملی المپیاد کشوری کامپیوتر
❇️ مسئول علمی مسابقات بین‌المللی برنامه‌سازی دانشجویی در غرب آسیا
❇️ معاون آموزشی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
❇️ عضو کمیته‌های ملی و بین‌المللی المپیاد جهانی کامپیوتر


💻 وب‌سایت شخصی:
🌐 sharif.edu/~abam/


🎲 میکرومستر، آموزش شریفی برای همه!

🌐 MicroMaster🌐 LinkedIn

🌐 @micromaster_sharif
Please open Telegram to view this post
VIEW IN TELEGRAM
#معرفی_اساتید

👤 دکتر محمد ایزدی
⬅️ استاد دوره‌‌ی ساختارهای گسسته

سوابق:
❇️ مدیر کل آموزش دانشگاه صنعتی شریف
❇️ مدیر کل تحصیلات تکمیلی دانشگاه صنعتی شریف
❇️ معاون آموزشی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف

💻 وب‌سایت شخصی:
🌐 sharif.edu/~izadi/

🎲 میکرومستر، آموزش شریفی برای همه!

🌐 MicroMaster🌐 LinkedIn

🌐 @micromaster_sharif
Please open Telegram to view this post
VIEW IN TELEGRAM
📣 دوره‌‌های تخصصی دانشکده کامپیوتر دانشگاه شریف

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

❇️ برنامه‌سازی پایتون
👤 دکتر حمید ضرابی‌زاده

❇️ طراحی پایگاه داده‌ها
👤 دکتر مریم رمضانی

❇️ برنامه‌سازی وب
👤 دکتر حمید ضرابی‌زاده

❇️ مهارت‌های پایه در مهندسی کامپیوتر
👤 خانم سمانه حسینمردی


🔗 جهت آشنایی با دوره‌های تخصصی دیگر و ثبت‌نام، به وب‌سایت دوره مراجعه کنید.

🎁استفاده از کد تخفیف ۱۰ درصدی ثبت‌نام (earlyreg10) را فراموش نکنید!

🎲 میکرومستر، آموزش شریفی برای همه!

🌐 MicroMaster🌐 LinkedIn

🌐 @micromaster_sharif
Please open Telegram to view this post
VIEW IN TELEGRAM
«تمدید مهلت ثبت‌نام ترم تابستان ١۴٠٣»

🔗 مهلت ثبت‌نام به مدت ۸ روز (تا پایان ١۵ تیرماه) تمدید شد.


🎲 میکرومستر، آموزش شریفی برای همه!

🌐 MicroMaster🌐 LinkedIn

🌐 @micromaster_sharif
Please open Telegram to view this post
VIEW IN TELEGRAM
📣 دوره‌‌های تخصصی دانشکده کامپیوتر دانشگاه شریف

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

❇️ برنامه‌سازی پایتون
👤 دکتر حمید ضرابی‌زاده

❇️ داده‌ساختارها و الگوریتم‌ها
👤 دکتر محمدعلی آبام

❇️ ساختارهای گسسته
👤 دکتر محمدعلی آبام، دکتر محمد ایزدی

❇️ برنامه‌سازی پیشرفته
👤 دکتر مهدی دولتی


🎲 میکرومستر، آموزش شریفی برای همه!

🌐 MicroMaster🌐 LinkedIn

🌐 @micromaster_sharif
Please open Telegram to view this post
VIEW IN TELEGRAM