کتاب مقدمهای بر برنامهنویسی تابعی با Haskell: تحول در شیوهٔ تفکر دربارهٔ کدنویسی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
249,950 تومان
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره مقدمهای بر برنامهنویسی تابعی با 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
برنامه نویسی تابعی
شیوه تفکر کدنویسی
علوم کامپیوتر
مقدمه برنامه نویسی
مهندسی نرم افزار
هسکل
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.