اپلیکیشن اندرویدی فلشکارت آموزشی آموزش مقدماتی تا پیشرفته برنامهنویسی تابعی با Haskell (بر اساس کتاب Introduction to DG/L Functional Programming)
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره آموزش مقدماتی تا پیشرفته برنامهنویسی تابعی با Haskell (بر اساس کتاب Introduction to DG/L Functional Programming)
موضوع کلی: برنامهنویسی تابعی و مفاهیم پیشرفته زبانهای برنامهنویسی
موضوع میانی: برنامهنویسی تابعی با زبان Haskell
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی تابعی و مفاهیم پایه
- 2. نصب و راهاندازی محیط Haskell (GHC و Cabal)
- 3. نوعهای داده پایه در Haskell (Int, Float, Bool, Char)
- 4. تعریف توابع ساده و کار با توابع
- 5. توابع مرتبه بالا (Higher-Order Functions)
- 6. کار با لیستها و توابع پرکاربرد (map, filter, foldr)
- 7. فهم توابع ناشناس (Lambda Expressions)
- 8. الگویمطابقت (Pattern Matching) در توابع
- 9. عبارات شرطی و گاردها (Guards)
- 10. تعریف نوعهای داده جدید با data
- 11. نوعهای داده جبری (Algebraic Data Types)
- 12. کلاسهای نوع (Type Classes) و نمونهسازی
- 13. کلاس Eq و Ord برای مقایسه
- 14. کلاس Show و Read برای نمایش و ورودی
- 15. کلاس Num و عملیات عددی
- 16. کلاس Functor و نگاشت روی ظروف
- 17. کلاس Applicative و برنامهنویسی تابعی با ظروف
- 18. کلاس Monad و مفاهیم اولیه
- 19. موناد Maybe برای مدیریت خطا
- 20. موناد List برای محاسبات غیرقطعی
- 21. موناد IO برای ورودی/خروجی
- 22. کار با فایلها و استثناها در IO
- 23. ترکیب مونادها با Monad Transformers
- 24. مفاهیم Pure و Side Effect در Haskell
- 25. محاسبات تنبل (Lazy Evaluation) و مزایا
- 26. ساختارهای داده نامیرا (Immutable Data Structures)
- 27. بازگشت (Recursion) در توابع
- 28. بازگشت دم (Tail Recursion) و بهینهسازی
- 29. توابع بازگشتی روی لیستها
- 30. درختهای دودویی و کار با آنها
- 31. صفحهبندی (Currying) و کاربرد جزئی توابع
- 32. ترکیب توابع با عملگر نقطه (.)
- 33. عملگرهای ترکیبی و تعریف عملگر جدید
- 34. ماژولها و سیستم import/export
- 35. تعریف ماژولهای سفارشی
- 36. نوعهای داده تکراری (Recursive Data Types)
- 37. کلاس Foldable و عملیات fold
- 38. کلاس Traversable و پیمایش
- 39. موناد MaybeT و StateT
- 40. موناد Reader برای اشتراک محیط
- 41. موناد Writer برای جمعآوری خروجی
- 42. موناد State برای حالتهای قابل تغییر
- 43. مفاهیم Monoid و نمونهسازی
- 44. کلاس MonadPlus و عملیات انتخابی
- 45. کلاس Alternative برای جبران خطا
- 46. تحلیل پیچیدگی زمانی و حافظه در Haskell
- 47. بهینهسازی با استفاده از strictness
- 48. کار با دادههای جریان (Streams) و Infinite Lists
- 49. مقدمهای بر کتابخانههای معروف (containers, mtl)
- 50. تکنیکهای پیشرفته: Free Monad
- 51. تکنیکهای پیشرفته: GADTs
- 52. تکنیکهای پیشرفته: Type Families
- 53. تکنیکهای پیشرفته: Functional Dependencies
- 54. مقدمهای بر Type-Level Programming
- 55. کار با زبانهای خاص دامنه (DSL) در Haskell
- 56. مقایسه Haskell با زبانهای تابعی دیگر (Scala, F#, Elixir)
- 57. مقدمهای بر ابزارهای تست (QuickCheck)
- 58. تست بر اساس ویژگی (Property-Based Testing)
- 59. مدیریت وابستگیها با Cabal و Stack
- 60. نوشتن مستندات با Haddock
- 61. مفاهیم Monad Laws و Functor Laws
- 62. کار با دادههای JSON و Aeson
- 63. برنامهنویسی همروند (Concurrency) با Haskell
- 64. مقدمهای بر کتابخانه async
- 65. مدیریت خطا با Either و ExceptT
- 66. مفاهیم Lens و کتابخانه lens
- 67. کار با ساختارهای داده پیچیده با Zipper
- 68. مقدمهای بر الگوهای طراحی تابعی
- 69. پروژه عملی: ساخت یک ماشین حساب ساده
- 70. پروژه عملی: پیادهسازی یک وب سرور ساده با Scotty
- 71. پروژه عملی: تحلیل متن با توابع تابعی
- 72. مرور و جمعبندی مفاهیم پیشرفته
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.