feat: add chapter 03-workspace-setup specs

This commit is contained in:
2026-09-05 21:50:11 +08:00
parent 652dba5bc4
commit 5a2b30cad0
9 changed files with 997 additions and 0 deletions

View File

@@ -0,0 +1,195 @@
# مشخصات آزمون تستی: راه‌اندازی محیط کار و ابزارها (Workspace Setup Quiz)
- **شناسه در سیلابس:** `Q3.1`
- **فصل:** فصل ۳: راه‌اندازی محیط کار (Ch 3)
- **نوع محتوا:** 📝 آزمون تستی خودکار کوئرا کالج (Practical & Conceptual Multiple-Choice Quiz)
- **بارم امتیاز:** ۱۰۰ امتیاز (۱۰ سوال چهارگزینه‌ای کاربردی × ۱۰ امتیاز)
- **زمان تقریبی پاسخگویی:** ۱۵ دقیقه
- **پیش‌نیازهای مستقیم:** مطالعه کامل درس‌نامه‌های `L3.1` تا `L3.8`
---
## ۱. اهداف ارزیابی و توزیع سوالات (Assessment Objectives)
این آزمون برای سنجش تسلط عملی و مفهومی دانشجو بر راه‌اندازی سیستم، ویرایشگرهای دسکتاپ، ایجنت‌های ترمینال، ابزارهای وب، گیت، پروتکل MCP و معماری فایل‌های پروژه طراحی شده است. توزیع ۱۰ سوال آزمون به شرح زیر است:
| شماره سوال | درس مرجع | مفهوم مورد سنجش | سطح شناختی (Bloom) | بارم |
| :---: | :---: | :--- | :---: | :---: |
| **سوال ۱** | `L3.2` | نقش Node.js LTS و علت ارجحیت آن بر نسخه Current در محیط توسعه | Understand | ۱۰ |
| **سوال ۲** | `L3.2` | علت خطای اسکریپت در PowerShell ویندوز و فرمان رفع ایمن آن | Apply | ۱۰ |
| **سوال ۳** | `L3.3` | تفکیک حالت چت تک‌فایلی (`Ctrl+L`) از کامپوزر چندفایلی (`Ctrl+I`) در Cursor | Understand | ۱۰ |
| **سوال ۴** | `L3.3` | اهمیت مهاجرت تنظیمات و عملکرد ابزارهای دسکتاپ مانند Antigravity و ChatGPT | Understand | ۱۰ |
| **سوال ۵** | `L3.4` | سازوکار امنیتی ایجنت‌های ترمینال (Claude Code) و چرخه تایید دستورات شل | Evaluate | ۱۰ |
| **سوال ۶** | `L3.5` | پل ارتباطی استراتژی دومسیره: انتقال کد از Lovable/Bolt به GitHub و ادیتور محلی | Apply | ۱۰ |
| **سوال ۷** | `L3.6` | استعاره ماشین زمان در Git و چرخه ۳ گام اصلی ذخیره و ارسال تغییرات | Apply | ۱۰ |
| **سوال ۸** | `L3.6` | کارکرد حیاتی فایل `.gitignore` در محافظت از رمزها و پوشه‌های سنگین | Evaluate | ۱۰ |
| **سوال ۹** | `L3.7` | تفاوت مهارت‌ها (`.cursorrules`) با ابزارهای اجرایی تحت پروتکل MCP | Understand | ۱۰ |
| **سوال ۱۰** | `L3.8` | کالبدشکافی `package.json`، بازسازی `node_modules` و محرمانگی `.env` | Evaluate | ۱۰ |
---
## ۲. مشخصات و سناریوی سوالات ده‌گانه (Question Bank Specifications)
### سوال ۱: انتخاب نسخه استاندارد Node.js (`L3.2`)
* **صورت سوال:** هنگام نصب Node.js برای شروع توسعه وب و وایب کدینگ، چرا توصیه می‌شود حتماً نسخه LTS (پایدار) به جای نسخه Current (آخرین تغییرات) دانلود و نصب گردد؟
* الف) نسخه Current فاقد مدیر بسته npm است و باید آن را دستی نصب کرد.
* ب) نسخه LTS حداکثر پایداری، سازگاری با کتابخانه‌های اکوسیستم و کمترین خطاهای ناشناخته را برای پروژه‌ها فراهم می‌کند.
* ج) نسخه Current فقط روی سیستم‌عامل لینوکس قابل اجراست و روی ویندوز کار نمی‌کند.
* د) نسخه LTS مصرف اینترنت و حجم دانلود بسیار کمتری دارد.
* **گزینه صحیح:** **ب**
* **تحلیل گزینه‌های گمراه‌کننده:**
* گزینه الف نادرست است زیرا هر دو نسخه همراه با npm عرضه می‌شوند.
* گزینه ج غلط است؛ هر دو نسخه برای ویندوز، مک و لینوکس موجودند.
* گزینه د نادرست است؛ تفاوت در پایداری طولانی‌مدت (Long Term Support) و ثبات سازگاری پکیج‌هاست.
---
### سوال ۲: حل خطای دسترسی اسکریپت در ویندوز (`L3.2`)
* **صورت سوال:** کاربری در سیستم‌عامل ویندوز قصد اجرای دستورات خط فرمان یا ابزارهای پکیج را دارد اما با خطای قرمزرنگ `running scripts is disabled on this system` متوقف می‌شود. کدام اقدام استاندارد و امن این مشکل را حل می‌کند؟
* الف) حذف کامل پوشه ویندوز و نصب مجدد سیستم‌عامل.
* ب) اجرای دستور `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser` در محیط PowerShell.
* ج) تغییر نام فایل‌های پروژه به پسوند `.txt`.
* د) غیرفعال کردن همیشگی فایروال ویندوز و آنتی‌ویروس.
* **گزینه صحیح:** **ب**
* **تحلیل گزینه‌های گمراه‌کننده:**
* گزینه ب روش رسمی و امن مایکروسافت برای صدور اجازه اجرای اسکریپت‌های محلی برای کاربر جاری سیستم است. سایر گزینه‌ها نامربوط، مخرب یا خطرناک هستند.
---
### سوال ۳: پنل چت در برابر حالت کامپوزر در ادیتور Cursor (`L3.3`)
* **صورت سوال:** در ویرایشگر هوشمند Cursor، چه تفاوت کلیدی میان فشردن کلید میانبر `Ctrl+L` (پنل چت) و `Ctrl+I` (کامپوزر / ایجنت چندفایلی) وجود دارد؟
* الف) کلید `Ctrl+L` فایل‌ها را پاک می‌کند، اما `Ctrl+I` فایل جدید می‌سازد.
* ب) کلید `Ctrl+L` برای پرسیدن سوالات و تحلیل یک بخش مشخص از کد است؛ در حالی که `Ctrl+I` (کامپوزر) مانند یک ایجنت تمام‌عیار می‌تواند کدهای چندین فایل مختلف پروژه را هم‌زمان ایجاد یا ویرایش کند.
* ج) پنل چت به اینترنت متصل نیست، اما کامپوزر به اینترنت متصل است.
* د) کلید `Ctrl+I` تنها در نسخه مک‌اواس کار می‌کند و در ویندوز غیرفعال است.
* **گزینه صحیح:** **ب**
* **تحلیل گزینه‌های گمراه‌کننده:**
* گزینه ب تمایز بنیادین میان سوال/جواب موضعی با حالت ارکستراسیون چندفایلی ایجنت را بیان می‌کند. سایر گزینه‌ها کاملاً نادرست هستند.
---
### سوال ۴: اکوسیستم ادیتورها و همراهان هوشمند (`L3.3`)
* **صورت سوال:** ادیتورهای مدرن وایب کدینگ مانند Cursor و ابزارهایی چون Antigravity چه مزیتی نسبت به باز کردن یک تب چت‌بات در مرورگر وب دارند؟
* الف) آن‌ها حجم اینترنت کمتری مصرف می‌کنند چون از مدل‌های هوش مصنوعی قدیمی‌تر استفاده می‌نمایند.
* ب) آن‌ها به کل ساختار پروژه، درخت فایل‌ها، ترمینال و فایل‌های تنظیمات دسترسی محلی و یکپارچه دارند و کدهای تولیدشده را مستقیماً در محل صحیح فایل‌ها ذخیره می‌کنند.
* ج) آن‌ها نیازی به داشتن حساب کاربری یا اینترنت ندارند.
* د) آن‌ها فقط کدهای زبان HTML را ویرایش می‌کنند.
* **گزینه صحیح:** **ب**
* **تحلیل گزینه‌های گمراه‌کننده:**
* یکپارچگی با فایل‌های محلی و ادیت مستقیم سورس‌کد تفاوت اساسی ادیتور بومی هوش مصنوعی با چت‌بات‌های مرورگری است.
---
### سوال ۵: سازوکار امنیتی ایجنت‌های خط فرمان (`L3.4`)
* **صورت سوال:** هنگام استفاده از ابزار پیشرفته Claude Code در محیط ترمینال، چرا ایجنت پیش از اجرای برخی دستورات شل یا ویرایش فایل‌های حساس از شما تاییدیه (Approval Prompt) می‌خواهد؟
* الف) این یک باگ نرم‌افزاری است و باید فوراً برنامه را ببندید.
* ب) چون اجرای کدهای شل در ترمینال دسترسی مستقیم به سیستم شما دارد و برای جلوگیری از خطاهای ناخواسته (مانند حذف فایل‌ها یا تغییرات تخریبی)، کنترل نهایی همیشه باید با تایید انسان انجام شود.
* ج) چون سرعت اینترنت برای پردازش دستورات کافی نیست.
* د) چون ایجنت قادر به تشخیص زبان انگلیسی دستورات نیست.
* **گزینه صحیح:** **ب**
* **تحلیل گزینه‌های گمراه‌کننده:**
* نظارت و تایید انسان (Human-in-the-Loop) یک اصل ایمنی کلیدی در کار با ایجنت‌های دارای دسترسی شل است.
---
### سوال ۶: پل ارتباطی از وب به ادیتور محلی (`L3.5`)
* **صورت سوال:** در جریان کاری استراتژی دومسیره (Dual-Track)، پس از اینکه یک پروتوتایپ اولیه زیبا را در پلتفرم Lovable یا Bolt ساختید، بهترین اقدام برای تبدیل آن به یک محصول واقعی و پایدار چیست؟
* الف) رها کردن آن و نوشتن تمام کدها از ابتدا روی کاغذ.
* ب) کلیک بر روی دکمه Sync / Export to GitHub، انتقال ریپازیتوری به حساب گیت‌هاب شخصی، و سپس کلون کردن آن روی سیستم برای ادامه توسعه در Cursor با دیتابیس اختصاصی.
* ج) کپی کردن اسکرین‌شات سایت و ارسال آن از طریق ایمیل برای دوستان.
* د) پرداخت صدها دلار اشتراک ابری برای همیشه بدون دریافت فایل‌های پروژه.
* **گزینه صحیح:** **ب**
* **تحلیل گزینه‌های گمراه‌کننده:**
* گزینه ب دقیقاً پیاده‌سازی پل انتقال و فلسفه مالکیت کامل کد توسط کاربر است.
---
### سوال ۷: چرخه ذخیره و ماشین زمان در Git (`L3.6`)
* **صورت سوال:** توالی صحیح و استاندارد دستورات خط فرمان برای ثبت یک چک‌پوینت سالم از تغییرات پروژه و فرستادن آن به مخزن آنلاین گیت‌هاب کدام است؟
* الف) `git push` $\rightarrow$ `git status` $\rightarrow$ `git delete`
* ب) `git add .` $\rightarrow$ `git commit -m "پیام ثبت"` $\rightarrow$ `git push`
* ج) `git init` $\rightarrow$ `git clone` $\rightarrow$ `git exit`
* د) `git checkout` $\rightarrow$ `git format` $\rightarrow$ `git stop`
* **گزینه صحیح:** **ب**
* **تحلیل گزینه‌های گمراه‌کننده:**
* چرخه استاندارد گیت: اضافه کردن تغییرات به استیج (`add`)، ثبت محلی چک‌پوینت (`commit`) و در نهایت ارسال به سرور گیت‌هاب (`push`).
---
### سوال ۸: نقش حیاتی فایل `.gitignore` (`L3.6`)
* **صورت سوال:** چرا درج نام پوشه `node_modules` و فایل `.env` در فایل `.gitignore` یک الزام حیاتی در تمامی پروژه‌ها به شمار می‌رود؟
* الف) تا سرعت کامپایل کدهای پروژه در مرورگر سریع‌تر شود.
* ب) تا از آپلود غیرضروری هزاران فایل سنگین کتابخانه‌ها و از همه مهم‌تر، از افشای عمومی رمزها و کلیدهای محرمانه API در اینترنت جلوگیری شود.
* ج) تا گیت‌هاب پروژه شما را به عنوان اسپم شناسایی نکند.
* د) چون نرم‌افزار Git قادر به خواندن فایل‌های با پسوند متنی نیست.
* **گزینه صحیح:** **ب**
* **تحلیل گزینه‌های گمراه‌کننده:**
* تفکیک فایل‌های حجیم دانلودی و محافظت از اسرار محرمانه مهم‌ترین فلسفه وجودی فایل `.gitignore` است.
---
### سوال ۹: تفاوت مهارت‌ها با پروتکل MCP (`L3.7`)
* **صورت سوال:** کدام عبارت، تفاوت میان یک مهارت پروژه (مانند فایل `.cursorrules`) و یک ابزار تحت پروتکل MCP (Model Context Protocol) را به درستی توضیح می‌دهد؟
* الف) `.cursorrules` ابزاری برای اتصال به پایگاه داده است، اما MCP فقط سرعت تایپ را زیاد می‌کند.
* ب) `.cursorrules` قوانین و سبک فکری مورد نظر را به هوش مصنوعی دیکته می‌کند (تزریق دانش)، در حالی که MCP مانند یک کابل USB-C به ایجنت دسترسی اجرایی به ابزارها و داده‌های زنده بیرونی (مثل جستجوی وب یا دیتابیس) می‌دهد.
* ج) هر دوی آن‌ها دقیقاً یک کار را انجام می‌دهند و تفاوتی ندارند.
* د) پروتکل MCP تنها روی مرورگر موبایل کارایی دارد.
* **گزینه صحیح:** **ب**
* **تحلیل گزینه‌های گمراه‌کننده:**
* تفاوت بنیادین بین Skill (دستورالعمل و ضوابط) و MCP (دسترسی زنده به ابزارهای بیرونی) در گزینه ب کاملاً تبیین شده است.
---
### سوال ۱۰: کالبدشکافی فایل `package.json` و پوشه `node_modules` (`L3.8`)
* **صورت سوال:** اگر پوشه پرحجم `node_modules` به اشتباه از روی کامپیوتر شما پاک شود، چگونه می‌توان بدون هیچ‌گونه نگرانی کل پروژه را مجدداً به وضعیت کارکرد سالم بازگرداند؟
* الف) پروژه برای همیشه نابود شده و باید از اول شروع کرد.
* ب) با باز کردن ترمینال در ریشه پروژه و اجرای یک‌باره دستور `npm install`، پکیج‌ها بر اساس لیست ثبت‌شده در فایل `package.json` مجدداً دانلود و ساخته می‌شوند.
* ج) باید تک‌تک کدهای پروژه را با دست دوباره نوشت.
* د) باید با شرکت سازنده کامپیوتر تماس گرفت تا پوشه را ریکاوری کنند.
* **گزینه صحیح:** **ب**
* **تحلیل گزینه‌های گمراه‌کننده:**
* فایل `package.json` شناسنامه وابستگی‌هاست و دستور `npm install` در کسری از زمان تمام فایل‌های پاک‌شده پوشه `node_modules` را از اینترنت بازسازی می‌نماید.
---
## ۳. فرمت خروجی و ساختار تحویل سوالات
آزمون پس از نگارش نهایی، در پوشه درس به صورت فایل `questions.json` (برای سامانه کوئرا کالج) و هم‌چنین با مستندات تحلیلی در `README.md` با ساختار استاندارد قرار خواهد گرفت:
```json
[
{
"id": 1,
"title": "انتخاب نسخه استاندارد Node.js",
"question": "متن فارسی سوال...",
"options": ["گزینه الف", "گزینه ب", "گزینه ج", "گزینه د"],
"correct_index": 1,
"score": 10,
"explanation": "تحلیل علمی پاسخ صحیح و بررسی خطای سایر گزینه‌ها..."
}
]
```
---
## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)
1. **تصویر کاور آزمون:** `images/cover.png`
* **موضوع:** کاور با تم تیره و مدال ۱۰۰ امتیازی سنجش آمادگی محیط کار با چک‌لیست سبز ابزارهای Node, Git, Cursor, MCP و Claude.
2. **اینفوگرافیک نقشه ارزیابی فصل ۳:** `images/quiz-evaluation-matrix.png`
* **موضوع:** دیاگرام ساختاری که پوشش آزمون روی تمام ارکان محیط کار (سیستم، ادیتور، خط فرمان، وب، گیت، MCP، آناتومی پروژه) را نمایش می‌دهد.
---
## ۵. معیارهای قبولی و سیستم امتیازدهی (Grading Rubric)
- **کل امتیاز:** ۱۰۰ امتیاز.
- **حد نصاب قبولی پایه در گواهی کوئرا:** ۵۰ امتیاز (پاسخ صحیح به حداقل ۵ سوال).
- **سطوح گواهی برای این آزمون:**
* ۱۰۰ امتیاز: ثبت حداکثر سهمیه جهت رتبه **Perfect** در پایان دوره.
* ۹۰ امتیاز: سطح **Very Good**.
* ۷۰ تا ۸۰ امتیاز: سطح **Good**.
* ۵۰ تا ۶۰ امتیاز: سطح **Fair**.
---
## ۶. معیارهای پذیرش سند آزمون (Acceptance Criteria for Reviewer)
- [ ] دقیقا ۱۰ سوال چهارگزینه‌ای کاربردی با سناریوهای ملموس روزمره تدوین شده باشد.
- [ ] سوالات تمام دروس ۳.۱ تا ۳.۸ را به شکل متوازن و متناسب پوشش دهند.
- [ ] پاسخ‌های صحیح و خطاهای مفهومی گزینه‌های گمراه‌کننده با دقت تحلیل شده باشند.
- [ ] هیچ سوالی صرفاً بر مبنای حفظ کردن اعداد بی‌فایده طراحی نشده باشد و کاربرد عملی ملاک باشد.