درس در یک نگاه
«مبانی کامپیوتر و برنامهنویسی» نخستین درس تخصصی شماست: در نیمسال جاری از what شروع میکنیم و به how میرسیم — ابتدا میفهمیم رایانه چیست، از کجا آمده و از چه ساخته شده؛ سپس یاد میگیریم چگونه به آن دستور بدهیم.
🎯هدف اصلی Course goal
توانایی تحلیل یک مسئله و تبدیل آن به الگوریتم، سپس پیادهسازی و آزمون آن با زبان C++ و ابزارهای امروزی.
🧩پیشنیاز Prerequisites
ریاضی دبیرستان، سواد پایهٔ کار با رایانه (فایل، پوشه، ویرایشگر متن) و صبر برای تمرین.
🛠️روش کار Method
هر مفهوم را با «تعریف ← تصویر ← جدول ← تمرین» میبینید؛ کدها را خودتان تایپ و اجرا کنید.
منابع درس
منابع اعلامشدهٔ درس بر پایهٔ کتابهای درسی رایج دانشگاه پیام نور و متنهای کلاسیک برنامهنویسی فارسیاند. اینها مرجع ارزشمندی برای مفاهیم پایه هستند، اما محیط نرمافزاری و زبان C++ آنها امروز بهشدت تغییر کرده است؛ در بخش ۰.۶ و در فصلهای بعدی، نسخهٔ بهروز هر مبحث را میبینید.
| # | منبع اعلامشدهٔ درس | یادداشت امروزی |
|---|---|---|
| ۱ | کاربرد کامپیوتر در رشتههای علوم انسانی — شیرکوند و هدایتی آذری (پیام نور) | مفاهیم پایه هنوز معتبر؛ بخشهای نرمافزاری نیازمند بهروزرسانی نسخهها. |
| ۲ | کاربرد کامپیوتر در علوم انسانی — فاطمه محمودی | مناسب برای تعاریف و کاربردها. |
| ۳ | کاربرد کامپیوتر (رشتههای علوم انسانی) — سامان طاهریزاده | مرور سریع کاربردها. |
| ۴ | مبانی کامپیوتر و الگوریتمها — مهندس جعفرنژاد قمی | فصل الگوریتم و فلوچارت آن همچنان بهترین نقطهٔ شروع است. |
| ۵ | برنامهنویسی به زبان C++ — جعفرنژاد قمی | سینتکس آن بر پایهٔ Turbo C++ (پیش از استاندارد ۱۹۹۸) است. |
| ۶ | آموزش مبانی کامپیوتر و برنامهنویسی C++ — د. ناصر قاسم آقایی (ناقوس) | تمرینهای خوب؛ کدها را با کامپایلر امروزی بازنویسی کنید. |
| ۷ | برنامهسازی پیشرفته با C++ — د. احمد فراهی (پیام نور) | برای ادامهٔ مسیر پس از این درس. |
| ۸ | زبان برنامهنویسی ۲ — رستمی و زارعی (پیام نور) | مبنای صفحهٔ توابع/آرایه/مرتبسازی در این مجموعه (فایل 06.b.pdf). |
نحوهٔ ارزیابی
نمرهٔ درس از فعالیت کلاسی و آزمونها ساخته میشود. جدول زیر دقیقاً همان توزیع اعلامشده در اسلایدهای منبع است.
| مؤلفه | سهم |
|---|---|
| فعالیت کلاسی (تمرین تستی و عملی) | ۵ نمره |
| میانترم | ۵ نمره |
| پایانترم | ۱۰ نمره |
| جمع | ۲۰ نمره |
📝تمرین عملی Lab work
کدها را اجرا کنید، نه فقط بخوانید. نمرهٔ عملی از کارکرد واقعی برنامه میآید.
⏱️آزمون Exams
پرسشها تستی + tracing دستی هستند: مقادیر متغیرها را روی کاغذ دنبال کنید.
🤖استفادهٔ درست از AI AI-use policy
دستیار هوشمند برای «توضیح دادن» خوب است؛ اما کدی که خودتان trace نتوانید، نمرهٔ عملی نمیگیرد.
قواعد حضور و غیاب
اسلایدهای منبع، سه قاعدهٔ روشن دارند که در همهٔ نیمسالها اجرا میشود.
- ۱دانشجویانی که قبلاً این درس را برداشتهاند و افتادهاند یا در پایان ترم حذف کردهاند (با ارائهٔ مدرک مانند کارنامهٔ آن ترم)، حضور در کلاس برایشان اختیاری است.
- ۲نمرهٔ فعالیت کلاسی فقط به دانشجویانی تعلق میگیرد که در کلاس حاضر بودهاند.
- ۳دانشجویانی که نخستینبار درس را برمیدارند باید در کلاس حاضر باشند؛ سقف غیبت مجاز ۴ جلسه است و بیشتر از آن، درس حذف میشود.
نقشهٔ راه درس
مسیر پیشنهادی مطالعه، از مفهوم تا کد. هر کارت به فایل کامل همان بخش میرود.

فصل ۱ — پیشینه، ویژگیها و کاربردها History & applications
از چرتکه تا هوش مصنوعی؛ ویژگیهای رایانه و کاربردهای آن در علوم و صنعت.

فصل ۲ — سختافزار و دستگاههای جانبی Hardware & peripherals
حافظهٔ اصلی و جانبی، پردازنده، دستگاههای ورودی و خروجی.

فصل ۳ — نرمافزار و سیستمعامل Software & OS
نرمافزار سیستمی، سیستمعامل، برنامههای سودمند و مترجمهای زبان.

فصل ۳ (ادامه) — بستههای نرمافزاری کاربردی Application suites
AutoCAD، Photoshop، 3ds Max، CorelDRAW و FoxPro.

فصل ۴ — واژهپرداز Word Word processor
از نوار منو و قلمها تا جدول، قالببندی پاراگراف، ذخیره و چاپ.

الگوریتم و فلوچارت Algorithms
تعریف الگوریتم، شرایط چهارگانه، trace کردن و ترسیم فلوچارت.

برنامهنویسی C++ — مقدمات C++ basics
انواع داده، عملگرها، شرط، حلقه، آرایه و توابع.

زبان برنامهنویسی ۲ — توابع، آرایه، مرتبسازی Functions & sorting
توابع بازگشتی، بارگذاری بیشازحد، آرایههای ایستا و پویا و هفت روش مرتبسازی.
برپایی محیط تمرین ۲۰۲۶
منبع درسی، کار در محیط Turbo C++ روی DOS را فرض میکند. امروز همان تمرینها را با زنجیرهابزار بهروز اجرا میکنیم؛ کد یکسان است، راحتی کار چند برابر.
⌨️کامپایلر Compiler
g++ 14 / Clang 19 / MSVC 19.4x — همه از استانداردهای C++17/20/23 پشتیبانی میکنند.
🧰ویرایشگر Editor / IDE
VS Code + افزونهٔ C/C++، یا CLion، Visual Studio، Qt Creator.
🐧سیستمعامل OS
لینوکس، macOS یا Windows 11+؛ روی ویندوز میتوانید از WSL2 استفاده کنید.
🧪آزمون و عیبیابی Tooling
پرچمهای -Wall -Wextra -Werror، ابزارهای -fsanitize=address,undefined و دیباگر gdb/lldb.
g++ -std=c++23 -Wall -Wextra -O2 -fsanitize=address,undefined main.cpp -o main ./main
نقشهٔ پوشش منبع — کدام بخش این صفحه از کدام اسلاید استخراج شده است.
| بخش این صفحه | اسلایدهای منبع |
|---|---|
| ۰.۱ درس در یک نگاه | 00.pdf صفحهٔ ۱ |
| ۰.۲ منابع درس | 00.pdf صفحهٔ ۲ |
| ۰.۳ نحوهٔ ارزیابی | 00.pdf صفحهٔ ۳ |
| ۰.۴ قواعد حضور و غیاب | 00.pdf صفحهٔ ۴ |
| ۰.۵ نقشهٔ راه درس | افزودهٔ این مجموعه (پیوند فصلها) |
| ۰.۶ محیط تمرین ۲۰۲۶ | افزودهٔ این مجموعه (بهروزرسانی علمی) |
پازل مفاهیم فصل
همهٔ مفاهیم این فصل، یکجا و بهشکل یک بازی: هر مفهوم را انتخاب کنید و به تعریف درستش وصل کنید — جفت درست همان لحظه سبز میشود و به آسمانِ جدول میپرد، جفت اشتباه با یک جرقه باز میشود. وقتی همهٔ جفتها کامل شد، «بررسی پاسخها» را بزنید تا بالنها بترکند و در آسمانِ جدول به هم گره بخورند. هر وقت خواستید پاسخنامه را ببینید، دکمهٔ «نمایش پاسخها» آن را کامل نشان میدهد.