کتاب آموزش C و Software Engineering: مهندسی نرم افزار با C با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
آموزش C و Software Engineering: ورود به دنیای مهندسی نرم افزار با C آموزش C و Software Engineering: مهندسی نرم افزار با C آیا آمادهاید تا به یک مهندس نرمافزار حرفهای تبدیل شوید؟ آیا رویای ساخت نرم...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره آموزش C و Software Engineering: مهندسی نرم افزار با C
موضوع کلی: برنامه نویسی
موضوع میانی: سی (C)
📋 سرفصلهای دوره
- 1. مقدمه: چرا C و مهندسی نرمافزار؟
- 2. تاریخچه زبان C و اهمیت آن در دنیای امروز
- 3. نصب و راهاندازی محیط توسعه (کامپایلر و IDE)
- 4. اولین برنامه: سلام دنیا! و تحلیل ساختار آن
- 5. آناتومی یک برنامه C: توابع، دستورات و کامنتها
- 6. متغیرها و انواع دادههای اصلی (int, char, float, double)
- 7. ثابتها (Constants) و کلمه کلیدی `const`
- 8. ورودی و خروجی استاندارد: `printf` و `scanf`
- 9. عملگرهای حسابی و اولویت آنها
- 10. عملگرهای رابطهای و منطقی
- 11. عملگرهای بیتی (Bitwise Operators)
- 12. عملگرهای افزایشی و کاهشی (`++`, `--`)
- 13. عملگرهای انتساب ترکیبی
- 14. ساختارهای تصمیمگیری: `if` و `else`
- 15. ساختارهای تصمیمگیری تو در تو و `else if`
- 16. عملگر شرطی سهتایی (`? :`)
- 17. ساختار انتخاب `switch-case`
- 18. حلقهی `for` و کاربردهای آن
- 19. حلقهی `while`
- 20. حلقهی `do-while`
- 21. حلقههای تو در تو
- 22. دستورات `break` و `continue`
- 23. مقدمهای بر توابع: تعریف و فراخوانی
- 24. پارامترها و مقادیر بازگشتی توابع
- 25. اعلان توابع (Function Prototypes)
- 26. حوزه دید متغیرها: محلی، سراسری و بلاک
- 27. کلاسهای ذخیرهسازی (`auto`, `register`, `static`, `extern`)
- 28. توابع بازگشتی (Recursion)
- 29. آرایههای یک بعدی: تعریف و مقداردهی
- 30. پیمایش و کار با آرایهها
- 31. ارسال آرایه به توابع
- 32. آرایههای چندبعدی
- 33. مقدمهای بر پوینترها: آدرس و مقدار
- 34. تعریف و استفاده از متغیرهای پوینتر
- 35. پوینترها و آرایهها: یک رابطه نزدیک
- 36. محاسبات روی پوینترها (Pointer Arithmetic)
- 37. ارسال پوینتر به توابع (Call by Reference)
- 38. پوینتر به پوینتر (Double Pointers)
- 39. پوینترهای `void` و کاربردهای آن
- 40. رشتهها به عنوان آرایهای از کاراکترها
- 41. توابع کتابخانه استاندارد رشتهها (`string.h`)
- 42. ساختارها (`struct`): تعریف و استفاده
- 43. آرایهای از ساختارها
- 44. پوینتر به ساختار و عملگر `->`
- 45. ساختارهای تو در تو (Nested Structs)
- 46. فیلدهای بیتی (Bit Fields)
- 47. اجتماعها (`union`) و تفاوت آن با ساختار
- 48. انواع شمارشی (`enum`)
- 49. تعریف انواع داده جدید با `typedef`
- 50. مدیریت حافظه پویا: `malloc` و `free`
- 51. توابع `calloc` و `realloc`
- 52. خطاهای رایج در مدیریت حافظه (Memory Leaks, Dangling Pointers)
- 53. کار با فایلها: مقدمه و حالتهای باز کردن فایل
- 54. خواندن و نوشتن فایلهای متنی (`fprintf`, `fscanf`)
- 55. خواندن و نوشتن کاراکتر به کاراکتر (`fgetc`, `fputc`)
- 56. خواندن و نوشتن فایلهای باینری (`fread`, `fwrite`)
- 57. توابع موقعیتیابی در فایل (`fseek`, `ftell`, `rewind`)
- 58. پیشپردازنده C: دستور `#include`
- 59. ماکروها و دستور `#define`
- 60. ماکروهای دارای آرگومان
- 61. کامپایل شرطی (`#if`, `#ifdef`, `#ifndef`, `#else`, `#endif`)
- 62. اشارهگر به تابع (Function Pointers)
- 63. آرایهای از اشارهگرهای به تابع
- 64. آرگومانهای خط فرمان (`argc` و `argv`)
- 65. مقدمهای بر مهندسی نرمافزار و چرخه حیات توسعه (SDLC)
- 66. اصول برنامهنویسی ساختیافته
- 67. ماژولار بودن و اصل تفکیک دغدغهها (Separation of Concerns)
- 68. انتزاع (Abstraction) و کپسولهسازی (Encapsulation) در C
- 69. سازماندهی پروژه: فایلهای هدر (`.h`) و فایلهای منبع (`.c`)
- 70. گارد هدر (`Header Guards`) برای جلوگیری از تکرار
- 71. ساخت پروژههای چند فایلی
- 72. مقدمهای بر ابزارهای ساخت (Build Systems): `Make` و `Makefile`
- 73. نوشتن یک `Makefile` ساده و کار با آن
- 74. مدیریت خطاها و مقادیر بازگشتی استاندارد
- 75. استفاده از `errno` و `perror` برای گزارش خطاهای سیستمی
- 76. اصول و استانداردهای کدنویسی (Coding Standards)
- 77. اهمیت کامنتگذاری و مستندسازی کد
- 78. اشکالزدایی (Debugging): تکنیکها و استراتژیها
- 79. استفاده از یک دیباگر (مانند GDB)
- 80. مقدمهای بر ساختمان دادهها و الگوریتمها
- 81. تحلیل پیچیدگی الگوریتمها (Big O Notation)
- 82. لیست پیوندی تکطرفه (Singly Linked List)
- 83. پیادهسازی عملیات اصلی در لیست پیوندی تکطرفه
- 84. لیست پیوندی دوطرفه (Doubly Linked List)
- 85. پشته (Stack) و پیادهسازی آن
- 86. صف (Queue) و پیادهسازی آن
- 87. درخت جستجوی دودویی (Binary Search Tree - BST)
- 88. پیمایش درخت (Pre-order, In-order, Post-order)
- 89. جدول درهمسازی (Hash Table) با روش زنجیرهای
- 90. الگوریتمهای جستجو: جستجوی خطی و دودویی
- 91. الگوریتمهای مرتبسازی: مرتبسازی حبابی و درجی
- 92. الگوریتمهای مرتبسازی: مرتبسازی ادغامی (Merge Sort)
- 93. الگوریتمهای مرتبسازی: مرتبسازی سریع (Quick Sort)
- 94. کتابخانههای استاتیک (`.a`): ساخت و استفاده
- 95. کتابخانههای پویا (اشتراکی) (`.so`): ساخت و استفاده
- 96. تعامل با سیستمعامل: فراخوانیهای سیستمی پایه
- 97. مقدمهای بر برنامهنویسی چندنخی (Multi-threading) با Pthreads
- 98. مقدمهای بر برنامهنویسی سوکت (Socket Programming)
- 99. پروفایلینگ کد برای شناسایی گلوگاههای عملکردی
- 100. کنترل نسخه با Git: اصول اولیه و گردش کار
تگها:
C Language
C Programming
C++ tutorial
Programming
Software Engineering
آموزش C++
آموزش برنامه نویسی
اصول مهندسی نرم افزار
برنامه نویسی
برنامه نویسی C++
دوره C#
مقدمات C
مهندسی نرم افزار
یادگیری C++
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.