اپلیکیشن اندرویدی فلشکارت آموزشی محاسبات آکادمیک و پژوهشی با پایتون
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره محاسبات آکادمیک و پژوهشی با پایتون
موضوع کلی: برنامه نویسی
موضوع میانی: محاسبات سطح بالا (High-Performance Computing)
📋 سرفصلهای دوره
- 1. مقدمهای بر محاسبات علمی و سطح بالا
- 2. چرا پایتون برای پژوهش؟
- 3. نصب پایتون و مدیریت محیطها (Anaconda, venv)
- 4. مبانی سینتکس پایتون: متغیرها، انواع داده و عملگرها
- 5. ساختارهای داده اصلی: لیستها، تاپلها و دیکشنریها
- 6. کنترل جریان: دستورات شرطی و حلقهها
- 7. توابع، لامبدا و دکوراتورها
- 8. کلاسها و برنامهنویسی شیءگرا در پایتون
- 9. مدیریت خطا و استثناها (Exception Handling)
- 10. کار با فایلها و ورودی/خروجی
- 11. ماژولها، پکیجها و فضای نام (Namespace)
- 12. مقدمهای بر کتابخانههای استاندارد مفید برای پژوهش
- 13. بهترین شیوههای کدنویسی پایتون (PEP 8)
- 14. محیطهای توسعه یکپارچه (IDE) و نوتبوکها (Jupyter, VS Code)
- 15. معرفی NumPy و آرایه ndarray
- 16. ایجاد آرایهها در NumPy: از لیستها، توابع و فایلها
- 17. اندیسگذاری و برش (Slicing) پیشرفته در آرایههای چندبعدی
- 18. تغییر شکل و ابعاد آرایهها
- 19. عملیات پایه ریاضی و Broadcasting در NumPy
- 20. توابع جهانی (Universal Functions - ufuncs)
- 21. جبر خطی با ماژول `numpy.linalg`
- 22. تولید اعداد تصادفی و آمار با `numpy.random`
- 23. ورودی و خروجی دادهها در NumPy
- 24. معرفی Pandas: ساختارهای داده Series و DataFrame
- 25. خواندن و نوشتن دادهها (CSV, Excel, JSON)
- 26. انتخاب و فیلتر کردن دادهها (loc, iloc)
- 27. پاکسازی و مدیریت دادههای گمشده (Missing Data)
- 28. عملیات بر روی رشتهها و دادههای متنی
- 29. گروهبندی و تجمیع دادهها (Groupby)
- 30. ادغام و اتصال DataFrame ها (Merge, Join, Concat)
- 31. کار با دادههای سری زمانی (Time Series)
- 32. آشنایی با SciPy و ماژولهای اصلی آن
- 33. بهینهسازی و ریشهیابی با `scipy.optimize`
- 34. درونیابی (Interpolation) و انتگرالگیری عددی
- 35. پردازش سیگنال و تصویر با SciPy
- 36. مبانی مصورسازی داده با Matplotlib
- 37. ایجاد نمودارهای خطی، میلهای و پخشی
- 38. سفارشیسازی نمودارها: عناوین، برچسبها و رنگها
- 39. کار با چندین نمودار (Subplots)
- 40. مصورسازی آماری با Seaborn
- 41. تحلیل پیچیدگی الگوریتمها (Big O Notation)
- 42. پروفایلینگ کد: اندازهگیری زمان اجرا (`timeit`)
- 43. پروفایلینگ خط به خط با `cProfile` و `line_profiler`
- 44. تحلیل مصرف حافظه با `memory_profiler`
- 45. تکنیکهای بهینهسازی: Vectorization به جای حلقهها
- 46. معرفی کامپایل درجا (Just-in-Time - JIT)
- 47. افزایش چشمگیر سرعت با Numba
- 48. مفاهیم همزمانی (Concurrency) و موازیسازی (Parallelism)
- 49. قفل مفسر سراسری (Global Interpreter Lock - GIL) و تاثیرات آن
- 50. موازیسازی مبتنی بر نخ (Threading)
- 51. موازیسازی مبتنی بر فرآیند (Multiprocessing)
- 52. استخر فرآیندها (Process Pool) برای موازیسازی وظایف
- 53. ارتباط بین فرآیندها (Queues, Pipes)
- 54. همگامسازی فرآیندها: قفلها (Locks) و سمافورها (Semaphores)
- 55. حافظه اشتراکی (Shared Memory) بین فرآیندها
- 56. رابط سطح بالا برای موازیسازی: `concurrent.futures`
- 57. معرفی Dask برای محاسبات موازی و توزیعشده
- 58. آرایههای Dask (Dask Arrays) برای دادههای بزرگ
- 59. دیتافریمهای Dask (Dask DataFrames)
- 60. زمانبندهای (Schedulers) Dask: محلی و توزیعشده
- 61. مصورسازی گراف محاسباتی در Dask
- 62. راهاندازی یک کلاستر Dask
- 63. معماری سیستمهای محاسباتی سطح بالا (HPC)
- 64. کار با ترمینال لینوکس و اتصال از راه دور (SSH)
- 65. انتقال فایلها به کلاستر (SCP, SFTP)
- 66. مقدمهای بر زمانبندهای کار (Job Schedulers)
- 67. آشنایی با SLURM: مفاهیم و دستورات اصلی
- 68. نوشتن اسکریپتهای ارسال کار (Submission Scripts) برای SLURM
- 69. مدیریت کارها، منابع و وابستگیها در SLURM
- 70. مقدمهای بر MPI (Message Passing Interface)
- 71. آشنایی با کتابخانه `mpi4py`
- 72. ارتباط نقطه به نقطه (Point-to-Point) در `mpi4py`
- 73. ارتباطات گروهی (Collective Communications) در `mpi4py`
- 74. چرا به کدهای کامپایلی نیاز داریم؟
- 75. فراخوانی توابع C از پایتون با `ctypes`
- 76. مقدمهای بر Cython: ترکیب پایتون و C
- 77. تایپ ایستا در Cython برای افزایش سرعت
- 78. کامپایل کردن ماژولهای Cython
- 79. یکپارچهسازی Cython با NumPy
- 80. عبور از GIL در Cython برای موازیسازی واقعی
- 81. معرفی Pybind11 برای اتصال پایتون و C++
- 82. مقدمهای بر معماری GPU و محاسبات عمومی روی آن (GPGPU)
- 83. آشنایی با پلتفرم CUDA
- 84. معرفی CuPy: آرایههای NumPy روی GPU
- 85. عملیات پایه و جبر خطی با CuPy
- 86. انتقال داده بین حافظه CPU و GPU
- 87. نوشتن کرنلهای سفارشی GPU با Numba CUDA
- 88. مدیریت بلاکها و نخها در Numba CUDA
- 89. یکپارچهسازی محاسبات GPU با کتابخانههای علمی
- 90. آشنایی با PyCUDA
- 91. کنترل نسخه با Git برای پژوهش تکرارپذیر
- 92. کار با GitHub برای همکاری و اشتراکگذاری کد
- 93. نوشتن تست برای کدهای علمی با Pytest
- 94. مستندسازی کد با Docstrings و Sphinx
- 95. فرمتهای ذخیرهسازی دادههای بزرگ (HDF5, Parquet)
- 96. مدیریت وابستگیهای پروژه
- 97. ایجاد رابط خط فرمان (CLI) برای ابزارهای پژوهشی
- 98. مبانی کانتینرسازی با Docker برای محیطهای تکرارپذیر
- 99. جمعبندی دوره و پروژه نهایی: حل یک مسئله علمی واقعی
- 100. **مصورسازی دادهها با Matplotlib و Seaborn: نمودارها، هیستوگرامها، Heatmap و رسم دادههای آماری**
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.