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