لیست جلسات دوره
مهدی عباسی
مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه
سوالات متداول
می دانید حل مسئله به چه معناست؟
اگر بخواهیم به صورت ساده تعریفی از این واژه داشته باشیم به تشخیص علل احتمالی یک مسئله و تهیه برنامه ای عملی برای حل آن، حل مسئله گویند در واقع مهارت حل مسئله یک فرایند شناختی رفتاری بوده که فرد سعی می کند با کمک گرفتن از آن راه حلی را پیدا کند که اینکار توسط خودش هدایت می گردد. پس به طور کلی حل مسئله یک فرایند آگاهانه، منطقی، تلاش بر و هدفمند است.
از ابزارهای مهم و ضروری برای حل مسئله آگاهی دارید؟
مهم ترین ابزارهای اصلی برای حل مسئله عبارت است از: خلاقیت، کار تیمی، مهارت های تفکر منطقی، تصمیم گیری، هوش هیجانی بالا که برای حل مسائل بسیار می تواند مهم باشد.
داشتن مهارت حل مسئله چه اهمیتی دارد؟
مهارت حل مسئله علاوه بر پیشرفت ما درمسیر برنامه نویسی بر زندگی فردی نیز تاثیر گذار است. ما با داشتن این مهارت میتوانیم، روابط را درک و مهارت های ارتباطی بهتری داشته باشیم. همچنین ما را برای رقابت در یک محیط در حال تغییر آماده میکند تا تغییرات و پیشرفت های لازم را بتوانیم کار بگیریم. از دیگر مزیت ها، پیش بینی برخی از اتفاقات آینده است یعنی ممکن است در برخی از موارد نیاز باشد تا انجام آن کار را به تاخیر بیندازیم و در آخر میتوانیم فرصت ها را در محیط شناسایی و از آن ها بهره برداری کنیم تا در نتیجه بتوانیم بر آینده خود کنترل داشته باشیم.
برای حرفه ای شدن در الگوریتم، مباحث پیشرفته تری هم وجود دارد؟
بله؛ سایت درسمن برای حرفه ای تر شدن شما در حوزه یادگیری الگوریتم به مباحث پیشرفته تری در دوره های الگوریتم 2 و 3 پرداخته تا بتوانید ازپس حل هر مسئله و الگوریتمی بر بیایید.
این دوره برای چه افرادی مناسب است؟
کسانی که میخواهند با نحوه حل الگوریتم ها به مهارت های بالایی برسند، کسانی که میخواهند به داشته های خود افزوده یا مطالب را مرور کنند، افرادی که علاقه مند به بالا بردن توانایی های خود هستند، ماجراجویانی که میخواهند با مسائل سروکله بزنند، کسانی که در تلاش برای بالا بردن سطح توانایی خود برای حل هر الگوریتم و فلوچارتی هستند.
دوره های پیشنهادی
آموزش الگوریتم و حل مسئله در برنامه نویسی 2
آموزش الگوریتم و حل مسئله در برنامه نویسی 3 (پیشرفته)
آموزش الگوریتم و حل مسئله 4 (پیشرفته)
آموزش شی گرایی، تحلیل و طراحی 5 پروژه کاربردی
نظرات دانشجویان
سلام و عرض ادب و خسته نباشید خدمت استاد عباسی عزیز و تیم بسیار حرفه ای و وظیفه شناس درسمن.... میخواستم تشکر کنم از دوره های جامع و مفیدتون با روش تدریس بسیار عالی و زیبای همیشگیتون استاد عباسی عزیز. در پایان میشه لطفا دوباره دوره های الگوریتم و حل مسئله 1 و 2 رو واسه ما که تازه اومدیم رایگان کنین؟ ارادتمند شما شاگرد قدیمی دبیرستانی شما.
با سلام و ادب من دانشجوی ارشد هوش مصنوعی دانشگاه دولتی هستم . از گروه شما بسیار ممنون هستم کار شمارا در معرفی و توسعه هوش مصنوعی خیلی خوب است اگر من میتوانم در تولید محتوای با زبان مطلب کمکی کنم در خدمت هستم.
سلام آقای موسوی عزیز وقتتون بخیر، از شما ممنونیم بابت همراهی خوبتون.
اگر نیاز باشد حتما از شما کمک خواهیم گرفت، از شما مچکریم.
سلام خسته نباشید این دوره کامله؟؟ اخه من جلسه دوم رو که میدیدم میگفتن استاد که دیشب چند مسله رو مطرح کردیم یکیشون رو که تو جلسه دو حل کرد در جلسه اول مطرح نکرده بود
سلام دوست عزیز، بله این دوره کامل می باشد.
سلام من یک دانش آموز دهم رشته ی ریاضی فیزیک هستم که میخوام رشته ی برنامه نویسی رو برای دانشگاه انتخاب کنم. سوالم این هستش که آیا یادگیری الگوریتم از الان برام سودی داره؟ اگر بله، این پک ها کمک کننده هستن؟ ممنون از شما
سلام دوست عزیز وقتتون بخیر، بله به شدت توصیه می کنیم اگر در شروع مسیر هستید دوره های الگوریتم را به خوبی مشاهده کنید، اگر می خواهید در آینده تبدیل به یک برنامه نویسی خبره شوید باید بدانید که اصول و چارچوب برنامه نویسی به شما کمک می کند که در پروژه های بزرگ تر یک سرو گردن از بقیه برنامه نویس ها جلوتر باشید و ذهنیت قوی تری نسبت به این مسائل داشته باشید.
من اگر تا فردا هم از نحوه ی بیان استاد عباسی و نحوه ی انتقال مطالب ایشون صحبت کنم کمه . واقعا برای ایشون و سایت درسمن بهترین ها رو آرزو دارم که انسانی ناامید در این رشته را امیدوار کرد . ده ها کلیپ آموزشی دیدم ولی استاد عباسی چیز دیگرسیت . باز هم ممنون . خدا خیرتون بده
سلام دوست عزیز، ممنون از لطف شما خوشحالیم که دوره براتون مفید بوده موفق باشید
با عرض سلام و خسته نباشید ببخشید من در این دوره شرکت کردم و استاد راجب لینک 60 تا سوال حرف زدن کجا میتونم این 60 تا سوال رو تهیه کنم
سلام علیرضا جان، وقتتون بخیر، از اینکه درسمن را برای یادگیری برنامه نویسی انتخاب کردید از شما ممنونیم.
https://darsman.com/course/c-plus-plus-practices/ به این لینک بروید و روی دانلود کلیک کنید.
بسیار عالی و با استادی تمام. ممنون از استاد مهدی عباسی. بنده برنامه نویس نیستم اما بسیار علاقمندم به این حوزه. فعلاً از فیلم های رایگان شما استفاده می کنم. امیدوارم راضی باشید. ان شاءالله بعد از راه افتادن در دوره های پیشرفته مزاحمتان خواهم شد. رشته کاری بنده در حوزه برق قدرت با تجربه حدود 20 ساله با دوره های مهارت محور در حوزه برق و الکترونیک
خیلی خوشحالیم که به جمع درسمنی ها پیوستید، امیدواریم در این راهی که قدم گذاشته اید موفق و پیروز باشید و مطمئن باشید درسمن این راه را برایتان آسان می کند.
این بهترین و کار آمدترین دورهای بود ک تو عمرم دیدم داشتم کم کم علاقمو کلا به برنامه نویسی از دست میدادم و فکر میکردم استعدادش و ندارم اما این دوره کمک کرد بفهمم که با تمرین و راه درست هر کسی میتونه برنامه نویسی یاد بگیر بازم ممنون از مهندس عباسی بخاطر تدریس خوبشون
خیلی ممنونیم بابت درج کامنت انرژی بخشتون، امیدواریم در این راهی که قدم گذاشتید با تلاش فراوان به یک متخصص حرفه ای تبدیل شوید.
سلام خدا قوت چطوری میتونم اون 60 سوالی که استاد توی دوره گفتن به صورت پی دی اف هستش رو پیدا کنم؟
سلام دوست عزیز وقتتون بخیر، در چت پشتیبان این موضوع را مطرح نمایید، اگر در صورت لزوم فایلی وجود داشت برایتان ضمیمه خواهند کرد.
سلام وقتتون بخیر اول خواستم تشکر کنم از تیم درسمن که محتوای باکیفیتی تولید میکنند. و از استاد عباسی عزیز هم تشکر میکنم بابت تدریس عالیشون من یه سوال داشتم خدمتتون، داخل جلسه چهارم بخش دوم استاد عباسی لینک 60 تا سوال مربوط به مسائل برنامه نویسی و الگوریتم رو به دانشجوها داد. بیزحمت اگه ممکنه لینک دانلود سوالهارو برام بفرستید ممنون میشم 💙🙏
سلام سعید جان، خیلی ممنون از همراهیتون، باشه حتما در اسرع وقت پیگیری خواهد شد و براتون ارسال می شود.
سلام، خسته نباشید. من دوره سی شارپ مقدماتی رو از یک منبع دیگه قبلا آموزش دیده بودم ولی برای حل مسائل (حتی ساده ترین اونها)گیج میشدم،این دوره خیلی به من کمک کردم تا دید بهتری به حل مسائل پیدا کنم و واقعا سطحمو ارتقا داد . ممنون از استاد عباسی عزیز و تیم حرفه ای شون.امیدوارم بازم از این دوره های خفن منتشر بشه:)
ممنونیم از شما به خاطر اینکه بعد از مشاهده هر دوره نظرتون به صراحت درج میکنید و ویژگی های دوره رو به کاربران عزیز بازگو می کنید.
مطمئن باشید کلی دوره خوب قراره براتون منتشر کنیم.
جواب سوالاتی که مدرس توی دوره میپرسه و جواب داده نمیشه کجا گذاشته شده؟
می توانید سوال را در انجمن برنامه نویسی درسمن بپرسید تا دوستان راهنمایتون کنند.
توضیحات دوره
آموزش الگوریتم، ساخت ذهنیت برنامه نویس حرفه ای
سلام کاربران عزیز درسمن امروز با یکی دیگر از آموزش های مهم و کاربردی در دنیای برنامه نویسی با ما همراه هستید.
این دوره آموزشی ما در مورد الگوریتم و حل مسئله در برنامه نویسی است که هر فردی اگر بخواهد برنامه نویسی را شروع کند باید قبل از شروع با الگوریتم و فلوچارت آشنا باشد.
اگر درمورد الگوریتم و فلوچارت اطلاعاتی ندارید در ادامه درمورد آن صحبت می کنیم.
الگوریتم چیست؟
الگوریتم روشی گام به گام برای حل مسئله می باشد، هر دستورالعملی که مراحل انجام دادن کاری را با زبانی دقیق و با جزئیات کامل بیان کند به طوری ترتیب مراحل مسئله و شرط پایان عملیات در آن مشخص باشد را الگوریتم گفته می شود.
برای حل یک مسئله هر شخص باید بتواند مراحل زیر را انجام دهد:
- مسئله را به صورت شفاف شرح دهد.
- در صورت نیاز مسئله را به مسئله های کوچکتر تقسیم کند.
- برای هر زیر مسئله راه حل مرحله به مرحله ایجاد کند.
آشنایی با ویژگی های الگوریتم
1. استفاده کردن از زبانی دقیق، ساده و قابل فهم:
این ویژگی باعث می شود که در انجام دستورالعمل ها یک برداشت یکسان بدست آید و در غیر اینصورت برداشت های متفاوت باعث می شود که دستورالعمل ها نتایج متفاوتی ایجاد کنند.
زبان الگوریتم می تواند یکی از زبان های گفتاری و نوشتاری مثل فارسی یا انگلیسی و... باشد.
2. استفاده کردن از جزئیات کافی
داشتن این ویژگی باعث می شود دستورالعمل ها به طور کامل اجرا شوند. وجود موارد نامشخص و دستورالعمل های کلی باعث از بین رفتن نتایج می شود.
3. ترتیب انجام دستورالعمل ها
یکی از ویژگی های مهم یک الگوریتم ترتیب انجام دستورالعمل می باشد که اگر این کار به درستی انجام نشود پیش بینی نتیجه کار مشخص نخواهد بود. در یک الگوریتم ترتیب انجام عملیات با استفاده از شماره گذاری دستورالعمل ها انجام می شود.
4. شروع و پایان الگوریتم:
در یک الگوریتم باید شروع دستورالعمل ها مشخص شود و هر الگوریتم یک نقطه شروع دارد و به عنوان اولین دستورالعمل از آن استفاده می کنند، پایان آن هم باید مشخص باشد و یک الگوریتم می تواند بیشتر از یک نقطه پایان داشته باشد.
برای اینکه درک بهتری از این موضوع داشته باشید مثالی برای شما شرح می دهیم:
الگوریتم استفاده از تلفن
- شروع کن
- گوشی تلفن را بردار
- شماره مورد نظر را بگیر
- صحبت کن
- گوشی تلفن را در جای خود قرار بده
- پایان
انواع الگوریتم
انواع مختلفی الگوریتم وجود دارد که هر کدام نیز کاربرد خاص خودشان را دارند. در ادامه نیز چند مورد از انواع الگوریتم ها را به تفصیل آورده ایم.
الگوریتم موتور جستجو
الگوریتم موتور جستجو یکی از الگوریتم های پرکاربرد در برنامه نویسی است. الگوریتم جستجو متشکل از فرمولی منحصر به فرد است که یک موتور جستجو با استفاده از آن عمل بازیابی اطلاعات خاصی را که قبلا ذخیره شده است در یک ساختار داده ای استفاده می کند.
الگوریتم رمزگذاری
الگوریتم رمزگذاری روشی است که برای تبدیل داده ها به متن رمز گذاری شده استفاده می شود. این الگوریتم از کلید رمزگذاری استفاده میکند تا دادهها را به روشی قابل پیش بینی تغییر دهد. این امر به نحوی صورت می گیرد که حتی اگر داده های رمزگذاری شده تصادفی به نظر برسند، میتوان با استفاده از کلید رمزگشایی آن ها را به متن ساده ای تبدیل کرد.
هدف استفاده از الگوریتم رمزگذاری برقراری امنیت در حین انتقال داده های الکترونیکی است. این الگوریتم از رمز های بلوکی متفاوت برای رمزگذاری استفاده می کند.
الگوریتم حریصانه
الگوریتم حریصانه برای حل یک مشکل با انتخاب بهترین گزینه موجود عمل میکند. با این حال یکی از نگرانی های برنامه نویسان این است که آیا بهترین گزینه موجود، بهینه ترین گزینه هم هست یا خیر. در جواب به این سوال باید بگوییم الگوریتم حریصانه هرگز تصمیم قبلی خود را معکوس نمی کند حتی اگر این تصمیم اشتباه باشد.
علت انتخاب نام حریصانه برای این الگوریتم این است که این الگوریتم مشکل بزرگ تر را به بخش های کوچک تقسیم می کند و آن را یک مشکل بزرگ نمیبیند. الگوریتم حریصانه برای مشکل های کوچک راه حل های سریع و بهینه را ارائه می دهد و حل کردن یک مسئله را به شدت آسان می کند. هدف این الگوریتم ساده سازی مسئله و گرفتن سریع ترین خروجی ها می باشد. این الگوریتم از بالا به پایین پیمایش می کند.
الگوریتم بازگشتی
این الگوریتم نام آشنا ترین الگوریتم در بین برنامه نویسان است. اگر بخواهیم ساده و مختصر الگوریتم بازگشتی را توضیح دهیم، باید بگوییم این الگوریتم خودش را بارها و بارها فراخوانی می کند تا مسئله حل شود. نکته ای که در این الگوریتم وجود دارد این است که در هر بار فراخوانی، مقدار ورودی کوچک تر از دفعه قبل می شود. الگوریتم بازگشتی ورودی کوچکتر را فراخوانی می کند و اعمالی را که از قبل مشخص شده است روی آن ورودی انجام داده و نتیجه را به عنوان ورودی بعدی به الگوریتم برمیگرداند. انواع الگوریتم بازگشتی به شرح زیر می باشد.
- بازگشت مستقیم
- بازگشت غیر مستقیم
- بازگشت دُم
- بدون دُم / بازگشت سَر
- بازگشت خطی
- بازگشت درخت
الگوریتم عقبگرد
یکی دیگر از الگوریتم هایی که در حل مسئله استفاده می شود، الگوریتم عقبگرد است. این الگوریتم برای یافتن خروجی از رویکرد brute force استفاده می کند. این رویکرد بدین صورت عمل می کند که تمامی راه حل های موجود را امتحان کرده و در نهایت یک یا چند مورد از بهترین راه حل ها را انتخاب می کند.
از این الگوریتم زمانی استفاده می کنیم که می خواهیم یک راه حل تدریجی برای یک مشکل پیدا کنیم . این الگوریتم برای حل مسائلی که بهینه بودن در آن ها اولویت دارد بسیار موثر است. بعضا برای پیدا کردن تمامی راه حل های ممکن از الگوریتم عقبگرد استفاده می شود.
الگوریتم تقسیم و غلبه
این الگوریتم به عنوان سه بخش در نظر گرفته میشود.
- مسئله را به بخش های کوچک تر تقسیم می کنیم. این تقسیم بندی باید به گونه ای باشد که مشکل هر بخش با مشکل کلی یکی باشد.
- مشکلات کوچک را با الگوریتم بازگشتی حل کرده و بر آن ها غلبه می کنیم.
- تمامی راه حل هایی که برای بخش های فرعی و کوچک در نظر گرفته ایم را با راه حل اصلی ادغام می کنیم.
الگوریتم پویا
الگوریتم پویا که به اختصار به صورت DP نشان داده می شود، یک روش الگوریتمی است که برای حل بهینه مسائل مورد استفاده قرار می گیرد. الگوریتم پویا با تقسیم یک مسئله به قسمت های کوچک تر اقدام به حل مشکل می کند. این الگوریتم با این رویکرد که راه حل بهینه برای مشکل بزرگ، وابسته به راه حل های بهینه برای بخش های کوچک تر است، عمل می کند.
الگوریتم مرتب سازی
الگوریتم مرتب سازی الگوریتمی است که عناصر موجود در یک لیست را به ترتیب قرار می دهد. این ترتیب می تواند بر اساس بزرگ به کوچک و یا کوچک به بزرگ اعداد باشد. و یا مرتب سازی بر اساس ترتیب واژگان صعودی یا نزولی باشد. اصولا مرتب سازی با هدف متعارف ساختن داده ها و همچنین تولید خروجی قابل فهم و خوانش برای انسان صورت می گیرد.
الگوریتم هش
الگوریتم هش یک تابع هش رمز گذاری شده است که داده ها را دستکاری و غیر قابل خواندن می کند.الگوریتم هش که یک الگوریتم ریاضی است، داده های با اندازه متفاوت را به یک هش با اندازه ثابت تبدیل می کند. کاربرد این الگوریتم زمانی است که می خواهیم مطمئن شویم که داده ها در حین انتقال بدون تغییر به دست مخاطبان می رسد. الگوریتم تابع هش به گونه ای طراحی شده است که یک تابع یک طرفه و غیر قابل وارونه شدن، باشد.
الگوریتم تصادفی
الگوریتم تصادفی الگوریتمی است که میزان مشخصی از تصادفی بودن را در منطق خود دارد و با این رویکرد فعالیت می کند. به بیانی دیگر این الگوریتم برای تصمیم گیری های خودش از اعداد تصادفی استفاده می کند. این الگوریتم معمولا از بیت های تصادفی که به صورت یکنواخت هستند به عنوان ورودی استفاده می کند. به عنوان مثال در مرتب سازی تصادفی اعداد از یک عدد تصادفی شروع می کنیم. هدف از این کار کاهش پیچیدگی زمانی است.
فلوچارت چیست؟
بیان کردن تصویری الگوریتم با کمک مجموعه استاندارد از اشکال ساده را فلوچارت می گویند. برای توضیح مراحل حل مسائل از چند جمله کلی و استاندارد استفاده می شود با دسته بندی کردن این جملات و انتساب هر دستور به یک شکل می توان الگوریتم را از حالت نوشتاری به حالت تصویری تبدیل کرد.
فلوچارت مجموعه ای از علائم تصویری ساده است که الگوریتم را به شکل نماد های تصویری یا نموداری شرح می دهد. با رسم کردن فلوچارت درک الگوریتم ساده تر و نوشتن برنامه آسان تر می شود. در واقع فلوچارت یکی از روش های برقراری ارتباط منطقی بین مراحل مختلف حل مساله است.
فلوچارت تشکیل شده از اشکالی است که این شکل ها دارای مفهوم خاصی می باشند.برای حل مسائل پیچیده و طولانی بهتر است از فلوچارت استفاده شود برنامه نویس از روی فلوچارت بهتر می تواند برنامه را پیاده سازی کند.
فلوچارت به چهار دسته کلی تقسیم می شود:
- فلوچارت مستندات
- فلوچارت دادهها
- فلوچارت سامانهها
- فلوچارت برنامهها
اجزای فلوچارت به شرح زیر می باشد:
- شروع و پایان
- ترتیب
- محاسبات
- شرط ها
- ورودی داده ها
- چاپ و نمایش داده ها
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.