Senior Diplomatic Observatory · Khaemenes Academy

Grade 12 Global Politics, International Relations & Senior Research Honors

A capstone-level honors portal for comparative politics, international relations, global law, human rights, development, political economy, technology governance, senior thesis writing, oral defense, and graduation-gate review.

Khaemenes High · Grade 12 Global Politics, International Relations & Senior Research Honors · Jennifer Pearl · 2026

`} function printReport(){let w=window.open("","_blank"); w.document.write(reportHTML()); w.document.close(); w.focus(); setTimeout(()=>w.print(),400);} function downloadReport(){download(`SS12_Report_${safe(student().name)}.html`,reportHTML(),"text/html");} function downloadCSV(){const s=student(); let rows=[["Student","Week","Unit","Title","Lessons","Assignments","Quiz","Portfolio","Repeats"]]; APP.weeks.forEach(w=>{let r=weekRec(s,w.week); rows.push([s.name,w.week,w.unit,w.title,lessonPct(s,w.week),assignPct(s,w.week),quizBest(s,w.week)||"",r.portfolio?"Approved":"Pending",r.repeats||0]);}); download(`SS12_Progress_${safe(s.name)}.csv`,rows.map(r=>r.map(csv).join(",")).join("\n"),"text/csv");} function downloadScope(){let rows=[["Week","Unit","Title","Essential Question","Focus","Performance","Source Laboratory","Capstone Checkpoint","Major Assessment"]]; APP.weeks.forEach(w=>rows.push([w.week,w.unit,w.title,w.essentialQuestion,w.focus,w.performance,w.sourceLab,w.capstoneCheckpoint,w.majorAssessment])); download("SS12_GPIR_36_Week_Scope.csv",rows.map(r=>r.map(csv).join(",")).join("\n"),"text/csv");} function downloadCapstoneGuide(){download("SS12_Senior_Thesis_Capstone_Guide.txt","Grade 12 Senior Thesis and Capstone Guide\\n\\nRequired: 4,000–5,000 word thesis, ethical methodology, source verification, AI disclosure, ten checkpoints, oral defense, cumulative final, and evaluator verification.\\n\\nCore sections: question, literature/context, method, evidence, findings, counterevidence, limitations, implications, citations, reflection.\\n","text/plain");} function downloadBackup(){download("SS12_GPIR_Backup.json",JSON.stringify(state,null,2),"application/json");} function importBackup(e){const f=e.target.files[0]; if(!f)return; const r=new FileReader(); r.onload=()=>{try{state=JSON.parse(r.result); if(!state.students)throw Error(); state.activeId=state.activeId||state.students[0]?.id; save(); render();}catch{alert("Could not import backup.");}}; r.readAsText(f);} function safe(s){return String(s||"student").replace(/[^a-z0-9_-]+/gi,"_").slice(0,60);} function csv(v){return `"${String(v??"").replaceAll('"','""')}"`;} function download(name,text,type){let b=new Blob([text],{type}),a=document.createElement("a"); a.href=URL.createObjectURL(b); a.download=name; document.body.appendChild(a); a.click(); setTimeout(()=>{URL.revokeObjectURL(a.href);a.remove();},800);} /* Boot */ document.querySelectorAll("[data-view]").forEach(b=>b.onclick=()=>{view=b.dataset.view;render();}); document.querySelectorAll("[data-go]").forEach(b=>b.onclick=()=>{view=b.dataset.go;render();}); $("addStudent").onclick=()=>{let n=$("studentName").value.trim(); if(!n)return alert("Enter a student name."); addStudent(n); $("studentName").value="";}; $("studentSelect").onchange=e=>{state.activeId=e.target.value; save(); render();}; $("deleteStudent").onclick=()=>{let s=student(); if(!s)return; if(!confirm(`Delete ${s.name}?`))return; state.students=state.students.filter(x=>x.id!==s.id); state.activeId=state.students[0]?.id||null; if(!state.students.length)addStudent("First Student"); save(); render();}; $("demo").onclick=()=>{addStudent("Demo Senior"); let s=student(); for(let i=1;i<=4;i++){let r=weekRec(s,i); ["Monday","Tuesday","Wednesday"].forEach(d=>r.lessons[d]=true); r.assignments[0]=true; r.quiz.best=[90,84,88,76][i-1]; r.quiz.attempts.push({date:new Date().toISOString(),score:r.quiz.best}); if(i<3)r.portfolio=true;} s.progress.thesis.hours=18; save(); render();}; if(!state.students.length)addStudent("First Student"); else render();