اپلیکیشن اندرویدی فلشکارت آموزشی تفکر بازگشتی: جایگزینی حلقهها در برنامهنویسی تابعی
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تفکر بازگشتی: جایگزینی حلقهها در برنامهنویسی تابعی
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی تابعی (Functional Programming)
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی
- 2. مقدمهای بر پارادایمهای برنامهنویسی
- 3. مقدمهای بر برنامهنویسی تابعی
- 4. تفاوت برنامهنویسی تابعی و امری
- 5. مفهوم توابع در ریاضیات
- 6. توابع درجه اول (First-Class Functions)
- 7. توابع درجه دو (Higher-Order Functions)
- 8. عبارات لامبدا (Lambda Expressions)
- 9. توابع بینام (Anonymous Functions)
- 10. یادگیری با مثالهای ساده
- 11. توابع خالص (Pure Functions)
- 12. اثرات جانبی (Side Effects)
- 13. قابلیت پیشبینی (Predictability)
- 14. قابلیت تست (Testability)
- 15. همزمانی (Concurrency) و موازیسازی (Parallelism)
- 16. سادگی کد (Code Simplicity)
- 17. کاهش پیچیدگی (Reducing Complexity)
- 18. بازگشت (Recursion) چیست؟
- 19. تفاوت بازگشت و تکرار (Iteration)
- 20. حالت پایه (Base Case) در بازگشت
- 21. گام بازگشتی (Recursive Step)
- 22. مثالهای ساده بازگشت (فاکتوریل)
- 23. مثالهای ساده بازگشت (فیبوناچی)
- 24. بررسی ریسک حلقههای بینهایت در بازگشت
- 25. توابع کمکی (Helper Functions) در بازگشت
- 26. بازگشت خطی (Linear Recursion)
- 27. بازگشت درختی (Tree Recursion)
- 28. بازگشت دم (Tail Recursion)
- 29. بهینهسازی بازگشت دم (Tail Call Optimization)
- 30. استفاده از کامپایلرها و زبانهایی با TCO
- 31. تبدیل بازگشت به حلقه
- 32. تبدیل حلقه به بازگشت
- 33. کاربرد بازگشت در ساختارهای داده
- 34. بازگشت در لیستها
- 35. بازگشت در درختان
- 36. بازگشت در گرافها
- 37. پیمایش درخت (Tree Traversal) با بازگشت
- 38. بازگشت در مرتبسازی (Sorting Algorithms)
- 39. مرتبسازی ادغامی (Merge Sort) با بازگشت
- 40. مرتبسازی سریع (Quick Sort) با بازگشت
- 41. مرتبسازی درختی (Tree Sort)
- 42. کاربرد بازگشت در جستجو (Searching Algorithms)
- 43. جستجوی دودویی (Binary Search) با بازگشت
- 44. کاربرد بازگشت در پیمایش (Traversal)
- 45. پیمایش عمق اول (DFS) با بازگشت
- 46. پیمایش عمق اول (DFS) با پشته (Stack)
- 47. پیمایش عمق اول (DFS) با استفاده از بازگشت (با پشته ضمنی)
- 48. پیمایش عمق اول (DFS) بدون بازگشت
- 49. پیمایش عرض اول (BFS) با صف (Queue)
- 50. پیمایش عرض اول (BFS) با بازگشت (کمتر رایج)
- 51. کاربرد بازگشت در محاسبات
- 52. محاسبات ترکیبی (Combinatorial Calculations)
- 53. مسئله برج هانوی (Tower of Hanoi)
- 54. مسئله N وزیر (N-Queens Problem)
- 55. توابع مرتبه بالا (Higher-Order Functions)
- 56. filter
- 57. reduce (fold)
- 58. کاربرد map در لیستها
- 59. کاربرد filter در لیستها
- 60. کاربرد reduce در لیستها
- 61. ترکیب توابع (Function Composition)
- 62. پیادهسازی تابع compose
- 63. کاربرد compose در زنجیرهسازی عملیات
- 64. currying
- 65. تبدیل تابع چند آرگومانی به دنباله توابع تک آرگومانی
- 66. استفاده از currying برای سفارشیسازی
- 67. partial application
- 68. توابع نامحدود (Infinite Lists/Streams)
- 69. تولید لیستهای نامحدود با بازگشت
- 70. پردازش لیستهای نامحدود
- 71. کاربرد لیستهای نامحدود در برنامهنویسی تابعی
- 72. نکات پیشرفته در بازگشت
- 73. بازگشت با حافظه (Memoization)
- 74. کاربرد memoization در توابع بازگشتی (مثال فیبوناچی)
- 75. پیادهسازی memoization
- 76. مدیریت حافظه در بازگشت
- 77. مشکل سرریز پشته (Stack Overflow)
- 78. راهکارهای جلوگیری از سرریز پشته
- 79. تکنیکهای جایگزین بازگشت
- 80. بازگشت با تکرار (Iterative Recursion)
- 81. استفاده از ساختارهای داده برای شبیهسازی بازگشت
- 82. مفهوم State Monad (به صورت مقدماتی)
- 83. پیادهسازی Monadic Style (به صورت ساده)
- 84. برنامهنویسی تابعی در زبانهای مختلف
- 85. مثالهای عملی در Python
- 86. مثالهای عملی در JavaScript
- 87. مثالهای عملی در Haskell (به صورت مقدماتی)
- 88. مثالهای عملی در Scala (به صورت مقدماتی)
- 89. مثالهای عملی در Clojure (به صورت مقدماتی)
- 90. مقایسه رویکردهای امری و تابعی برای حل مسائل
- 91. مطالعه موردی: پیادهسازی یک فیلتر ساده با حلقه و بازگشت
- 92. مطالعه موردی: پیادهسازی یک عملیات جمعآوری با حلقه و بازگشت
- 93. مطالعه موردی: پیادهسازی یک الگوریتم پیمایش با حلقه و بازگشت
- 94. مدلسازی مسئله با استفاده از بازگشت
- 95. طراحی توابع بازگشتی موثر
- 96. مراحل طراحی یک تابع بازگشتی
- 97. اشکالزدایی (Debugging) توابع بازگشتی
- 98. ابزارهای کمکی برای اشکالزدایی بازگشت
- 99. نکات کلیدی در یادگیری برنامهنویسی تابعی
- 100. چالشهای رایج در استفاده از بازگشت
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.