271 lines
6.0 KiB
Markdown
271 lines
6.0 KiB
Markdown
# 🔧 C++ Easy Exam Created
|
||
|
||
## ✅ Exam Details
|
||
|
||
**Exam ID:** `cpp-easy-v1`
|
||
**Title:** C++ Fundamentals - Easy Level
|
||
**Subject:** C++
|
||
**Difficulty:** Beginner (Easy)
|
||
**Duration:** 40 minutes
|
||
**Passing Score:** 70%
|
||
|
||
---
|
||
|
||
## 📊 Exam Structure
|
||
|
||
**Total Questions:** 20
|
||
**Total Points:** 130 points
|
||
|
||
### Question Type Breakdown
|
||
- ✅ **9** Single Choice questions (45 points)
|
||
- ✅ **6** True/False questions (30 points)
|
||
- ✅ **5** Multiple Choices questions (50 points)
|
||
|
||
---
|
||
|
||
## 📚 Topics Covered
|
||
|
||
### Section 1: C++ Basics & Syntax (5 questions, 30 points)
|
||
- File extensions (.cpp, .cxx)
|
||
- main() function requirement
|
||
- Header files (#include <iostream>)
|
||
- Data types (int, float, char vs boolean)
|
||
- Case sensitivity
|
||
|
||
### Section 2: Variables & Operators (4 questions, 25 points)
|
||
- Assignment operator (=)
|
||
- Arithmetic operators (+, %, *)
|
||
- Variable declaration requirement
|
||
- Modulo operator (%)
|
||
|
||
### Section 3: Control Flow & Loops (4 questions, 25 points)
|
||
- if statements
|
||
- while loop behavior
|
||
- Loop types (for, while, do-while)
|
||
- break statement
|
||
|
||
### Section 4: Functions & Arrays (4 questions, 25 points)
|
||
- Function return values
|
||
- void functions
|
||
- Array properties (indexing, fixed size, contiguous memory)
|
||
- Array declaration syntax
|
||
|
||
### Section 5: Pointers & References Basics (3 questions, 25 points)
|
||
- Pointer definition
|
||
- Address-of operator (&)
|
||
- Reference properties (initialization, aliasing, cannot be NULL)
|
||
|
||
---
|
||
|
||
## 🎯 Question Details
|
||
|
||
### Single Choice Questions (9)
|
||
1. C++ file extensions
|
||
2. Header file for cout
|
||
3. Assignment operator
|
||
4. Modulo operator result
|
||
5. Conditional statement keyword
|
||
6. break statement behavior
|
||
7. void function declaration
|
||
8. Array declaration
|
||
9. Address-of operator
|
||
|
||
### True/False Questions (6)
|
||
1. main() function requirement
|
||
2. Case sensitivity
|
||
3. Variable declaration requirement
|
||
4. while loop condition check
|
||
5. Function return value limit
|
||
6. Pointer stores address
|
||
|
||
### Multiple Choices Questions (5)
|
||
1. Valid C++ data types (3 correct: int, float, char)
|
||
2. Arithmetic operators (3 correct: +, %, *)
|
||
3. Valid loop types (3 correct: for, while, do-while)
|
||
4. Array properties (3 correct: 0-indexed, fixed size, contiguous)
|
||
5. Reference properties (3 correct: must init, aliases, cannot be NULL)
|
||
|
||
---
|
||
|
||
## ✨ Features Enabled
|
||
|
||
✅ **"I Don't Know" Option**
|
||
- Available on all questions
|
||
- Encourages honest self-assessment
|
||
- Scores 0 points (no penalty)
|
||
|
||
✅ **Multiple Choices with Partial Credit**
|
||
- Partial credit enabled on all multiple choice questions
|
||
- Scoring: (correct - wrong) / total_correct × points
|
||
- Rewards partially correct answers
|
||
|
||
✅ **Automatic Scoring**
|
||
- All questions are auto-gradable
|
||
- Immediate results upon submission
|
||
- No manual grading required
|
||
|
||
---
|
||
|
||
## 🎓 Learning Objectives
|
||
|
||
After taking this exam, students will have assessed their knowledge of:
|
||
|
||
1. **Basic Syntax**
|
||
- File structure and extensions
|
||
- Essential header files
|
||
- Program entry point
|
||
|
||
2. **Fundamental Concepts**
|
||
- Data types and variables
|
||
- Operators and expressions
|
||
- Type system basics
|
||
|
||
3. **Control Structures**
|
||
- Conditional statements
|
||
- Loop constructs
|
||
- Flow control keywords
|
||
|
||
4. **Functions**
|
||
- Function declaration
|
||
- Return types
|
||
- void functions
|
||
|
||
5. **Memory Basics**
|
||
- Arrays and indexing
|
||
- Pointer fundamentals
|
||
- Reference concepts
|
||
|
||
---
|
||
|
||
## 🚀 How to Access
|
||
|
||
### Via Web Interface
|
||
1. Go to http://localhost
|
||
2. Login or register
|
||
3. Navigate to "Available Exams"
|
||
4. Select "C++ Fundamentals - Easy Level"
|
||
5. Click "Start Exam"
|
||
|
||
### Via API
|
||
```bash
|
||
# List all exams
|
||
curl http://localhost/api/exams/
|
||
|
||
# Get C++ exam details
|
||
curl http://localhost/api/exams/cpp-easy-v1/
|
||
|
||
# Start attempt (requires authentication)
|
||
curl -X POST http://localhost/api/exams/cpp-easy-v1/start
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 Expected Performance
|
||
|
||
### Score Ranges
|
||
- **90-100%** - Excellent understanding of C++ basics
|
||
- **80-89%** - Good grasp of fundamentals
|
||
- **70-79%** - Passing, needs some review
|
||
- **60-69%** - Below passing, significant review needed
|
||
- **<60%** - Should revisit foundational topics
|
||
|
||
### Time Management
|
||
- Average: 2 minutes per question
|
||
- Total available: 40 minutes
|
||
- Recommended: First pass 30 min, review 10 min
|
||
|
||
---
|
||
|
||
## 🔗 Integration with Learning Plan
|
||
|
||
This exam aligns with:
|
||
- **C++ Learning Plan - Phase 1: Foundations**
|
||
- Covers Modules 1.1-1.6
|
||
- Tests basics through pointer fundamentals
|
||
- Prepares for Phase 2 (OOP)
|
||
|
||
### Recommended Study Path
|
||
1. Complete C++ Modules 1.1-1.6
|
||
2. Take this easy exam
|
||
3. Review weak areas identified
|
||
4. Move to intermediate topics
|
||
|
||
---
|
||
|
||
## 📝 Exam Statistics
|
||
|
||
**File Location:**
|
||
```
|
||
/Volumes/data/tutor_system/exam_system/data/input/cpp/2025-10/cpp-easy-v1.json
|
||
```
|
||
|
||
**Manifest Entry:**
|
||
```json
|
||
{
|
||
"examId": "cpp-easy-v1",
|
||
"subject": "cpp",
|
||
"month": "2025-10",
|
||
"path": "cpp/2025-10/cpp-easy-v1.json",
|
||
"published": true,
|
||
"version": "1.0.0"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 Next Steps
|
||
|
||
### For Beginners
|
||
1. Study C++ Learning Plan Phase 1
|
||
2. Take this exam
|
||
3. Review results carefully
|
||
4. Retake after studying weak areas
|
||
5. Aim for 80%+ before moving forward
|
||
|
||
### After Passing
|
||
1. Continue to C++ Intermediate topics
|
||
2. Take more advanced exams (coming soon)
|
||
3. Build C++ projects
|
||
4. Practice pointer and reference manipulation
|
||
|
||
---
|
||
|
||
## 📈 Available Exams in System
|
||
|
||
1. **Python Easy** (10 questions)
|
||
2. **Python Easy 15Q** (15 questions) - with new features
|
||
3. **Python Intermediate** (50 questions)
|
||
4. **C++ Easy** (20 questions) ⭐ **NEW**
|
||
|
||
---
|
||
|
||
## 🌟 Exam Features
|
||
|
||
### Modern Question Types
|
||
✅ Single choice (one correct answer)
|
||
✅ Multiple choices (select all that apply)
|
||
✅ True/False
|
||
✅ "I Don't Know" option
|
||
|
||
### Scoring Features
|
||
✅ Automatic scoring
|
||
✅ Partial credit for multiple choices
|
||
✅ Immediate feedback
|
||
✅ Detailed results page
|
||
✅ Color-coded answer display
|
||
|
||
### User Experience
|
||
✅ Auto-save every 10 seconds
|
||
✅ Timer with warnings
|
||
✅ Progress indicator
|
||
✅ Navigation between questions
|
||
✅ Review before submit
|
||
|
||
---
|
||
|
||
**Your C++ easy exam is ready! Good luck! 🔧✨**
|
||
|
||
**Created:** October 21, 2025
|
||
**Status:** ✅ Published and Available
|
||
**Access:** http://localhost
|