کتاب صوتی برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین

برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین | دروازه‌ای به دنیای برنامه‌نویسی سطح پایین برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین آیا همیشه کنجکاو بوده‌اید که کامپیوترها ...

انتخاب پلن

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

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

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

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

عنوان دوره: برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین

موضوع کلی: مبانی برنامه‌نویسی و علوم کامپیوتر

موضوع میانی: برنامه‌نویسی سطح پایین و معماری سخت‌افزار

📋 سرفصل‌های دوره (100 موضوع)

  • 1. مقدمه‌ای بر کامپیوترهای دیجیتال
  • 2. تاریخچه ماشین‌های محاسبه: از پاسکال تا فون نویمان
  • 3. مفهوم برنامه و الگوریتم
  • 4. معماری فون نویمان: قلب کامپیوتر مدرن
  • 5. واحد پردازش مرکزی (CPU): مغز عملیات
  • 6. حافظه اصلی (Main Memory): انبار داده‌ها و دستورالعمل‌ها
  • 7. واحدهای ورودی و خروجی (I/O): پل ارتباطی با جهان
  • 8. چرخه پردازش دستورالعمل: Fetch-Decode-Execute
  • 9. زبان ماشین: زبان مادری کامپیوتر
  • 10. از زبان ماشین تا زبان‌های سطح بالا: یک نمای کلی
  • 11. سیستم اعداد دودویی (باینری): مبنای محاسبات دیجیتال
  • 12. نمایش اعداد صحیح بدون علامت
  • 13. نمایش اعداد صحیح علامت‌دار: مکمل دو
  • 14. سیستم‌های اعداد هشت (اکتال) و شانزده (هگزادسیمال)
  • 15. عملیات حسابی باینری: جمع و تفریق
  • 16. عملیات منطقی بیتی: AND, OR, NOT, XOR
  • 17. شیفت‌های منطقی و حسابی
  • 18. نمایش اعداد ممیز شناور
  • 19. کدهای کاراکتری: از ASCII تا یونیکد
  • 20. مفهوم کلمه (Word) و بایت (Byte) در حافظه
  • 21. آناتومی دقیق CPU: واحد محاسبه و منطق (ALU)
  • 22. واحد کنترل (Control Unit) و نقش آن
  • 23. ثبات‌ها (Registers): حافظه فوق سریع پردازنده
  • 24. ثبات‌های خاص: شمارنده برنامه (PC) و اشاره‌گر پشته (SP)
  • 25. گذرگاه‌ها (Buses): شاهراه‌های انتقال داده
  • 26. سیگنال ساعت (Clock) و همگام‌سازی عملیات
  • 27. ساختار حافظه و آدرس‌دهی
  • 28. حافظه فقط خواندنی (ROM) و حافظه با دسترسی تصادفی (RAM)
  • 29. سلسله مراتب حافظه: کش، حافظه اصلی، حافظه جانبی
  • 30. ارتباط بین CPU و حافظه
  • 31. مجموعه دستورالعمل (Instruction Set Architecture - ISA)
  • 32. فرمت دستورالعمل‌ها: کد عملیات (Opcode) و عملوندها (Operands)
  • 33. دستورالعمل‌های انتقال داده
  • 34. دستورالعمل‌های حسابی
  • 35. دستورالعمل‌های منطقی
  • 36. دستورالعمل‌های پرش شرطی و غیرشرطی
  • 37. دستورالعمل‌های فراخوانی زیرروال
  • 38. دستورالعمل‌های کار با پشته
  • 39. حالت‌های مختلف آدرس‌دهی: فوری، مستقیم، غیرمستقیم
  • 40. تحلیل یک برنامه ساده در زبان ماشین
  • 41. معرفی زبان اسمبلی: چرا به آن نیاز داریم؟
  • 42. نمادهای حافظه (Mnemonics) در برابر کدهای باینری
  • 43. ساختار یک برنامه اسمبلی
  • 44. اسمبلر (Assembler): مترجم زبان اسمبلی
  • 45. دستورات شبه (Pseudo-operations) و دایرکتیوها
  • 46. تعریف داده‌ها و متغیرها در اسمبلی
  • 47. برچسب‌ها (Labels) و کنترل جریان برنامه
  • 48. پیاده‌سازی حلقه‌ها در اسمبلی
  • 49. پیاده‌سازی ساختارهای شرطی (if-then-else)
  • 50. کار با آرایه‌ها و رشته‌ها
  • 51. عملیات ریاضی پیچیده‌تر: ضرب و تقسیم
  • 52. ماکروها در اسمبلی: اتوماسیون کدنویسی
  • 53. پیوند (Linking) فایل‌های اسمبلی مجزا
  • 54. اشکال‌زدایی (Debugging) برنامه‌های سطح پایین
  • 55. مقایسه معماری‌های RISC و CISC از دیدگاه اسمبلی
  • 56. نقشه حافظه یک فرآیند
  • 57. بخش کد (Code Segment)، بخش داده (Data Segment)
  • 58. مفهوم پشته (Stack) و کاربردهای آن
  • 59. مفهوم هیپ (Heap) و تخصیص حافظه پویا
  • 60. اشاره‌گرها و محاسبات آدرس
  • 61. تراز بندی داده‌ها در حافظه
  • 62. Endianness: کوچک-پایان در برابر بزرگ-پایان
  • 63. مقدمه‌ای بر حافظه مجازی
  • 64. خطای صفحه (Page Fault) چیست؟
  • 65. مدیریت حافظه توسط سیستم‌عامل: یک نمای کلی
  • 66. زیرروال‌ها (Subroutines) و توابع (Functions)
  • 67. مکانیزم فراخوانی و بازگشت
  • 68. پشته فراخوانی (Call Stack) و قاب پشته (Stack Frame)
  • 69. قراردادهای فراخوانی (Calling Conventions)
  • 70. ارسال پارامترها به توابع: از طریق ثبات‌ها
  • 71. ارسال پارامترها به توابع: از طریق پشته
  • 72. متغیرهای محلی و ذخیره‌سازی آن‌ها
  • 73. بازگشت مقدار از توابع
  • 74. توابع بازگشتی (Recursive Functions) در سطح ماشین
  • 75. کتابخانه‌های استاندارد و پیوند با آن‌ها
  • 76. اصول ورودی/خروجی (I/O)
  • 77. دستگاه‌های ورودی/خروجی متداول
  • 78. کنترلرهای دستگاه (Device Controllers)
  • 79. ورودی/خروجی با نگاشت حافظه (Memory-Mapped I/O)
  • 80. ورودی/خروجی با نگاشت پورت (Port-Mapped I/O)
  • 81. ورودی/خروجی برنامه‌ریزی شده (Polling)
  • 82. ورودی/خروجی مبتنی بر وقفه (Interrupt-Driven I/O)
  • 83. جدول بردار وقفه (Interrupt Vector Table)
  • 84. دسترسی مستقیم به حافظه (Direct Memory Access - DMA)
  • 85. بافرینگ (Buffering) در عملیات ورودی/خروجی
  • 86. پیاده‌سازی آرایه‌ها در سطح حافظه
  • 87. پیاده‌سازی لیست‌های پیوندی
  • 88. الگوریتم جستجوی خطی
  • 89. الگوریتم جستجوی دودویی
  • 90. الگوریتم مرتب‌سازی حبابی
  • 91. الگوریتم مرتب‌سازی درجی
  • 92. جداول درهم‌سازی (Hash Tables) از دیدگاه حافظه
  • 93. دستکاری بیت‌ها برای بهینه‌سازی
  • 94. تولید اعداد شبه تصادفی
  • 95. تحلیل پیچیدگی الگوریتم‌ها در سطح دستورالعمل
  • 96. کامپایلرها: پل بین زبان سطح بالا و اسمبلی
  • 97. لینکرها (Linkers): ترکیب قطعات کد
  • 98. لودرها (Loaders): آماده‌سازی برنامه برای اجرا
  • 99. نقش سیستم عامل در اجرای برنامه
  • 100. آینده برنامه‌نویسی سطح پایین و اهمیت درک ماشین
برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین | دروازه‌ای به دنیای برنامه‌نویسی سطح پایین

برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین

آیا همیشه کنجکاو بوده‌اید که کامپیوترها چگونه کار می‌کنند؟ آیا می‌خواهید به درکی عمیق‌تر از معماری سخت‌افزار و برنامه‌نویسی سطح پایین برسید؟ این دوره آموزشی، کلید ورود شما به دنیای هیجان‌انگیز و پیچیده زیرساخت‌های کامپیوتری است. با الهام از کتاب ارزشمند و کلاسیک "Programming for digital computers" (برنامه‌نویسی برای کامپیوترهای دیجیتال)، این دوره یک سفر اکتشافی را به قلب ماشین آغاز می‌کند، جایی که منطق صفر و یک به برنامه‌های کاربردی قدرتمند تبدیل می‌شود.

کتاب "Programming for digital computers" سال‌هاست که به عنوان منبعی ارزشمند برای آموزش مبانی برنامه‌نویسی و معماری کامپیوتر شناخته می‌شود. دوره ما با حفظ اصالت و عمق مفاهیم ارائه شده در این کتاب، آن‌ها را با رویکردی مدرن و کاربردی‌تر برای شما بازگو می‌کند. فرصت را از دست ندهید و قدم در راهی بگذارید که دانش شما را از سطح کاربرد، به سطح درک عمیق نحوه عملکرد کامپیوتر ارتقا می‌دهد.

درباره دوره

دوره "برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین" یک دوره جامع و عملی است که به شما اصول اساسی برنامه‌نویسی سطح پایین و معماری سخت‌افزار را آموزش می‌دهد. این دوره نه تنها مفاهیم نظری را پوشش می‌دهد، بلکه با ارائه مثال‌ها و تمرین‌های عملی، شما را قادر می‌سازد تا دانش خود را در دنیای واقعی به کار بگیرید. از درک ساختار حافظه و رجیسترها گرفته تا نوشتن کد اسمبلی و دیباگ کردن برنامه‌های سطح پایین، این دوره تمامی مهارت‌های لازم برای تبدیل شدن به یک برنامه‌نویس حرفه‌ای را در اختیار شما قرار می‌دهد.

برخلاف دوره‌هایی که تنها بر زبان‌های برنامه‌نویسی سطح بالا تمرکز دارند، این دوره به شما نشان می‌دهد که در زیر پوستین این زبان‌ها چه می‌گذرد. شما خواهید فهمید که کامپیوترها چگونه دستورالعمل‌ها را اجرا می‌کنند، چگونه حافظه مدیریت می‌شود و چگونه سیستم‌عامل با سخت‌افزار تعامل می‌کند. این دانش، نه تنها شما را به یک برنامه‌نویس بهتر تبدیل می‌کند، بلکه دیدگاه شما را نسبت به دنیای فناوری اطلاعات به طور کلی تغییر می‌دهد.

موضوعات کلیدی

  • معماری کامپیوتر و سازماندهی آن
  • سیستم‌های اعداد و منطق بولی
  • زبان اسمبلی و برنامه‌نویسی سطح پایین
  • ساختار حافظه و مدیریت آن
  • رجیسترها و نقش آن‌ها در پردازش
  • مجموعه دستورالعمل‌های پردازنده (ISA)
  • مفاهیم سیستم‌عامل و تعامل با سخت‌افزار
  • ورودی/خروجی و مدیریت دستگاه‌ها
  • دیباگ کردن و بهینه‌سازی برنامه‌های سطح پایین
  • مقدمه‌ای بر کامپایلرها و اسمبلرها

مخاطبان دوره

این دوره برای افراد زیر مناسب است:

  • دانشجویان رشته‌های کامپیوتر، مهندسی برق و سایر رشته‌های مرتبط
  • برنامه‌نویسان سطح بالا که می‌خواهند درک عمیق‌تری از نحوه عملکرد کامپیوترها داشته باشند
  • متخصصان امنیت که می‌خواهند آسیب‌پذیری‌های سطح پایین را شناسایی و رفع کنند
  • علاقه‌مندان به یادگیری برنامه‌نویسی سطح پایین و معماری سخت‌افزار
  • هر کسی که کنجکاو است بداند کامپیوترها واقعاً چگونه کار می‌کنند!

چرا این دوره را بگذرانیم؟

گذراندن این دوره مزایای فراوانی برای شما به همراه خواهد داشت:

  • درک عمیق‌تر از عملکرد کامپیوتر: شما خواهید فهمید که کامپیوترها چگونه دستورالعمل‌ها را اجرا می‌کنند، چگونه حافظه مدیریت می‌شود و چگونه سیستم‌عامل با سخت‌افزار تعامل می‌کند.
  • تقویت مهارت‌های برنامه‌نویسی: دانش برنامه‌نویسی سطح پایین، شما را به یک برنامه‌نویس تواناتر و کارآمدتر تبدیل می‌کند.
  • افزایش فرصت‌های شغلی: مهارت‌های برنامه‌نویسی سطح پایین در زمینه‌هایی مانند امنیت سایبری، توسعه سیستم‌عامل و طراحی سخت‌افزار بسیار ارزشمند هستند.
  • توانایی بهینه‌سازی کد: با درک نحوه عملکرد کامپیوترها، می‌توانید کد خود را به گونه‌ای بنویسید که حداکثر کارایی را داشته باشد.
  • حل مسائل پیچیده: دانش برنامه‌نویسی سطح پایین به شما کمک می‌کند تا مسائل پیچیده را از زاویه‌ای متفاوت ببینید و راه‌حل‌های نوآورانه‌ای برای آن‌ها پیدا کنید.
  • الهام گرفته از یک اثر کلاسیک: شما از دانشی بهره‌مند خواهید شد که ریشه در کتاب "Programming for digital computers" دارد، اثری که نقش مهمی در شکل‌گیری دانش کامپیوتر مدرن داشته است.
  • یادگیری مبانی ضروری برای ورود به دنیای امنیت سایبری: با درک مفاهیم سطح پایین، دید بهتری نسبت به نحوه کارکرد سیستم عامل و آسیب پذیری های احتمالی آن پیدا خواهید کرد.

سرفصل‌های دوره

این دوره شامل بیش از 100 سرفصل جامع است که به طور کامل مبانی برنامه‌نویسی سطح پایین و معماری سخت‌افزار را پوشش می‌دهد. در اینجا تنها به چند مورد از مهم‌ترین سرفصل‌ها اشاره می‌کنیم:

  • بخش اول: مقدمه‌ای بر معماری کامپیوتر
    • مقدمه‌ای بر سیستم‌های کامپیوتری
    • اجزای اصلی کامپیوتر
    • معماری فون نویمان
    • سلسله مراتب حافظه
    • واحد پردازش مرکزی (CPU)
    • واحد ورودی/خروجی (I/O)
    • انواع حافظه (RAM, ROM, Cache)
    • باس‌ها و رابط‌های ارتباطی
    • سیستم‌های اعداد (دودویی، هشت‌هشتی، شانزده‌شانزدهی)
    • منطق بولی و گیت‌های منطقی
  • بخش دوم: زبان اسمبلی
    • مقدمه‌ای بر زبان اسمبلی
    • اسمبلرها و لینکرها
    • ساختار یک برنامه اسمبلی
    • دستورالعمل‌های انتقال داده
    • دستورالعمل‌های حسابی و منطقی
    • دستورالعمل‌های کنترل جریان
    • استفاده از رجیسترها
    • پشته (Stack)
    • فراخوانی زیربرنامه‌ها
    • ماکروها
  • بخش سوم: برنامه‌نویسی سطح پایین
    • برنامه‌نویسی سیستم
    • تعامل با سیستم‌عامل
    • مدیریت حافظه
    • مدیریت فایل‌ها
    • مدیریت دستگاه‌های ورودی/خروجی
    • دیباگ کردن برنامه‌های اسمبلی
    • بهینه‌سازی کد اسمبلی
    • برنامه‌نویسی درایور
    • هندل کردن وقفه ها (Interrupts)
    • برنامه‌نویسی چند نخی در سطح پایین
  • بخش چهارم: معماری پیشرفته کامپیوتر
    • معماری‌های چند هسته‌ای
    • حافظه پنهان (Cache) و بهینه‌سازی آن
    • خط لوله (Pipeline)
    • پردازش موازی
    • مجازی‌سازی
    • معماری‌های ARM و x86
    • مقدمه‌ای بر کوانتوم کامپیوتر
  • بخش پنجم: پروژه عملی
    • طراحی و پیاده‌سازی یک سیستم عامل ساده
    • طراحی و پیاده‌سازی یک کامپایلر ساده
    • تحلیل و بهینه‌سازی یک برنامه سطح پایین
    • کار با معماری های امبدد (Embedded Systems)
  • ... و ده‌ها سرفصل دیگر که شما را به یک متخصص تبدیل می‌کند!

همین حالا در دوره "برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین" ثبت‌نام کنید و دانش و مهارت‌های خود را به سطح جدیدی ارتقا دهید!

EXPRESS24 AUDIO EXPERIENCE
یادگیری را بشنوید؛ زندگی کنید
کتاب‌های صوتی و پادکست‌های آموزشی، راهی دلنشین برای کشف ایده‌های تازه، گسترش دانش و استفاده بهتر از لحظه‌های روزمره هستند.
دانش، الهام و تجربه؛ این بار با صدای زندگی
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفت‌وآمد هستید، قدم می‌زنید، استراحت می‌کنید یا کارهای روزمره‌تان را انجام می‌دهید. محتوای صوتی کمک می‌کند از این لحظه‌ها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفت‌وآمد، پیاده‌روی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربه‌ای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازه‌ای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایده‌های تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادت‌های شخصی‌تان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، می‌توانید داستان‌ها، آموزش‌ها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتاب‌ها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفت‌وگو، روایت، توضیح آموزشی یا مجموعه‌ای از قسمت‌های صوتی؛ مناسب برای کشف ایده‌ها و آشنایی با دیدگاه‌های گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاه‌های تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپ‌تاپ
با پخش‌کننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکته‌های مهم را یادداشت کنید یا پس از پایان شنیدن، آن‌ها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتاب‌های صوتی و پادکست‌های آموزشی، دنیای تازه‌ای از ایده‌ها، روایت‌ها و آموختنی‌ها را به لحظه‌های خود اضافه کنید.
کشف محصولات بیشتر در اکسپرس ۲۴
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرم‌افزار مورد استفاده بستگی دارد.
AUDIO PREVIEW
قبل از انتخاب، گوش کنید!
بخشی از سبک محتوای محصولات صوتی ما را بشنوید و با فضای آن آشنا شوید.
♫
نمونه صوتی از سبک محصولات صوتی ما
پیش‌نمایش کوتاهی از سبک پادکست های صوتی محصولات ما
پخش آنلاین
برای تجربه بهتر، می‌توانید از هدفون استفاده کنید.
تگ‌ها: algorithmic thinking Assembly Language computer fundamentals Computer Organization CPU Architecture Data Structures Digital Computers Hardware Architecture low-level programming Programming for Digital Computers برنامه‌نویسی سطح پایین علوم کامپیوتر مبانی برنامه‌نویسی معماری سخت‌افزار

نظرات

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

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