# مشخصات آزمون تستی: راه‌اندازی محیط کار و ابزارها (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) - [ ] دقیقا ۱۰ سوال چهارگزینه‌ای کاربردی با سناریوهای ملموس روزمره تدوین شده باشد. - [ ] سوالات تمام دروس ۳.۱ تا ۳.۸ را به شکل متوازن و متناسب پوشش دهند. - [ ] پاسخ‌های صحیح و خطاهای مفهومی گزینه‌های گمراه‌کننده با دقت تحلیل شده باشند. - [ ] هیچ سوالی صرفاً بر مبنای حفظ کردن اعداد بی‌فایده طراحی نشده باشد و کاربرد عملی ملاک باشد.