ÿþ<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CTET Paper 2 - , > 2 5 ?  > 8  5  6 ?  M 7 > 6 > 8 M $ M 0  8 >  ( . G    ( 0 G  0 </title> <link href="img/logo1.jpg" rel="icon"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <style> :root { --primary: #4361ee; --primary-dark: #3f37c9; --secondary: #4895ef; --danger: #f72585; --success: #4cc9f0; --light: #f8f9fa; --dark: #212529; --gray: #6c757d; --border-radius: 12px; --box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); --transition: all 0.3s ease; } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } body { background: linear-gradient(135deg, #f5f7fa 0%, #e2e8f0 100%); min-height: 100vh; display: flex; justify-content: center; align-items: center; padding: 20px; color: var(--dark); line-height: 1.6; } .container { width: 100%; max-width: 950px; background: white; border-radius: var(--border-radius); box-shadow: var(--box-shadow); overflow: hidden; transition: var(--transition); animation: fadeIn 0.5s ease-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .header { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: white; padding: 30px 20px; text-align: center; position: relative; overflow: hidden; } .header::before { content: ''; position: absolute; top: -50px; right: -50px; width: 150px; height: 150px; background: rgba(255, 255, 255, 0.1); border-radius: 50%; } .header h1 { font-size: 2rem; margin-bottom: 10px; font-weight: 700; position: relative; z-index: 1; } .header p { font-size: 1rem; opacity: 0.9; position: relative; z-index: 1; } .header-controls { position: absolute; top: 20px; right: 20px; display: flex; gap: 12px; z-index: 5; } .header-controls .home-icon { position: relative; top: 0; left: 0; color: white; font-size: 24px; cursor: pointer; transition: var(--transition); text-decoration: none; display: inline-block; } .header-controls .home-icon:hover { transform: scale(1.1); color: rgba(255, 255, 255, 0.8); } .lang-toggle { background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); border-radius: 30px; color: white; padding: 6px 16px; font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 8px; } .lang-toggle:hover { background: rgba(255,255,255,0.3); } .lang-toggle i { font-size: 1rem; } .content-area { padding: 30px; } .hidden { display: none !important; } .btn { display: inline-block; padding: 12px 28px; border-radius: 50px; font-weight: 600; cursor: pointer; transition: var(--transition); border: none; text-align: center; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); margin: 10px 5px; } .btn-primary { background: var(--primary); color: white; } .btn-primary:hover { background: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 8px 15px rgba(67, 97, 238, 0.3); } .btn-success { background: var(--success); color: white; } .btn-success:hover { background: #3ab0d6; transform: translateY(-2px); box-shadow: 0 8px 15px rgba(76, 201, 240, 0.3); } .btn-danger { background: var(--danger); color: white; } .btn-danger:hover { background: #d3166b; transform: translateY(-2px); box-shadow: 0 8px 15px rgba(247, 37, 133, 0.3); } .btn-level { background: var(--light); color: var(--dark); border: 2px solid var(--gray); font-size: 1.2rem; padding: 15px 30px; width: 200px; } .btn-level:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); } .btn-level.selected { background: var(--primary); color: white; border-color: var(--primary); } .btn-group { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 20px 0; } .level-buttons { display: flex; justify-content: center; gap: 20px; margin: 30px 0; } .section-title { text-align: center; margin-bottom: 25px; color: var(--primary-dark); font-size: 1.5rem; position: relative; padding-bottom: 10px; } .section-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 3px; background: var(--secondary); border-radius: 3px; } .checkbox-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin: 25px 0; max-height: 500px; overflow-y: auto; padding: 10px; border: 1px solid #eee; border-radius: var(--border-radius); } .checkbox-item { display: flex; align-items: center; } .checkbox-item input { margin-right: 10px; width: 18px; height: 18px; cursor: pointer; } .checkbox-item label { cursor: pointer; font-size: 0.9rem; } .instructions { margin-bottom: 30px; padding: 20px; background: #f8f9fa; border-radius: var(--border-radius); } .instructions ol { padding-left: 20px; margin-top: 10px; } .instructions li { margin-bottom: 8px; } .question-section { margin-bottom: 30px; } .section-heading { font-weight: 600; color: var(--primary-dark); margin-bottom: 15px; padding-bottom: 5px; border-bottom: 1px solid #eee; } .question { margin-bottom: 20px; page-break-inside: avoid; } .question-text { font-weight: 500; margin-bottom: 8px; } .option { margin-left: 20px; margin-bottom: 5px; } .action-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 15px; margin-top: 40px; } .answer-sheet { margin-top: 40px; padding: 20px; background: #f8f9fa; border-radius: var(--border-radius); } .answer-table { width: 100%; border-collapse: collapse; margin-top: 15px; } .answer-table th, .answer-table td { border: 1px solid #ddd; padding: 8px; text-align: center; } .answer-table th { background-color: var(--primary); color: white; } .answer-table tr:nth-child(even) { background-color: #f2f2f2; } @media (max-width: 768px) { .header h1 { font-size: 1.6rem; } .content-area { padding: 20px; } .checkbox-container { grid-template-columns: 1fr; } .btn { padding: 10px 20px; font-size: 0.9rem; } .btn-level { width: 150px; font-size: 1rem; padding: 12px 20px; } .level-buttons { flex-direction: column; align-items: center; } .header-controls { top: 12px; right: 12px; gap: 8px; } .lang-toggle { font-size: 0.7rem; padding: 4px 12px; } } @media (max-width: 480px) { .header { padding: 20px 15px; } .section-title { font-size: 1.3rem; } .action-buttons { flex-direction: column; align-items: center; } .btn { width: 100%; max-width: 250px; } } @media print { body { background: none; padding: 0; } .container { box-shadow: none; max-width: 100%; } .action-buttons { display: none; } .question { page-break-inside: avoid; } .header { -webkit-print-color-adjust: exact; print-color-adjust: exact; } .header-controls { display: none; } } .temp-pdf-container { font-family: Arial, sans-serif; line-height: 1.5; width: 794px; background-color: white; color: black; } .question { page-break-inside: avoid; break-inside: avoid; } .text-center { text-align: center; margin-bottom: 15px; } .flex-center { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; } </style> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4930137336556867" crossorigin="anonymous"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-KMZ9RJ62EY"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-KMZ9RJ62EY'); </script> </head> <body> <div class="container" id="startContainer"> <div class="header"> <div class="header-controls"> <a href="ctet-exam-paper2-assignment-generator.html" class="home-icon" ><i class="fas fa-home"></i></a> <button class="lang-toggle" id="langToggleBtn"><i class="fas fa-globe"></i> <span id="langLabel">9 ?  & @ </span></button> </div> <h1 id="mainTitle">CTET Paper 2</h1> <p id="mainSubtitle">, > 2 5 ?  > 8  5  6 ?  M 7 > 6 > 8 M $ M 0 (Child Development and Pedagogy)  8 >  ( . G    ( 0 G  0 </p> </div> <div class="content-area"> <div id="startScreen"> <h2 class="section-title" id="startTitle">, > 2 5 ?  > 8  5  6 ?  M 7 > 6 > 8 M $ M 0  8 >  ( . G    ( 0 G  0 </h2> <div class="btn-group"> <button class="btn btn-primary" id="startGeneratingBtn"> 8 >  ( . G   , ( >   </button> </div> </div> <div id="subjectSelection" class="hidden"> <h2 class="section-title" id="subjectTitle">5 ? 7 /  >  / (  0 G  </h2> <div class="btn-group"> <button class="btn btn-primary" id="selectPedagogyBtn">, > 2 5 ?  > 8  5  6 ?  M 7 > 6 > 8 M $ M 0 (Child Development & Pedagogy)</button> </div> </div> <div id="chapterSelection" class="hidden"> <h2 class="section-title" id="chapterTitle"> ' M / > / / 5 ? 7 /  A ( G  </h2> <div id="chapterCheckboxContainer" class="checkbox-container"></div> <div class="btn-group"> <button class="btn btn-danger" id="backToStartBtn">* M 0 > 0  - * 0 5 > * 8  >   </button> <button class="btn btn-success" id="generateAssignmentBtn"> 8 >  ( . G   , ( >   </button> </div> </div> <div id="levelSelection" class="hidden"> <h2 class="section-title" id="levelTitle"> ? ( >  8 M $ 0  A ( G  </h2> <p class="text-center" id="levelDesc"> * ( G  8 >  ( . G    G 2 ?  8 M $ 0  >  / (  0 G  :</p> <div class="level-buttons"> <button class="btn btn-level" id="level1Btn">8 M $ 0 1<br><small id="level1Sub">, G 8 ?  8 M $ 0 </small></button> <button class="btn btn-level" id="level2Btn">8 M $ 0 2<br><small id="level2Sub">. ' M / . 8 M $ 0 </small></button> <button class="btn btn-level" id="level3Btn">8 M $ 0 3<br><small id="level3Sub">* 0 @  M 7 > 8 M $ 0 </small></button> </div> <div class="btn-group"> <button class="btn btn-danger" id="backToChaptersBtn">5 ? 7 / K  * 0 5 > * 8  >   </button> <button class="btn btn-success" id="generateFinalBtn"> 8 >  ( . G    ( 0 G   0 G  </button> </div> </div> </div> </div> <div class="container hidden" id="generatedPaperContainer"></div> <script> const { jsPDF } = window.jspdf; // ===================================================== // BILINGUAL QUESTIONS DATABASE (19 TOPICS) - CTET Paper 2 // ===================================================== const questionBank = {}; // Helper to add questions function addQuestions(topicKey, enQ, hiQ) { if (!questionBank[topicKey]) questionBank[topicKey] = { en: { level1: [], level2: [], level3: [] }, hi: { level1: [], level2: [], level3: [] } }; const levels = ['level1', 'level2', 'level3']; enQ.forEach((q, idx) => { const levelKey = levels[idx] || 'level1'; questionBank[topicKey].en[levelKey].push(q); }); hiQ.forEach((q, idx) => { const levelKey = levels[idx] || 'level1'; questionBank[topicKey].hi[levelKey].push(q); }); } // Topic 1 addQuestions('5 ?  > 8  @  5 ' > 0 # >  0 8 @  ( G  G 8 > %  8  > 8  ,  ' ', [ { question: "What is the concept of development?", options: ["Quantitative changes", "Qualitative changes", "Both quantitative and qualitative", "Physical growth only"], answer: "C" }, { question: "Development is related to:", options: ["Only physical growth", "Only mental growth", "Overall growth", "Social growth only"], answer: "C" }, { question: "Which is true about development?", options: ["It is continuous", "It is discontinuous", "It is only physical", "It stops after adolescence"], answer: "A" } ], [ { question: "5 ?  > 8  @  5 ' > 0 # >  M / > 9 H ?", options: [". > $ M 0 > $ M .  * 0 ? 5 0 M $ ( ", " A # > $ M .  * 0 ? 5 0 M $ ( ", ". > $ M 0 > $ M .   0  A # > $ M .  & K ( K  ", " G 5 2 6 > 0 @ 0 ?  5 C & M ' ? "], answer: "C" }, { question: "5 ?  > 8  > 8  ,  '  ? 8 8 G 9 H ?", options: [" G 5 2 6 > 0 @ 0 ?  5 C & M ' ? ", " G 5 2 . > ( 8 ?  5 C & M ' ? ", "8 .  M 0 5 C & M ' ? ", " G 5 2 8 > . >  ?  5 C & M ' ? "], answer: "C" }, { question: "5 ?  > 8  G , > 0 G . G   L ( 8 > 8 $ M / 9 H ?", options: ["/ 9 8 $ $ 9 H ", "/ 9  8 $ $ 9 H ", "/ 9  G 5 2 6 > 0 @ 0 ?  9 H ", "/ 9  ? 6 K 0 > 5 8 M % >  G , > & 0 A   > $ > 9 H "], answer: "A" } ] ); // Topic 2 addQuestions(', > 2 5 ?  > 8  G 8 ? & M ' >  $ ', [ { question: "Which is a principle of child development?", options: ["Development follows a pattern", "Development is rapid", "Development is slow", "Development is haphazard"], answer: "A" }, { question: "The principle of 'cephalocaudal' means:", options: ["Head to toe", "Center to periphery", "Simple to complex", "General to specific"], answer: "A" }, { question: "Development is:", options: ["Predictable", "Unpredictable", "Random", "Static"], answer: "A" } ], [ { question: ", > 2 5 ?  > 8  >  L ( 8 > 8 ? & M ' >  $ 9 H ?", options: ["5 ?  > 8   * H  0 M (  >  ( A 8 0 #  0 $ > 9 H ", "5 ?  > 8 $ @ 5 M 0 9 H ", "5 ?  > 8 ' @ . > 9 H ", "5 ?  > 8  5 M / 5 8 M % ? $ 9 H "], answer: "A" }, { question: "'8 ? + H 2 K  I ! 2 ' 8 ? & M ' >  $  >  0 M % 9 H :", options: ["8 ? 0 8 G * H 0 $  ", " G  & M 0 8 G * 0 ? ' ? $  ", "8 0 2 8 G   ? 2 ", "8 > . > ( M / 8 G 5 ? 6 G 7 "], answer: "A" }, { question: "5 ?  > 8 9 H :", options: ["* B 0 M 5 > ( A . G / ", " * M 0 $ M / > 6 ? $ ", "/ > & C  M  ?  ", "8 M % ? 0 "], answer: "A" } ] ); // Topic 3 addQuestions('* 0 M / > 5 0 #  0  ( A 5  6 ?  $ >  > * M 0 - > 5 ', [ { question: "Which factors influence development?", options: ["Heredity only", "Environment only", "Both heredity and environment", "Nutrition only"], answer: "C" }, { question: "Heredity provides:", options: ["Innate potential", "Learned behavior", "Environmental influences", "Social skills"], answer: "A" }, { question: "Environment includes:", options: ["Physical surroundings", "Social surroundings", "Both physical and social", "Only family"], answer: "C" } ], [ { question: "5 ?  > 8  K  L ( 8 G  > 0  * M 0 - > 5 ? $  0 $ G 9 H  ?", options: [" G 5 2  ( A 5  6 ?  $ > ", " G 5 2 * 0 M / > 5 0 # ", " ( A 5  6 ?  $ >  0 * 0 M / > 5 0 # & K ( K  ", " G 5 2 * K 7 # "], answer: "C" }, { question: " ( A 5  6 ?  $ > * M 0 & > (  0 $ @ 9 H :", options: [" ( M .  > $  M 7 . $ > ", " 0 M  ? $ 5 M / 5 9 > 0 ", "* 0 M / > 5 0 # @ / * M 0 - > 5 ", "8 > . >  ?   L 6 2 "], answer: "A" }, { question: "* 0 M / > 5 0 # . G  6 > . ? 2 9 H :", options: ["- L $ ?  * 0 ? 5 G 6 ", "8 > . >  ?  * 0 ? 5 G 6 ", "- L $ ?   0 8 > . >  ?  & K ( K  ", " G 5 2 * 0 ? 5 > 0 "], answer: "C" } ] ); // Topic 4 addQuestions('8 . >  @  0 # * M 0  M 0 ? / >  5  8 . >  ?  & A ( ? / >  0 ,  M  G ', [ { question: "Socialization is the process of:", options: ["Learning social norms", "Physical growth", "Cognitive development", "Emotional development"], answer: "A" }, { question: "Primary agent of socialization is:", options: ["Family", "School", "Peer group", "Media"], answer: "A" }, { question: "Secondary socialization occurs in:", options: ["School", "Family", "Playground", "Home"], answer: "A" } ], [ { question: "8 . >  @  0 #  @ * M 0  M 0 ? / > 9 H :", options: ["8 > . >  ?  . > ( &  ! 8 @  ( > ", "6 > 0 @ 0 ?  5 C & M ' ? ", "8   M  > ( > $ M .  5 ?  > 8 ", "- > 5 ( > $ M .  5 ?  > 8 "], answer: "A" }, { question: "8 . >  @  0 #  > * M 0 > % . ?    G   9 H :", options: ["* 0 ? 5 > 0 ", "5 ? & M / > 2 / ", "8 9 * > @ 8 . B 9 ", ". @ ! ? / > "], answer: "A" }, { question: "& M 5 ? $ @ /  8 . >  @  0 #  9 >  9 K $ > 9 H ?", options: ["5 ? & M / > 2 / . G  ", "* 0 ? 5 > 0 . G  ", " G 2  G . H & > ( . G  ", " 0 * 0 "], answer: "A" } ] ); // Topic 5 addQuestions('* ? / >  G ,  K 9 2 5 0 M  , 5 > / A  K 2 M * ?  @ : 8  0  ( >  0  2 K  ( > $ M .  & C 7 M  ?  K # ', [ { question: "Piaget's cognitive development has how many stages?", options: ["4", "3", "5", "6"], answer: "A" }, { question: "Kohlberg's theory is related to:", options: ["Moral development", "Cognitive development", "Language development", "Physical development"], answer: "A" }, { question: "Vygotsky emphasized:", options: ["Social interaction", "Genetic factors", "Individual learning", "Reward and punishment"], answer: "A" } ], [ { question: "* ? / >  G  G 8   M  > ( > $ M .  5 ?  > 8  @  ? $ ( @  5 8 M % >   9 H  ?", options: ["4", "3", "5", "6"], answer: "A" }, { question: " K 9 2 , 0 M   > 8 ? & M ' >  $ 8  ,  ' ? $ 9 H :", options: ["( H $ ?  5 ?  > 8 8 G ", "8   M  > ( > $ M .  5 ?  > 8 8 G ", "- > 7 > 5 ?  > 8 8 G ", "6 > 0 @ 0 ?  5 ?  > 8 8 G "], answer: "A" }, { question: "5 > /  K $ M 8 M  @ ( G  ? 8 * 0  K 0 & ? / > ?", options: ["8 > . >  ?    $   M 0 ? / > ", " ( A 5  6 ?   > 0  ", "5 M /  M $ ?  $  ' ?  . ", "* A 0 8 M  > 0  0 &  ! "], answer: "A" } ] ); // Topic 6 addQuestions(', > 2 - G  & M 0 ? $  0 * M 0  $ ? 6 @ 2 6 ?  M 7 >  @  5 ' > 0 # > ', [ { question: "Child-centered education focuses on:", options: ["Child's interests", "Teacher's control", "Curriculum", "Examinations"], answer: "A" }, { question: "Progressive education believes in:", options: ["Learning by doing", "Rote learning", "Teacher dominance", "Bookish knowledge"], answer: "A" }, { question: "Who is the father of progressive education?", options: ["John Dewey", "Piaget", "Vygotsky", "Kohlberg"], answer: "A" } ], [ { question: ", > 2 - G  & M 0 ? $ 6 ?  M 7 >  ? 8 * 0  G  & M 0 ? $ 9 H ?", options: [", > 2   @ 0 A  ? / >  ", "6 ?  M 7   > ( ? /  $ M 0 # ", "* > M /  M 0 . ", "* 0 @  M 7 >   "], answer: "A" }, { question: "* M 0  $ ? 6 @ 2 6 ?  M 7 >  ? 8 * 0 5 ? 6 M 5 > 8  0 $ @ 9 H ?", options: [" 0  G 8 @  ( > ", "0   0 8 @  ( > ", "6 ?  M 7   > * M 0 - A $ M 5 ", " ? $ > , @  M  > ( "], answer: "A" }, { question: "* M 0  $ ? 6 @ 2 6 ?  M 7 >  G  (   L ( 9 H  ?", options: [" I ( ! @ 5 @ ", "* ? / >  G ", "5 > /  K $ M 8 M  @ ", " K 9 2 , 0 M  "], answer: "A" } ] ); // Topic 7 addQuestions(', A & M ' ? ( ? 0 M . > #  G 2 ?   2 K  ( > $ M .   0 , 9 A  / > . @ & C 7 M  ?  K # ', [ { question: "Multiple intelligence theory was given by:", options: ["Gardner", "Spearman", "Thurstone", "Cattell"], answer: "A" }, { question: "How many types of intelligence did Gardner propose?", options: ["8", "7", "9", "10"], answer: "A" }, { question: "Emotional intelligence is related to:", options: ["Understanding emotions", "Logical reasoning", "Physical strength", "Creativity"], answer: "A" } ], [ { question: ", 9 A -, A & M ' ? 8 ? & M ' >  $  ? 8 ( G & ? / > ?", options: [" > 0 M ! ( 0 ", "8 M * @ / 0 . H ( ", "% 0 M 8 M  K ( ", " H  G 2 "], answer: "A" }, { question: " > 0 M ! ( 0 ( G , A & M ' ?  G  ? $ ( G * M 0  > 0 , $ >  ?", options: ["8", "7", "9", "10"], answer: "A" }, { question: "- > 5 ( > $ M .  , A & M ' ? 8  ,  ' ? $ 9 H :", options: ["- > 5 ( >    K 8 .  ( G 8 G ", "$ > 0 M  ?  $ 0 M  8 G ", "6 > 0 @ 0 ?  6  M $ ? 8 G ", "0  ( > $ M .  $ > 8 G "], answer: "A" } ] ); // Topic 8 addQuestions('- > 7 >  0 5 ?  > 0 ', [ { question: "Language and thought are:", options: ["Interrelated", "Independent", "Language precedes thought", "Thought precedes language"], answer: "A" }, { question: "Vygotsky believed that language:", options: ["Shapes thought", "Is separate from thought", "Is a result of thought", "Has no relation"], answer: "A" }, { question: "Piaget believed that thought:", options: ["Precedes language", "Follows language", "Is unrelated", "Develops simultaneously"], answer: "A" } ], [ { question: "- > 7 >  0 5 ?  > 0 9 H  :", options: ["* 0 8 M * 0 8  ,  ' ? $ ", "8 M 5 $  $ M 0 ", "- > 7 > 5 ?  > 0 8 G * 9 2 G  $ @ 9 H ", "5 ?  > 0 - > 7 > 8 G * 9 2 G  $ > 9 H "], answer: "A" }, { question: "5 > /  K $ M 8 M  @  > . > ( ( > % >  ? - > 7 > :", options: ["5 ?  > 0  K   > 0 & G $ @ 9 H ", "5 ?  > 0 8 G  2  9 H ", "5 ?  > 0  > * 0 ? # > . 9 H ", " K  8  ,  ' ( 9 @  "], answer: "A" }, { question: "* ? / >  G  > . > ( ( > % >  ? 5 ?  > 0 :", options: ["- > 7 > 8 G * 9 2 G  $ > 9 H ", "- > 7 >  >  ( A 8 0 #  0 $ > 9 H ", " 8  ,  ' ? $ 9 H ", "  8 > % 5 ?  8 ? $ 9 K $ G 9 H  "], answer: "A" } ] ); // Topic 9 addQuestions('2 ?    @ - B . ?  > :   8 > . >  ?  8  0  ( >  G 0 B * . G  2 ?   , 2 ?   - B . ?  >   , 2 ?   -* B 0 M 5 > ' ?   0 6 H  M 7 # ?   - M / > 8 ', [ { question: "Gender is a:", options: ["Social construct", "Biological fact", "Psychological trait", "Cultural norm"], answer: "A" }, { question: "Gender roles are determined by:", options: ["Society", "Biology", "Religion", "Education"], answer: "A" }, { question: "Gender bias in education can be reduced by:", options: ["Sensitive curriculum", "Separate schools", "Gender stereotypes", "Ignoring gender"], answer: "A" } ], [ { question: "2 ?     :", options: ["8 > . >  ?  8  0  ( > 9 H ", " H 5 ?  $ % M / 9 H ", ". ( K 5 H  M  > ( ?  2  M 7 # 9 H ", "8 >  8 M  C $ ?  . > ( &  ! 9 H "], answer: "A" }, { question: "2 ?   - B . ?  >    ? 8  G & M 5 > 0 > ( ? 0 M ' > 0 ? $ 9 K $ @ 9 H  ?", options: ["8 . >  ", " @ 5 5 ?  M  > ( ", "' 0 M . ", "6 ?  M 7 > "], answer: "A" }, { question: "6 ?  M 7 > . G  2 ?   * B 0 M 5 >  M 0 9  K  H 8 G  .  ? / >  > 8  $ > 9 H ?", options: ["8  5 G & ( 6 @ 2 * > M /  M 0 . ", " 2  8 M  B 2 ", "2 ?   0 B " < ? / >  ", "2 ?    @  ( & G  @ "], answer: "A" } ] ); // Topic 10 addQuestions('5 M /  M $ ? $ M 5  0 5 M /  M $ ?  $   $ 0 ', [ { question: "Personality is:", options: ["Unique pattern of traits", "Physical appearance", "Intellectual ability", "Social status"], answer: "A" }, { question: "Individual differences are caused by:", options: ["Heredity and environment", "Only heredity", "Only environment", "Education"], answer: "A" }, { question: "Personality assessment can be done by:", options: ["Projective tests", "Blood tests", "X-rays", "Physical exams"], answer: "A" } ], [ { question: "5 M /  M $ ? $ M 5 9 H :", options: ["2  M 7 # K   >  & M 5 ? $ @ / * H  0 M ( ", "6 > 0 @ 0 ?  & ?  > 5  ", ", L & M ' ?   M 7 . $ > ", "8 > . >  ?  8 M % ? $ ? "], answer: "A" }, { question: "5 M /  M $ ?  $   $ 0  ? 8  G  > 0 # 9 K $ G 9 H  ?", options: [" ( A 5  6 ?  $ >  0 * 0 M / > 5 0 # ", " G 5 2  ( A 5  6 ?  $ > ", " G 5 2 * 0 M / > 5 0 # ", "6 ?  M 7 > "], answer: "A" }, { question: "5 M /  M $ ? $ M 5 . > * (  ? 8  G & M 5 > 0 >  ? / >  > 8  $ > 9 H ?", options: ["* M 0  M 7 G * @ * 0 @  M 7 # ", "0  M $ * 0 @  M 7 # ", "  M 8 -0 G ", "6 > 0 @ 0 ?  * 0 @  M 7 # "], answer: "A" } ] ); // Topic 11 addQuestions('6 H  M 7 ?  . > * (  5  . B 2 M / >   ( ', [ { question: "Measurement in education refers to:", options: ["Quantitative description", "Qualitative description", "Assessment of learning", "Evaluation of teaching"], answer: "A" }, { question: "Formative evaluation is conducted:", options: ["During instruction", "At the end", "At the beginning", "After exams"], answer: "A" }, { question: "Summative evaluation aims to:", options: ["Assign grades", "Improve learning", "Diagnose difficulties", "Plan instruction"], answer: "A" } ], [ { question: "6 ?  M 7 > . G  . > * (  >  0 M % 9 H :", options: [". > $ M 0 > $ M .  5 0 M # ( ", " A # > $ M .  5 0 M # ( ", " ' ?  .  >   2 ( ", "6 ?  M 7 #  > . B 2 M / >   ( "], answer: "A" }, { question: "0  ( > $ M .  . B 2 M / >   (  ,  ? / >  > $ > 9 H ?", options: ["6 ?  M 7 #  G & L 0 > ( ", "  $ . G  ", "6 A 0 A  $ . G  ", "* 0 @  M 7 >  G , > & "], answer: "A" }, { question: "/ K  > $ M .  . B 2 M / >   (  > & M & G 6 M / 9 H :", options: [" M 0 G ! & G ( > ", "8 @  ( G . G  8 A ' > 0 ", " ? ( >  / K   > ( ? & > ( ", "6 ?  M 7 #  @ / K  ( > "], answer: "A" } ] ); // Topic 12 addQuestions('2 > - > ( M 5 ? $  0 5 ?  ? $ M 0 5 0 M  K  8 9 ? $ 5 ? 5 ? ' * C 7 M - B . ? / K   G 6 ?  M 7 > 0 M % ? / K   @ * 9  > ( ', [ { question: "Diverse learners include:", options: ["Children from different backgrounds", "Only gifted children", "Only disadvantaged children", "Only average children"], answer: "A" }, { question: "Inclusive education means:", options: ["Education for all", "Education for elite", "Separate education", "Special schools"], answer: "A" }, { question: "Disadvantaged children need:", options: ["Extra support", "Less attention", "No support", "Punishment"], answer: "A" } ], [ { question: "5 ? 5 ? ' 6 ?  M 7 > 0 M % ? / K  . G  6 > . ? 2 9 H  :", options: ["5 ? - ? ( M ( * C 7 M - B . ? / K   G ,  M  G ", " G 5 2 * M 0 $ ? - > 6 > 2 @ ,  M  G ", " G 5 2 5   ? $ ,  M  G ", " G 5 2  8 $ ,  M  G "], answer: "A" }, { question: "8 . > 5 G 6 @ 6 ?  M 7 >  >  0 M % 9 H :", options: ["8 - @  G 2 ?  6 ?  M 7 > ", " A 2 @ ( 5 0 M   G 2 ?  6 ?  M 7 > ", " 2  6 ?  M 7 > ", "5 ? 6 G 7 5 ? & M / > 2 / "], answer: "A" }, { question: "5   ? $ ,  M  K   K  > 9 ?  :", options: [" $ ? 0 ?  M $ 8 9 > / $ > ", " . ' M / > ( ", " K  8 9 > / $ > ( 9 @  ", "&  ! "], answer: "A" } ] ); // Topic 13 addQuestions('6 ?  M 7 #  0  ' ?  . ', [ { question: "Teaching is:", options: ["Facilitating learning", "Delivering content", "Conducting exams", "Managing classroom"], answer: "A" }, { question: "Learning is:", options: ["Change in behavior", "Acquiring knowledge", "Developing skills", "All of the above"], answer: "D" }, { question: "Effective teaching requires:", options: ["Understanding learners", "Mastering content", "Using methods", "All of the above"], answer: "D" } ], [ { question: "6 ?  M 7 # 9 H :", options: [" ' ?  .  K 8 A  . , ( > ( > ", "8 > .  M 0 @ * M 0 & > (  0 ( > ", "* 0 @  M 7 >  / K  ? $  0 ( > ", "  M 7 > * M 0 ,  ' ( "], answer: "A" }, { question: " ' ?  . 9 H :", options: ["5 M / 5 9 > 0 . G  * 0 ? 5 0 M $ ( ", " M  > (  0 M  ( ", " L 6 2 5 ?  > 8 ", " * 0 K  M $ 8 - @ "], answer: "D" }, { question: "* M 0 - > 5 @ 6 ?  M 7 #  G 2 ?   5 6 M /  9 H :", options: ["6 ?  M 7 > 0 M % ? / K   K 8 .  ( > ", "8 > .  M 0 @ . G  . 9 > 0 $ ", "5 ? ' ? / K   > * / K  ", " * 0 K  M $ 8 - @ "], answer: "D" } ] ); // Topic 14 addQuestions('8 @  ( G  @  ? ( >   0   M 7 . $ > 5 > 2 G ,  M  K   @  5 6 M /  $ >    @ * 9  > ( ', [ { question: "Learning disability affects:", options: ["Specific areas of learning", "Physical health", "Social skills", "Creativity"], answer: "A" }, { question: "Dyslexia is related to:", options: ["Reading difficulty", "Writing difficulty", "Math difficulty", "Speaking difficulty"], answer: "A" }, { question: "Children with learning difficulties need:", options: ["Special strategies", "Less time", "No help", "Punishment"], answer: "A" } ], [ { question: " ' ?  .   M 7 . $ > * M 0 - > 5 ? $  0 $ @ 9 H :", options: [" ' ?  .  G 5 ? 6 ? 7 M   M 7 G $ M 0 ", "6 > 0 @ 0 ?  8 M 5 > 8 M % M / ", "8 > . >  ?   L 6 2 ", "0  ( > $ M .  $ > "], answer: "A" }, { question: "! ? 8 M 2 G  M 8 ? / > 8  ,  ' ? $ 9 H :", options: ["* " < ( G . G   ? ( >  ", "2 ?  ( G . G   ? ( >  ", " # ? $ . G   ? ( >  ", ", K 2 ( G . G   ? ( >  "], answer: "A" }, { question: " ' ?  .  ? ( >  5 > 2 G ,  M  K   K  > 9 ?  :", options: ["5 ? 6 G 7 0 # ( @ $ ? / >  ", " . 8 . / ", " K  . & & ( 9 @  ", "&  ! "], answer: "A" } ] ); // Topic 15 addQuestions('8 . 8 M / > 8 . > ' > (  0 M $ >  0 , G 9 $ 0 5 ?  > 8  G 0 B * . G  , > 2  ', [ { question: "Children are natural:", options: ["Problem solvers", "Passive learners", "Dependent beings", "Resistant to learning"], answer: "A" }, { question: "Scientific investigator approach means:", options: ["Exploring and questioning", "Rote learning", "Following instructions", "Memorizing facts"], answer: "A" }, { question: "To develop problem-solving skills, children need:", options: ["Opportunities to explore", "More lectures", "Less freedom", "Strict rules"], answer: "A" } ], [ { question: ",  M  G 8 M 5 - > 5 8 G 9 K $ G 9 H  :", options: ["8 . 8 M / > 8 . > ' > (  0 M $ > ", "( ? 7 M  M 0 ? / 6 ?  M 7 > 0 M % @ ", " 6 M 0 ? $ * M 0 > # @ ", "8 @  ( G  G * M 0 $ ? * M 0 $ ? 0 K ' @ "], answer: "A" }, { question: "5 H  M  > ( ?   ( M 5 G 7  & C 7 M  ?  K #  >  0 M % 9 H :", options: [" ( M 5 G 7 #  0 * M 0 6 M ( * B  ( > ", "0  ( > ", "( ? 0 M & G 6 K   > * > 2 ( ", "$ % M / K   K / > &  0 ( > "], answer: "A" }, { question: "8 . 8 M / > -8 . > ' > (  L 6 2 5 ?  8 ? $  0 ( G  G 2 ?  ,  M  K   K  > 9 ?  :", options: [" ( M 5 G 7 #  G  5 8 0 ", " ' ?  5 M / >  M / > ( ", " . 8 M 5 $  $ M 0 $ > ", " K 0 ( ? / . "], answer: "A" } ] ); // Topic 16 addQuestions(',  M  K   G 8 @  ( G  @ , G  2 M * ?   5 ' > 0 # >    0 ,  M  K   @ $ M 0 A  ? / >  ', [ { question: "Alternative concepts are:", options: ["Children's own understanding", "Teacher's understanding", "Bookish knowledge", "Expert opinions"], answer: "A" }, { question: "Children's errors are:", options: ["Learning opportunities", "Mistakes to punish", "Signs of failure", "Unimportant"], answer: "A" }, { question: "To correct alternative concepts, teachers should:", options: ["Provide experiences", "Ignore them", "Punish", "Give more homework"], answer: "A" } ], [ { question: "5 H  2 M * ?   5 ' > 0 # >   9 H  :", options: [",  M  K   @  * ( @ 8 .  ", "6 ?  M 7   @ 8 .  ", " ? $ > , @  M  > ( ", "5 ? 6 G 7  M  K   @ 0 > / "], answer: "A" }, { question: ",  M  K   @ $ M 0 A  ? / >  9 H  :", options: [" ' ?  .  G  5 8 0 ", "&  ! & G ( G / K  M /  2 $ ? / >  ", " 8 + 2 $ >  G 8   G $ ", " . 9 $ M 5 * B 0 M # "], answer: "A" }, { question: "5 H  2 M * ?   5 ' > 0 # >    K @   0 ( G  G 2 ?  6 ?  M 7   K :", options: [" ( A - 5 * M 0 & > (  0 ( > ", " ( & G  >  0 ( > ", "&  ! & G ( > ", " ' ?   C 9  > 0 M / & G ( > "], answer: "A" } ] ); // Topic 17 addQuestions('8   M  > (  5  8  5 G  ', [ { question: "Cognition refers to:", options: ["Mental processes", "Physical processes", "Social processes", "Emotional processes"], answer: "A" }, { question: "Emotion is:", options: ["A feeling state", "A thought", "A behavior", "A skill"], answer: "A" }, { question: "Cognition and emotion are:", options: ["Interconnected", "Separate", "Independent", "Opposite"], answer: "A" } ], [ { question: "8   M  > (  >  0 M % 9 H :", options: [". > ( 8 ?  * M 0  M 0 ? / >   ", "6 > 0 @ 0 ?  * M 0  M 0 ? / >   ", "8 > . >  ?  * M 0  M 0 ? / >   ", "- > 5 ( > $ M .  * M 0  M 0 ? / >   "], answer: "A" }, { question: "8  5 G  9 H :", options: ["  - > 5 ( > $ M .   5 8 M % > ", "  5 ?  > 0 ", "  5 M / 5 9 > 0 ", "   L 6 2 "], answer: "A" }, { question: "8   M  > (  0 8  5 G  9 H  :", options: ["* 0 8 M * 0  A ! < G ", " 2  ", "8 M 5 $  $ M 0 ", "5 ? * 0 @ $ "], answer: "A" } ] ); // Topic 18 addQuestions(' - ? * M 0 G 0 # >  0  ' ?  . ', [ { question: "Motivation is:", options: ["A drive for learning", "A hindrance", "Unimportant", "External only"], answer: "A" }, { question: "Intrinsic motivation comes from:", options: ["Within the person", "External rewards", "Punishment", "Competition"], answer: "A" }, { question: "Extrinsic motivation includes:", options: ["Rewards and praise", "Self-satisfaction", "Curiosity", "Interest"], answer: "A" } ], [ { question: " - ? * M 0 G 0 # > 9 H :", options: [" ' ?  .  G 2 ?  * M 0 G 0  ", "  , > ' > ", " . 9 $ M 5 * B 0 M # ", " G 5 2 , > 9 0 @ "], answer: "A" }, { question: "  $ 0 ?  * M 0 G 0 # >  ? 8 8 G  $ @ 9 H :", options: ["5 M /  M $ ?  G - @ $ 0 ", ", > 9 0 @ * A 0 8 M  > 0 ", "&  ! ", "* M 0 $ ? 8 M * 0 M ' > "], answer: "A" }, { question: ", > 9 0 @ * M 0 G 0 # > . G  6 > . ? 2 9 H :", options: ["* A 0 8 M  > 0  0 * M 0 6  8 > ", " $ M . -8  $ A 7 M  ? ", " ?  M  > 8 > ", "0 A  ? "], answer: "A" } ] ); // Topic 19 addQuestions(' ( .8 @ . + . 2005,  0 . @ . . 2009 $ % >  ( . .* @ . 2020', [ { question: "NCF 2005 emphasizes:", options: ["Child-centered learning", "Teacher-centered learning", "Exam-oriented learning", "Book-centered learning"], answer: "A" }, { question: "RTE Act 2009 provides right to education for:", options: ["6-14 years", "6-12 years", "6-16 years", "All children"], answer: "A" }, { question: "NEP 2020 focuses on:", options: ["Holistic development", "Only academics", "Vocational training only", "Sports only"], answer: "A" } ], [ { question: "NCF 2005  ? 8 * 0  K 0 & G $ > 9 H ?", options: [", > 2 - G  & M 0 ? $  ' ?  . ", "6 ?  M 7  - G  & M 0 ? $  ' ?  . ", "* 0 @  M 7 > - G  & M 0 ? $  ' ?  . ", "* A 8 M $  - G  & M 0 ? $  ' ?  . "], answer: "A" }, { question: "RTE  ' ? ( ? / . 2009 6 ?  M 7 >  >  ' ?  > 0 * M 0 & > (  0 $ > 9 H :", options: ["6-14 5 0 M 7 ", "6-12 5 0 M 7 ", "6-16 5 0 M 7 ", "8 - @ ,  M  K   K "], answer: "A" }, { question: "NEP 2020  ? 8 * 0  G  & M 0 ? $ 9 H ?", options: ["8 .  M 0 5 ?  > 8 ", " G 5 2 6 H  M 7 # ?  ", " G 5 2 5 M / > 5 8 > / ?  * M 0 6 ?  M 7 # ", " G 5 2  G 2 "], answer: "A" } ] ); // Bilingual topic names (for UI display) const topicNames = { hi: [ "5 ?  > 8  @  5 ' > 0 # >  0 8 @  ( G  G 8 > %  8  > 8  ,  ' ", ", > 2 5 ?  > 8  G 8 ? & M ' >  $ ", "* 0 M / > 5 0 #  0  ( A 5  6 ?  $ >  > * M 0 - > 5 ", "8 . >  @  0 # * M 0  M 0 ? / >  5  8 . >  ?  & A ( ? / >  0 ,  M  G ", "* ? / >  G ,  K 9 2 5 0 M  , 5 > / A  K 2 M * ?  @ : 8  0  ( >  0  2 K  ( > $ M .  & C 7 M  ?  K # ", ", > 2 - G  & M 0 ? $  0 * M 0  $ ? 6 @ 2 6 ?  M 7 >  @  5 ' > 0 # > ", ", A & M ' ? ( ? 0 M . > #  G 2 ?   2 K  ( > $ M .   0 , 9 A  / > . @ & C 7 M  ?  K # ", "- > 7 >  0 5 ?  > 0 ", "2 ?    @ - B . ?  > :   8 > . >  ?  8  0  ( >  G 0 B * . G  2 ?   , 2 ?   - B . ?  >   , 2 ?   -* B 0 M 5 > ' ?   0 6 H  M 7 # ?   - M / > 8 ", "5 M /  M $ ? $ M 5  0 5 M /  M $ ?  $   $ 0 ", "6 H  M 7 ?  . > * (  5  . B 2 M / >   ( ", "2 > - > ( M 5 ? $  0 5 ?  ? $ M 0 5 0 M  K  8 9 ? $ 5 ? 5 ? ' * C 7 M - B . ? / K   G 6 ?  M 7 > 0 M % ? / K   @ * 9  > ( ", "6 ?  M 7 #  0  ' ?  . ", "8 @  ( G  @  ? ( >   0   M 7 . $ > 5 > 2 G ,  M  K   @  5 6 M /  $ >    @ * 9  > ( ", "8 . 8 M / > 8 . > ' > (  0 M $ >  0 , G 9 $ 0 5 ?  > 8  G 0 B * . G  , > 2  ", ",  M  K   G 8 @  ( G  @ , G  2 M * ?   5 ' > 0 # >    0 ,  M  K   @ $ M 0 A  ? / >  ", "8   M  > (  5  8  5 G  ", " - ? * M 0 G 0 # >  0  ' ?  . ", " ( .8 @ . + . 2005,  0 . @ . . 2009 $ % >  ( . .* @ . 2020" ], en: [ "Concept of Development and Its Relation with Learning", "Principles of Child Development", "Influence of Environment and Heredity", "Socialization Processes: Social World and Children", "Piaget, Kohlberg, Vygotsky: Construction and Critical Approach", "Concepts of Child-Centered and Progressive Education", "Critical and Multidimensional Approach to Building Intelligence", "Language and Thought", "The Role of Gender: Gender as a Social Construct, Gender Roles, Gender-Bias and Educational Practice", "Personality and Individual Difference", "Educational Measurement and Evaluation", "Recognition of Learners from Diverse Backgrounds Including Advantaged and Disadvantaged Sections", "Teaching and Learning", "Identification of the Needs of Children with Learning Difficulties and Disability", "Child as a Problem Solver and a Scientific Investigator", "Alternative Concepts of Children's Learning and Children's Errors", "Cognition and Emotion", "Motivation and Learning", "N.C.F. 2005, R.T.E. 2009 and N.E.P. 2020" ] }; // Map topic keys to display names (both languages) function getTopicDisplay(key, lang) { const idx = topicKeys.indexOf(key); if (idx === -1) return key; return topicNames[lang][idx] || key; } // List of 19 topics in order (keys) const topicKeys = [ "5 ?  > 8  @  5 ' > 0 # >  0 8 @  ( G  G 8 > %  8  > 8  ,  ' ", ", > 2 5 ?  > 8  G 8 ? & M ' >  $ ", "* 0 M / > 5 0 #  0  ( A 5  6 ?  $ >  > * M 0 - > 5 ", "8 . >  @  0 # * M 0  M 0 ? / >  5  8 . >  ?  & A ( ? / >  0 ,  M  G ", "* ? / >  G ,  K 9 2 5 0 M  , 5 > / A  K 2 M * ?  @ : 8  0  ( >  0  2 K  ( > $ M .  & C 7 M  ?  K # ", ", > 2 - G  & M 0 ? $  0 * M 0  $ ? 6 @ 2 6 ?  M 7 >  @  5 ' > 0 # > ", ", A & M ' ? ( ? 0 M . > #  G 2 ?   2 K  ( > $ M .   0 , 9 A  / > . @ & C 7 M  ?  K # ", "- > 7 >  0 5 ?  > 0 ", "2 ?    @ - B . ?  > :   8 > . >  ?  8  0  ( >  G 0 B * . G  2 ?   , 2 ?   - B . ?  >   , 2 ?   -* B 0 M 5 > ' ?   0 6 H  M 7 # ?   - M / > 8 ", "5 M /  M $ ? $ M 5  0 5 M /  M $ ?  $   $ 0 ", "6 H  M 7 ?  . > * (  5  . B 2 M / >   ( ", "2 > - > ( M 5 ? $  0 5 ?  ? $ M 0 5 0 M  K  8 9 ? $ 5 ? 5 ? ' * C 7 M - B . ? / K   G 6 ?  M 7 > 0 M % ? / K   @ * 9  > ( ", "6 ?  M 7 #  0  ' ?  . ", "8 @  ( G  @  ? ( >   0   M 7 . $ > 5 > 2 G ,  M  K   @  5 6 M /  $ >    @ * 9  > ( ", "8 . 8 M / > 8 . > ' > (  0 M $ >  0 , G 9 $ 0 5 ?  > 8  G 0 B * . G  , > 2  ", ",  M  K   G 8 @  ( G  @ , G  2 M * ?   5 ' > 0 # >    0 ,  M  K   @ $ M 0 A  ? / >  ", "8   M  > (  5  8  5 G  ", " - ? * M 0 G 0 # >  0  ' ?  . ", " ( .8 @ . + . 2005,  0 . @ . . 2009 $ % >  ( . .* @ . 2020" ]; // Translation maps for UI const uiText = { hi: { mainTitle: "CTET Paper 2", mainSubtitle: ", > 2 5 ?  > 8  5  6 ?  M 7 > 6 > 8 M $ M 0 (Child Development and Pedagogy)  8 >  ( . G    ( 0 G  0 ", startTitle: ", > 2 5 ?  > 8  5  6 ?  M 7 > 6 > 8 M $ M 0  8 >  ( . G    ( 0 G  0 ", startBtn: " 8 >  ( . G   , ( >   ", subjectTitle: "5 ? 7 /  >  / (  0 G  ", selectSubject: ", > 2 5 ?  > 8  5  6 ?  M 7 > 6 > 8 M $ M 0 (Child Development & Pedagogy)", chapterTitle: " ' M / > / / 5 ? 7 /  A ( G  ", backStart: "* M 0 > 0  - * 0 5 > * 8  >   ", generateAssign: " 8 >  ( . G   , ( >   ", levelTitle: " ? ( >  8 M $ 0  A ( G  ", levelDesc: " * ( G  8 >  ( . G    G 2 ?  8 M $ 0  >  / (  0 G  :", level1: "8 M $ 0 1", level1Sub: ", G 8 ?  8 M $ 0 ", level2: "8 M $ 0 2", level2Sub: ". ' M / . 8 M $ 0 ", level3: "8 M $ 0 3", level3Sub: "* 0 @  M 7 > 8 M $ 0 ", backChapters: "5 ? 7 / K  * 0 5 > * 8  >   ", generateFinal: " 8 >  ( . G    ( 0 G   0 G  ", fullPaper: "* B 0 M # * > M /  M 0 . (8 - @ 19 5 ? 7 / )", noChapterAlert: " C * / >  . 8 G  .    ' M / > / /5 ? 7 /  A ( G  !", noLevelAlert: " C * / >  ? ( >  8 M $ 0  A ( G  !", fullPaperLabel: "* B 0 M # * > M /  M 0 . (8 - @ 19 5 ? 7 / )", instructions: "( ? 0 M & G 6 :", inst1: " 8  8 >  ( . G   . G  45 , 9 A 5 ?  2 M * @ / * M 0 6 M ( (MCQs) 9 H  d ", inst2: "* M 0 $ M / G  * M 0 6 M (  G  > 0 5 ?  2 M * 9 H  ,  G 5 2   8 9 @ 9 H d ", inst3: "  ? $ 5 ?  2 M *  >  / (  0 G  d ", inst4: "8 . / : 60 . ? (  ", mcqHeading: ", 9 A 5 ?  2 M * @ / * M 0 6 M ( (MCQs)", answerKey: " $ M $ 0  A   @ (Answer Key)", qNo: "* M 0 6 M ( 8  .", ans: " $ M $ 0 ", print: "* M 0 ?    0 G  ", download: "PDF ! > ( 2 K !  0 G  ", newAssign: "( / >  8 >  ( . G   ", subjectLabel: ", > 2 5 ?  > 8  5  6 ?  M 7 > 6 > 8 M $ M 0 ", langLabel: "9 ?  & @ ", noQuestions: "* M 0 6 M ( * 2 , M ' ( 9 @  9 H  d  C * / >  ( M /  ' M / > /  A ( G  d " }, en: { mainTitle: "CTET Paper 2", mainSubtitle: "Child Development and Pedagogy Assignment Generator", startTitle: "Child Development and Pedagogy Assignment Generator", startBtn: "Create Assignment", subjectTitle: "Select Subject", selectSubject: "Child Development & Pedagogy", chapterTitle: "Select Chapters / Topics", backStart: "Back to Start", generateAssign: "Generate Assignment", levelTitle: "Select Difficulty Level", levelDesc: "Choose the level for your assignment:", level1: "Level 1", level1Sub: "Basic Level", level2: "Level 2", level2Sub: "Medium Level", level3: "Level 3", level3Sub: "Exam Level", backChapters: "Back to Topics", generateFinal: "Generate Assignment", fullPaper: "Full Syllabus (All 19 Topics)", noChapterAlert: "Please select at least one chapter/topic!", noLevelAlert: "Please select a difficulty level!", fullPaperLabel: "Full Syllabus (All 19 Topics)", instructions: "Instructions:", inst1: "This assignment has 45 multiple-choice questions (MCQs).", inst2: "Each question has four options, only one is correct.", inst3: "Select the appropriate option.", inst4: "Time: 60 minutes", mcqHeading: "Multiple Choice Questions (MCQs)", answerKey: "Answer Key", qNo: "Q. No.", ans: "Answer", print: "Print", download: "Download PDF", newAssign: "New Assignment", subjectLabel: "Child Development & Pedagogy", langLabel: "English", noQuestions: "Questions not available. Please select other chapters." } }; // DOM refs const langToggleBtn = document.getElementById('langToggleBtn'); const langLabel = document.getElementById('langLabel'); let currentLang = 'hi'; // 'hi' or 'en' // Apply UI language function applyUILanguage(lang) { const t = uiText[lang]; document.getElementById('mainTitle').textContent = t.mainTitle; document.getElementById('mainSubtitle').textContent = t.mainSubtitle; document.getElementById('startTitle').textContent = t.startTitle; document.getElementById('startGeneratingBtn').textContent = t.startBtn; document.getElementById('subjectTitle').textContent = t.subjectTitle; document.getElementById('selectPedagogyBtn').textContent = t.selectSubject; document.getElementById('chapterTitle').textContent = t.chapterTitle; document.getElementById('backToStartBtn').textContent = t.backStart; document.getElementById('generateAssignmentBtn').textContent = t.generateAssign; document.getElementById('levelTitle').textContent = t.levelTitle; document.getElementById('levelDesc').textContent = t.levelDesc; document.getElementById('level1Btn').innerHTML = `${t.level1}<br><small>${t.level1Sub}</small>`; document.getElementById('level2Btn').innerHTML = `${t.level2}<br><small>${t.level2Sub}</small>`; document.getElementById('level3Btn').innerHTML = `${t.level3}<br><small>${t.level3Sub}</small>`; document.getElementById('backToChaptersBtn').textContent = t.backChapters; document.getElementById('generateFinalBtn').textContent = t.generateFinal; langLabel.textContent = t.langLabel; // Re-populate chapters to update labels populateChapters(); // Re-render generated paper if visible if (!generatedPaperContainer.classList.contains('hidden')) { if (selectedChapters && selectedLevel) { generatePaper(selectedChapters, selectedLevel, currentLang); } } } // Toggle language langToggleBtn.addEventListener('click', function() { currentLang = (currentLang === 'hi') ? 'en' : 'hi'; applyUILanguage(currentLang); }); // ----- Core logic ----- let selectedChapters = []; let selectedLevel = null; const startContainer = document.getElementById('startContainer'); const startScreen = document.getElementById('startScreen'); const subjectSelection = document.getElementById('subjectSelection'); const chapterSelection = document.getElementById('chapterSelection'); const levelSelection = document.getElementById('levelSelection'); const generatedPaperContainer = document.getElementById('generatedPaperContainer'); function populateChapters() { const container = document.getElementById('chapterCheckboxContainer'); const t = uiText[currentLang]; const fullPaperLabel = (currentLang === 'hi') ? "* B 0 M # * > M /  M 0 . (8 - @ 19 5 ? 7 / )" : "Full Syllabus (All 19 Topics)"; container.innerHTML = `<div class="checkbox-item"><input type="checkbox" id="fullPaper" value="full"><label for="fullPaper">${fullPaperLabel}</label></div>`; topicKeys.forEach((key, idx) => { const displayName = getTopicDisplay(key, currentLang); container.innerHTML += `<div class="checkbox-item"><input type="checkbox" id="topic_${idx}" name="chapter" value="${key}"><label for="topic_${idx}">${idx+1}. ${displayName}</label></div>`; }); const fullPaperCheckbox = document.getElementById('fullPaper'); if(fullPaperCheckbox) { fullPaperCheckbox.addEventListener('change', function() { const allChapterCheckboxes = document.querySelectorAll('input[name="chapter"]'); allChapterCheckboxes.forEach(cb => cb.disabled = this.checked); }); } } function getRandomQuestions(chapters, level, count, lang) { let allQuestions = []; chapters.forEach(ch => { if(questionBank[ch] && questionBank[ch][lang] && questionBank[ch][lang][`level${level}`]) { allQuestions = allQuestions.concat(questionBank[ch][lang][`level${level}`]); } }); if(allQuestions.length === 0) { const t = uiText[lang]; return [{ question: t.noQuestions, options: ["A", "B", "C", "D"], answer: "A" }]; } allQuestions = allQuestions.sort(() => Math.random() - 0.5); return allQuestions.slice(0, Math.min(count, allQuestions.length)); } function generatePaper(chapters, level, lang) { const t = uiText[lang]; const mcqs = getRandomQuestions(chapters, level, 45, lang); let questionNumber = 1; // Build chapter display string let chapterDisplay = ''; if (chapters.length === topicKeys.length) { chapterDisplay = t.fullPaperLabel; } else { const displayNames = chapters.slice(0,3).map(k => getTopicDisplay(k, lang)); chapterDisplay = displayNames.join(", ") + (chapters.length > 3 ? "..." : ""); } let paperContent = ` <div class="header"> <h2>CTET Paper 2 - ${t.subjectLabel}</h2> <h3>${chapterDisplay}</h3> <p>${level === 1 ? t.level1 : level === 2 ? t.level2 : t.level3} - ${level === 1 ? t.level1Sub : level === 2 ? t.level2Sub : t.level3Sub}</p> </div> <div class="content-area"> <div class="instructions"> <p><strong>${t.instructions}</strong></p> <ol> <li>${t.inst1}</li> <li>${t.inst2}</li> <li>${t.inst3}</li> <li>${t.inst4}</li> </ol> </div> <div class="question-section"> <div class="section-heading">${t.mcqHeading}</div>`; mcqs.forEach(mcq => { paperContent += ` <div class="question"> <div class="question-text">${questionNumber}. ${mcq.question}</div> <div class="option">A. ${mcq.options[0]}</div> <div class="option">B. ${mcq.options[1]}</div> <div class="option">C. ${mcq.options[2]}</div> <div class="option">D. ${mcq.options[3]}</div> </div>`; questionNumber++; }); paperContent += ` </div> <div class="answer-sheet"> <h3 class="section-title">${t.answerKey}</h3> <table class="answer-table"> <thead> <tr> <th>${t.qNo}</th><th>${t.ans}</th> <th>${t.qNo}</th><th>${t.ans}</th> <th>${t.qNo}</th><th>${t.ans}</th> </tr> </thead> <tbody>`; for(let i=0; i<mcqs.length; i+=3) { paperContent += `<tr>`; for(let j=0; j<3; j++) { if(i+j < mcqs.length) { paperContent += `<td>${i+j+1}</td><td>${mcqs[i+j].answer}</td>`; } else { paperContent += `<td></td><td></td>`; } } paperContent += `</tr>`; } paperContent += ` </tbody> </table> </div> <div class="action-buttons"> <button class="btn btn-primary" id="printBtn"><i class="fas fa-print"></i> ${t.print}</button> <button class="btn btn-success" id="downloadBtn"><i class="fas fa-download"></i> ${t.download}</button> <button class="btn btn-danger" id="newAssignmentBtn"><i class="fas fa-plus"></i> ${t.newAssign}</button> </div> </div>`; generatedPaperContainer.innerHTML = paperContent; generatedPaperContainer.classList.remove('hidden'); startContainer.classList.add('hidden'); document.getElementById('printBtn').addEventListener('click', function() { window.print(); }); document.getElementById('downloadBtn').addEventListener('click', downloadPDF); document.getElementById('newAssignmentBtn').addEventListener('click', function() { generatedPaperContainer.classList.add('hidden'); startContainer.classList.remove('hidden'); startScreen.classList.remove('hidden'); subjectSelection.classList.add('hidden'); chapterSelection.classList.add('hidden'); levelSelection.classList.add('hidden'); selectedLevel = null; level1Btn.classList.remove('selected'); level2Btn.classList.remove('selected'); level3Btn.classList.remove('selected'); }); } // Event Listeners document.getElementById('startGeneratingBtn').addEventListener('click', function() { startScreen.classList.add('hidden'); subjectSelection.classList.remove('hidden'); }); document.getElementById('selectPedagogyBtn').addEventListener('click', function() { subjectSelection.classList.add('hidden'); populateChapters(); chapterSelection.classList.remove('hidden'); }); document.getElementById('backToStartBtn').addEventListener('click', function() { generatedPaperContainer.classList.add('hidden'); startContainer.classList.remove('hidden'); chapterSelection.classList.add('hidden'); levelSelection.classList.add('hidden'); startScreen.classList.remove('hidden'); subjectSelection.classList.add('hidden'); }); document.getElementById('generateAssignmentBtn').addEventListener('click', function() { const fullPaper = document.getElementById('fullPaper'); if(fullPaper && fullPaper.checked) { selectedChapters = [...topicKeys]; } else { selectedChapters = Array.from(document.querySelectorAll('input[name="chapter"]:checked')).map(cb => cb.value); } if(selectedChapters.length === 0) { const t = uiText[currentLang]; alert(t.noChapterAlert); return; } chapterSelection.classList.add('hidden'); levelSelection.classList.remove('hidden'); }); document.getElementById('backToChaptersBtn').addEventListener('click', function() { levelSelection.classList.add('hidden'); chapterSelection.classList.remove('hidden'); }); function selectLevel(level) { level1Btn.classList.remove('selected'); level2Btn.classList.remove('selected'); level3Btn.classList.remove('selected'); document.getElementById(`level${level}Btn`).classList.add('selected'); selectedLevel = level; } document.getElementById('level1Btn').addEventListener('click', function() { selectLevel(1); }); document.getElementById('level2Btn').addEventListener('click', function() { selectLevel(2); }); document.getElementById('level3Btn').addEventListener('click', function() { selectLevel(3); }); document.getElementById('generateFinalBtn').addEventListener('click', function() { if(!selectedLevel) { const t = uiText[currentLang]; alert(t.noLevelAlert); return; } startContainer.classList.add('hidden'); levelSelection.classList.add('hidden'); generatePaper(selectedChapters, selectedLevel, currentLang); }); // PDF Download async function downloadPDF() { const element = document.getElementById('generatedPaperContainer'); const tempDiv = document.createElement('div'); tempDiv.style.position = 'absolute'; tempDiv.style.left = '-9999px'; tempDiv.style.width = '794px'; tempDiv.style.backgroundColor = 'white'; tempDiv.style.padding = '20px'; tempDiv.innerHTML = element.innerHTML; document.body.appendChild(tempDiv); try { const pdf = new jsPDF('p', 'mm', 'a4'); const pageWidth = pdf.internal.pageSize.getWidth() - 25.4; const pageHeight = pdf.internal.pageSize.getHeight() - 25.4; let position = 12.7; let remainingHeight = tempDiv.scrollHeight; let pageNum = 1; while(remainingHeight > 0) { const canvas = await html2canvas(tempDiv, { scale: 2, windowHeight: pageHeight * 3.78, windowWidth: pageWidth * 3.78, y: position * 3.78, height: pageHeight * 3.78, useCORS: true, backgroundColor: '#ffffff', logging: false }); const imgData = canvas.toDataURL('image/jpeg', 0.95); if(pageNum > 1) pdf.addPage('a4', 'portrait'); pdf.addImage(imgData, 'JPEG', 12.7, 12.7, pageWidth, (canvas.height * pageWidth) / canvas.width); position += pageHeight; remainingHeight -= pageHeight * 3.78; pageNum++; } pdf.save('CTET_Paper2_CDP_Assignment.pdf'); } catch(err) { console.error(err); alert('PDF generation error. Please try again.'); } finally { if(tempDiv && tempDiv.parentNode) document.body.removeChild(tempDiv); } } // Home icon: reset to start document.getElementById('homeIconBtn').addEventListener('click', function(e) { e.preventDefault(); generatedPaperContainer.classList.add('hidden'); startContainer.classList.remove('hidden'); startScreen.classList.remove('hidden'); subjectSelection.classList.add('hidden'); chapterSelection.classList.add('hidden'); levelSelection.classList.add('hidden'); selectedLevel = null; level1Btn.classList.remove('selected'); level2Btn.classList.remove('selected'); level3Btn.classList.remove('selected'); }); // Initial load: apply Hindi UI applyUILanguage('hi'); </script> </body> </html>