کتاب مقدمه‌ای بر برنامه‌نویسی تابعی با Haskell: تحول در شیوهٔ تفکر دربارهٔ کدنویسی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

249,950 تومان
پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 62,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره مقدمه‌ای بر برنامه‌نویسی تابعی با Haskell: تحول در شیوهٔ تفکر دربارهٔ کدنویسی

موضوع کلی: علوم کامپیوتر و مهندسی نرم‌افزار

موضوع میانی: زبان‌های برنامه‌نویسی تابعی (Functional Programming)

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر فلسفهٔ برنامه‌نویسی تابعی
  • 2. تفاوت برنامه‌نویسی تابعی با رویه‌ای و شیءگرا
  • 3. آشنایی با Haskell: زبان تابعی خالص
  • 4. نصب و راه‌اندازی Haskell
  • 5. اولین برنامه در Haskell: سلام دنیا
  • 6. انواع داده‌های پایه در Haskell
  • 7. متغیرها و انتساب (به سبک تابعی)
  • 8. توابع: بلوک‌های سازندهٔ برنامه‌های تابعی
  • 9. تعریف و فراخوانی توابع
  • 10. پارامترهای توابع و بازگشت مقادیر
  • 11. توابع چندآرگومانی و Currying
  • 12. توابع لامبدا (توابع بی‌نام)
  • 13. ترکیب توابع
  • 14. استفاده از توابع در Haskell
  • 15. لیست‌ها: ساختار داده‌ای اساسی
  • 16. عملیات روی لیست‌ها: پیمایش و فیلتر کردن
  • 17. توابع `map` و `filter`
  • 18. توابع `foldr` و `foldl`
  • 19. کاهش دادن لیست‌ها
  • 20. بازگشت در لیست‌ها
  • 21. الگوهای بازگشتی برای پردازش لیست
  • 22. تاپل‌ها: مجموعه‌های مرتب از عناصر ناهمگن
  • 23. کار با تاپل‌ها
  • 24. رشته‌ها در Haskell: لیست‌هایی از کاراکترها
  • 25. کاراکترها و رشته‌ها
  • 26. ساختارهای دادهٔ پیچیده‌تر: رکوردها (Records)
  • 27. تعریف ساختارهای دادهٔ سفارشی
  • 28. استفاده از `data` برای تعریف انواع جدید
  • 29. تعریف انواع جبری (Algebraic Data Types)
  • 30. مثال‌هایی از انواع جبری: Maybe و Either
  • 31. انواع جبری برای مدل‌سازی حالات
  • 32. منطق فازی در Haskell (مقدماتی)
  • 33. کاربرد منطق فازی در سیستم‌های تصمیم‌گیری
  • 34. نحو شرطی در Haskell: `if-then-else`
  • 35. عبارات شرطی و الگویابی
  • 36. الگوهای شرطی (Guards)
  • 37. ساختار `case` برای تطبیق الگو
  • 38. مدیریت خطا با `Maybe`
  • 39. مدیریت خطا با `Either`
  • 40. مقدمه‌ای بر Monads
  • 41. Monad `Maybe` برای مدیریت مقادیر احتمالی
  • 42. Monad `Either` برای مدیریت خطا
  • 43. Monad `IO` برای عملیات ورودی/خروجی
  • 44. چرا Monads؟
  • 45. مفهوم Functor
  • 46. مفهوم Applicative Functor
  • 47. توابع مرتبهٔ بالاتر (Higher-Order Functions)
  • 48. استفادهٔ پیشرفته از `map`, `filter`, `fold`
  • 49. توابع مولد (Generators)
  • 50. تولید دنباله‌های بی‌نهایت
  • 51. کار با دنباله‌های بی‌نهایت
  • 52. نمایش تنبل (Lazy Evaluation)
  • 53. مزایای نمایش تنبل
  • 54. مثال‌هایی از نمایش تنبل
  • 55. تست واحد (Unit Testing) در Haskell
  • 56. چارچوب‌های تست در Haskell
  • 57. نوشتن تست‌های واحد برای توابع
  • 58. اشکال‌زدایی (Debugging) برنامه‌های Haskell
  • 59. تکنیک‌های اشکال‌زدایی
  • 60. استفاده از ابزارهای اشکال‌زدایی
  • 61. مدیریت وابستگی‌ها با Cabal/Stack
  • 62. ساخت پروژه‌های Haskell
  • 63. نصب بسته‌ها
  • 64. کامپایل و اجرای پروژه‌ها
  • 65. مقدمه‌ای بر انواع (Types) در Haskell
  • 66. سیستم انواع Haskell
  • 67. بررسی انواع (Type Checking)
  • 68. استنتاج انواع (Type Inference)
  • 69. مقدمه‌ای بر انواع پارامتریک (Parametric Polymorphism)
  • 70. توابع پارامتریک
  • 71. انواع پارامتریک در عمل
  • 72. مقدمه‌ای بر انواع ضمنی (Type Classes)
  • 73. تعریف Type Classes
  • 74. پیاده‌سازی Instance ها برای Type Classes
  • 75. Type Class `Eq` برای برابری
  • 76. Type Class `Ord` برای ترتیب
  • 77. Type Class `Show` برای نمایش
  • 78. Type Class `Read` برای خواندن
  • 79. Type Class `Num` برای اعداد
  • 80. Type Class `Enum` برای شمارش
  • 81. Type Class `Foldable`
  • 82. Type Class `Traversable`
  • 83. برنامه‌نویسی تابعی برای حل مسائل پیچیده
  • 84. بازگشت و انشعاب (Divide and Conquer)
  • 85. استفاده از توابع تابعی در الگوریتم‌ها
  • 86. ساخت زبان‌های کوچک (DSL) با Haskell
  • 87. مقدمه‌ای بر برنامه‌نویسی موازی در Haskell
  • 88. مفاهیم concurrency در Haskell
  • 89. پردازش موازی با Haskell
  • 90. نکات پیشرفته در Haskell
  • 91. سازگاری با استانداردهای برنامه‌نویسی اسلامی
  • 92. اصول اخلاقی در کدنویسی
  • 93. کاربرد Haskell در هوش مصنوعی (مقدماتی)
  • 94. مقدمه‌ای بر یادگیری ماشین تابعی
  • 95. کاربرد Haskell در تحلیل داده
  • 96. مدیریت داده‌ها با رویکرد تابعی
  • 97. مثال‌های عملی از Haskell در پروژه‌های واقعی
  • 98. مروری بر مفاهیم کلیدی
  • 99. ادامه مسیر یادگیری Haskell
تگ‌ها: functional programming Haskell برنامه نویسی تابعی شیوه تفکر کدنویسی علوم کامپیوتر مقدمه برنامه نویسی مهندسی نرم افزار هسکل

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.