کتاب صوتی مقدمهای بر برنامهنویسی تابعی با Haskell: تحول در شیوهٔ تفکر دربارهٔ کدنویسی
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره مقدمهای بر برنامهنویسی تابعی با 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
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
functional programming
Haskell
برنامه نویسی تابعی
شیوه تفکر کدنویسی
علوم کامپیوتر
مقدمه برنامه نویسی
مهندسی نرم افزار
هسکل
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.