اپلیکیشن اندرویدی فلشکارت آموزشی معماری زبانهای برنامهنویسی: سفری به هسته کامپایلرها و سیستمها
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره معماری زبانهای برنامهنویسی: سفری به هسته کامپایلرها و سیستمها
موضوع کلی: علوم کامپیوتر
موضوع میانی: اصول زبانهای برنامهنویسی
📋 سرفصلهای دوره
- 1. مفاهیم پایه زبانهای برنامهنویسی
- 2. پارادایمهای برنامهنویسی: امری، اعلانی، شیگرا
- 3. گرامرها و زبانهای صوری
- 4. عبارات باقاعده و ماشینهای حالات متناهی
- 5. تجزیهکنندهها: بالا به پایین و پایین به بالا
- 6. تجزیهکننده بازگشتی نزولی
- 7. تجزیهکننده LR
- 8. تجزیهکننده LL
- 9. تولیدکننده تجزیهکننده (Parser Generator)
- 10. تحلیل لغوی (Lexical Analysis)
- 11. جدول نشانهها (Symbol Table)
- 12. مدیریت حافظه: پشته، هیپ، زبالهروبی
- 13. انواع داده ای: انواع اصلی، انواع ساختیافته
- 14. سیستم نوع (Type System): بررسی نوع ایستا و پویا
- 15. استنتاج نوع (Type Inference)
- 16. انطباق نوع (Type Conversion)
- 17. زیرنوع (Subtyping)
- 18. انواع پارامتری (Parametric Types)
- 19. برنامهنویسی جنریک (Generic Programming)
- 20. توابع مرتبه بالا (Higher-Order Functions)
- 21. بستارها (Closures)
- 22. ادامه ها (Continuations)
- 23. ارزیابی تنبل (Lazy Evaluation)
- 24. ارزیابی مشتاق (Eager Evaluation)
- 25. مدلهای حافظه و همزمانی
- 26. نخها و فرآیندها
- 27. قفلها و سمفورها
- 28. مانیتورها
- 29. ارتباط پیام (Message Passing)
- 30. حافظه مشترک (Shared Memory)
- 31. حلقههای رویداد (Event Loops)
- 32. همگامسازی ناهمزمان (Asynchronous Synchronization)
- 33. مدل Actor
- 34. مدیریت استثناها (Exception Handling)
- 35. معماری کامپایلر
- 36. مراحل کامپایلاسیون: تحلیل، بهینهسازی، تولید کد
- 37. نمایش میانی (Intermediate Representation)
- 38. ماشین مجازی (Virtual Machine)
- 39. کد میانی سه آدرسی (Three-Address Code)
- 40. بهینهسازی کد (Code Optimization): Peephole Optimization
- 41. بهینهسازی کد: Data-Flow Analysis
- 42. بهینهسازی کد: Control-Flow Analysis
- 43. بهینهسازی کد: Loop Optimization
- 44. بهینهسازی کد: Function Inlining
- 45. تولید کد برای معماریهای مختلف
- 46. ثباتها و تخصیص ثبات (Register Allocation)
- 47. مجموعه دستورالعملها (Instruction Set Architecture)
- 48. کامپایل Just-In-Time (JIT)
- 49. تفسیر (Interpretation)
- 50. مفسرهای درختی (Tree Interpreters)
- 51. مفسرهای بایتکدی (Bytecode Interpreters)
- 52. زبانهای اسکریپتی
- 53. متا-برنامهنویسی (Meta-Programming)
- 54. ماکروها (Macros)
- 55. بازتاب (Reflection)
- 56. برنامهنویسی دامنه خاص (Domain-Specific Languages - DSLs)
- 57. طراحی DSLهای داخلی (Internal DSLs)
- 58. طراحی DSLهای خارجی (External DSLs)
- 59. ابزارهای ساخت زبان (Language Construction Tools)
- 60. کامپایلر کامپایلرها (Compiler-Compilers)
- 61. استراتژیهای ارزیابی (Evaluation Strategies)
- 62. مدل معنایی عملیاتی (Operational Semantics)
- 63. مدل معنایی دلالتی (Denotational Semantics)
- 64. مدل معنایی بدیهی (Axiomatic Semantics)
- 65. تحلیل ایستا (Static Analysis)
- 66. تأیید مدل (Model Checking)
- 67. آزمایش نرمافزار و تصدیق صحت (Verification)
- 68. سیستمهای نوع وابسته (Dependent Type Systems)
- 69. برنامهنویسی همزمان (Concurrent Programming)
- 70. برنامهنویسی موازی (Parallel Programming)
- 71. محاسبات توزیع شده (Distributed Computing)
- 72. زبانهای برنامهنویسی تابعی (Functional Programming Languages)
- 73. هسکل (Haskell)
- 74. لیسپ (Lisp)
- 75. اسکالا (Scala)
- 76. زبانهای برنامهنویسی شیءگرا (Object-Oriented Programming Languages)
- 77. جاوا (Java)
- 78. سیپلاسپلاس (C++)
- 79. سیشارپ (C#)
- 80. پایتون (Python)
- 81. زبانهای برنامهنویسی منطقی (Logic Programming Languages)
- 82. پرولوگ (Prolog)
- 83. زبانهای برنامهنویسی سیستم (System Programming Languages)
- 84. سی (C)
- 85. راست (Rust)
- 86. زبانهای برنامهنویسی وب (Web Programming Languages)
- 87. جاوااسکریپت (JavaScript)
- 88. پیاچپی (PHP)
- 89. روبی (Ruby)
- 90. Kotlin
- 91. Swift
- 92. TypeScript
- 93. Elixir
- 94. Erlang
- 95. Fortran
- 96. COBOL
- 97. Assembly Language
- 98. زبانهای برنامهنویسی کوئری (Query Languages)
- 99. GraphQL
- 100. ساختارهای داده پیشرفته
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.