کتاب آموزش C و Software Engineering: مهندسی نرم افزار با C با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

آموزش C و Software Engineering: ورود به دنیای مهندسی نرم افزار با C آموزش C و Software Engineering: مهندسی نرم افزار با C آیا آماده‌اید تا به یک مهندس نرم‌افزار حرفه‌ای تبدیل شوید؟ آیا رویای ساخت نرم‌...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 87,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره آموزش 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++

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.