Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

مبانی کامپیوتر و برنامه‌سازی

به درس «مبانی کامپیوتر و برنامه‌سازی» گروه علوم کامپیوتر دانشگاه فردوسی مشهد خوش آمدید.

این درس، نخستین گام شما به‌عنوان دانشجوی رشته‌ی علوم کامپیوتر در دنیای کامپیوتر و برنامه‌سازی است. در این درس، علاوه بر آشنایی با مفاهیم پایه‌ی کامپیوتر، مهارت تفکر الگوریتمی و حل مسئله را به‌صورت گام‌به‌گام فرا می‌گیرید؛ مهارت‌هایی که در تمام دوران تحصیل و حرفه‌ی آینده‌ی شما به‌عنوان یک متخصص علوم کامپیوتر، پایه و اساس خواهند بود. تمرکز اصلی این درس بر آموزش مفاهیم بنیادی است، نه صرفاً یادگیری یک زبان برنامه‌سازی خاص. با این حال، برای پیاده‌سازی مفاهیم از زبان C به‌عنوان زبان مرجع استفاده شده است؛ زبانی که پایه‌ی بسیاری از زبان‌های مدرن امروزی است و درک عمیق آن، یادگیری زبان‌های دیگر را بسیار ساده‌تر می‌کند.


🎯 این درس برای چه کسانی است؟

این درس به‌طور ویژه برای دانشجویان رشته‌ی علوم کامپیوتر طراحی شده است؛ دانشجویانی که می‌خواهند:

برای مطالعه‌ی این درس، هیچ پیش‌نیاز برنامه‌نویسی لازم نیست. فقط آشنایی مقدماتی با کار با کامپیوتر کافی است.


📚 ساختار درس

این درس در هشت بخش سازمان‌دهی شده است. هر بخش از چند فصل تشکیل شده و هر فصل شامل توضیح مفاهیم، مثال‌های متنوع و تمرین‌های عملی است:

  1. بخش اول | مبانی و مقدمات آشنایی با مفهوم کامپیوتر، سخت‌افزار و نرم‌افزار، الگوریتم، زبان‌های برنامه‌سازی و ساختار یک برنامه‌ی ساده.

  2. بخش دوم | داده‌ها و عملگرها متغیرها، انواع داده‌ها، ثابت‌ها و انواع عملگرها (حسابی، منطقی، مقایسه‌ای و ...).

  3. بخش سوم | کنترل جریان ساختارهای شرطی (if، switch) و حلقه‌ها (for، while، do-while) برای کنترل مسیر اجرای برنامه.

  4. بخش چهارم | توابع تعریف و فراخوانی توابع، پارامترها، مقدار بازگشتی، دامنه‌ی متغیرها و بازگشت (Recursion).

  5. بخش پنجم | ساختارهای داده پایه آرایه‌ها، رشته‌ها و مقدمه‌ای بر ساختمان‌داده‌ها.

  6. بخش ششم | اشاره‌گرها و حافظه مفهوم آدرس، اشاره‌گرها، مدیریت حافظه و ارتباط آن‌ها با آرایه‌ها.

  7. بخش هفتم | داده‌های ترکیبی و فایل ساختارها (struct)، اجتماع‌ها (union)، کار با فایل‌ها و ذخیره‌سازی داده.

  8. بخش هشتم | مباحث تکمیلی موضوعات پیشرفته‌تر و نکات تکمیلی برای تکمیل دانش برنامه‌سازی.


🧭 چطور این درس را بخوانیم؟

برای بهره‌گیری حداکثر از این درس، پیشنهاد می‌کنیم:


⚙️ پیشنهاد ابزارها

برای اجرای کدهای این درس، می‌توانید از یکی از ابزارهای زیر استفاده کنید:

نیاز به نصب هیچ ابزار پیچیده‌ای نیست؛ حتی یک کامپایلر ساده برای شروع کافی است.


🔗 ارتباط با دروس دیگر

مفاهیمی که در این درس می‌آموزید، پایه‌ی بسیاری از دروس تخصصی دوره‌ی کارشناسی علوم کامپیوتر خواهند بود:


🙏 سپاسگزاری

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

اگر در متن درس خطا یا نکته‌ای برای بهبود یافتید، خوشحال می‌شویم از طریق مخزن گیت‌هاب پروژه آن را با ما در میان بگذارید:

🔗 https://github.com/fum-cs/fundamentals-of-programming


آماده‌اید؟ از منوی کناری، «بخش اول | مبانی و مقدمات» را انتخاب کنید و نخستین گام سفر علمی خود را به‌عنوان یک دانشجوی علوم کامپیوتر بردارید. 🚀