Digitale Kompetenzen

Digitale Kompetenzen Lehrpersonen

Selbsteinschätzung mit Bewertung von 1 bis 4. Die Auswertung berechnet automatisch die Mittelwerte pro Kompetenzbereich und stellt sie als Spiderdiagramm dar.

1
kaum Kenntnisse
2
bekannt, aber unsicher
3
anwendbar, teils mit Hilfe
4
sehr sicher / unterstützend
0 von 177 bewertet

Hinweis zur Nutzung

Die Eingaben werden nur lokal im Browser gespeichert. Es werden keine Daten versendet. Der Button «Forms öffnen» öffnet lediglich das verlinkte Microsoft Forms in einem neuen Tab.

Anonymitäts-Hinweis: Das Forms muss so eingestellt sein, dass keine Namen/E-Mail-Adressen aufgezeichnet werden. Die HTML-Datei selbst speichert oder übermittelt keine Personendaten.

Kompetenzen bewerten

Auswertung

Grundkompetenzen

Mittelwerte pro Bereich; leere Antworten werden nicht mitgezählt.

Erweiterte Kompetenzen

Mittelwerte pro Bereich; Bereiche ohne Einträge bleiben leer.

Tabellarische Übersicht

BereichGrundkompetenzenErweiterte Kompetenzenbewertet
`; const box=d.querySelector('.items'); for(const item of list){ const row=document.createElement('div'); row.className='row'; row.innerHTML=`
${esc(itemText(item))}
`; row.querySelectorAll('button').forEach(btn=>btn.onclick=()=>setRating(item.id, Number(btn.dataset.v))); row.dataset.id=item.id; box.appendChild(row); } root.appendChild(d); } } refresh(); } function slug(s){return s.toLowerCase().replace(/[^a-z0-9äöü]+/gi,'_');} function setRating(id, val){ratings[id]=val; save(); refresh();} function save(){localStorage.setItem(storageKey, JSON.stringify(ratings));} function avg(arr){const nums=arr.map(x=>ratings[x.id]).filter(v=>v>=1&&v<=4); return nums.length? nums.reduce((a,b)=>a+b,0)/nums.length : null;} function allStats(){return cats.map(cat=>{const grund=competencies.filter(x=>x.category===cat && x.level==='Grundkompetenzen'); const erw=competencies.filter(x=>x.category===cat && x.level==='Erweiterte Kompetenzen'); const done=competencies.filter(x=>x.category===cat && ratings[x.id]); return {cat, grund:avg(grund), erw:avg(erw), done:done.length, total:grund.length+erw.length};});} function refresh(){ document.querySelectorAll('.row').forEach(row=>{const id=row.dataset.id; row.querySelectorAll('button').forEach(btn=>btn.classList.toggle('active', Number(btn.dataset.v)===ratings[id]));}); for(const level of levels){for(const cat of cats){const list=competencies.filter(x=>x.level===level && x.category===cat); const el=document.getElementById('avg_'+slug(level+'_'+cat)); if(el){const a=avg(list); el.textContent=a? a.toFixed(2):'–';}}} const done=Object.values(ratings).filter(v=>v>=1&&v<=4).length; document.getElementById('progressText').textContent=`${done} von ${competencies.length} bewertet`; if(currentLang==='fr') document.getElementById('progressText').textContent=`${done} sur ${competencies.length} évaluées`; document.getElementById('progressBar').style.width=(done/competencies.length*100)+'%'; drawAll(); buildSummary(); buildRecommendations(); } function drawAll(){const stats=allStats(); drawRadar('chartGrund', stats.map(x=>catName(x.cat)), stats.map(x=>x.grund)); const adv=stats.filter(x=>x.erw!==null); drawRadar('chartErweitert', adv.map(x=>catName(x.cat)), adv.map(x=>x.erw));} function drawRadar(canvasId, labels, values){ const c=document.getElementById(canvasId), ctx=c.getContext('2d'), w=c.width, h=c.height; ctx.clearRect(0,0,w,h); const cx=w/2, cy=h/2+10, maxR=Math.min(w,h)*0.34, n=labels.length; ctx.font='13px Arial'; ctx.textAlign='center'; ctx.textBaseline='middle'; if(!n){ctx.fillStyle='#66777b';ctx.fillText(t('noadvanced'),cx,cy);return;} for(let r=1;r<=4;r++){ctx.beginPath(); for(let i=0;i{let val=v||0; let a=-Math.PI/2+i*2*Math.PI/n; let rr=maxR*val/4; let x=cx+Math.cos(a)*rr, y=cy+Math.sin(a)*rr; i?ctx.lineTo(x,y):ctx.moveTo(x,y);}); ctx.closePath(); ctx.fillStyle='rgba(0,89,103,.22)'; ctx.fill(); ctx.strokeStyle='#005967'; ctx.lineWidth=3; ctx.stroke(); values.forEach((v,i)=>{if(!v)return;let a=-Math.PI/2+i*2*Math.PI/n;let rr=maxR*v/4;let x=cx+Math.cos(a)*rr,y=cy+Math.sin(a)*rr;ctx.beginPath();ctx.arc(x,y,5,0,2*Math.PI);ctx.fillStyle='#b7bf00';ctx.fill();ctx.strokeStyle='#005967';ctx.stroke();}); ctx.lineWidth=1; } function wrapLabel(ctx, text, x, y, maxWidth){const words=text.replace('Microsoft ','').split(/\s+/), lines=[];let line='';for(const word of words){const test=line?line+' '+word:word;if(ctx.measureText(test).width>maxWidth&&line){lines.push(line);line=word}else line=test;}lines.push(line);lines.slice(0,3).forEach((l,i)=>ctx.fillText(l,x,y+(i-(Math.min(lines.length,3)-1)/2)*14));} function buildSummary(){const tbody=document.querySelector('#summaryTable tbody'); tbody.innerHTML=''; allStats().forEach(s=>{const tr=document.createElement('tr'); tr.innerHTML=`${esc(catName(s.cat))}${s.grund? s.grund.toFixed(2):'–'}${s.erw? s.erw.toFixed(2):'–'}${s.done}/${s.total}`; tbody.appendChild(tr);});} function buildRecommendations(){const root=document.getElementById('recContainer'); root.innerHTML=''; allStats().forEach(s=>{if(!s.grund)return; let div=document.createElement('div'); div.className='rec'; let txt=currentLang==='fr'?'Une recommandation détaillée peut être formulée à partir de cette moyenne. Les valeurs basses indiquent un besoin de soutien, les valeurs moyennes un potentiel d’approfondissement, et les valeurs élevées une compétence solide.':'Ausgehend von diesem Mittelwert kann eine Empfehlung abgeleitet werden. Tiefe Werte zeigen Unterstützungsbedarf, mittlere Werte Vertiefungspotenzial und hohe Werte eine sichere Kompetenz.'; div.innerHTML=`

${esc(catName(s.cat))} – ${s.grund.toFixed(2)}

${esc(txt)}

`; root.appendChild(div);});} function exportCSV(){let rows=[[t('area'),'Art','Kompetenz','Bewertung']]; competencies.forEach(x=>rows.push([catName(x.category),levelName(x.level),itemText(x),ratings[x.id]||''])); const csv=rows.map(r=>r.map(v=>'"'+String(v).replace(/"/g,'""')+'"').join(';')).join('\n'); const blob=new Blob([csv],{type:'text/csv;charset=utf-8;'}); const a=document.createElement('a'); a.href=URL.createObjectURL(blob); a.download=currentLang==='fr'?'competences_numeriques_autoevaluation.csv':'digitale_kompetenzen_selbsteinschaetzung.csv'; a.click(); URL.revokeObjectURL(a.href);} function resetAll(){if(confirm(t('confirm'))){ratings={}; save(); refresh();}} setLang(currentLang);
(function(){ function detectLang(){ var htmlLang = (document.documentElement.getAttribute('lang') || '').toLowerCase(); if (htmlLang.startsWith('fr')) return 'fr'; var active = document.querySelector('.active[data-lang], .language-switch .active, button.active, .lang-toggle.active'); if (active) { var txt = (active.getAttribute('data-lang') || active.textContent || '').toLowerCase(); if (txt.includes('fr')) return 'fr'; } try { var saved = localStorage.getItem('lang') || localStorage.getItem('language') || localStorage.getItem('selectedLanguage'); if (saved && saved.toLowerCase().startsWith('fr')) return 'fr'; } catch(e) {} return 'de'; } function applyBottomFormsLanguage(lang){ var block = document.getElementById('forms-final-link'); if (!block) return; block.querySelectorAll('[data-de][data-fr]').forEach(function(el){ el.textContent = el.getAttribute(lang === 'fr' ? 'data-fr' : 'data-de'); }); block.querySelectorAll('.lang-de').forEach(function(el){ el.style.display = lang === 'fr' ? 'none' : ''; }); block.querySelectorAll('.lang-fr').forEach(function(el){ el.style.display = lang === 'fr' ? '' : 'none'; }); } window.applyBottomFormsLanguage = applyBottomFormsLanguage; document.addEventListener('DOMContentLoaded', function(){ applyBottomFormsLanguage(detectLang()); document.querySelectorAll('button, a, .language-switch, .lang-toggle').forEach(function(el){ el.addEventListener('click', function(){ setTimeout(function(){ applyBottomFormsLanguage(detectLang()); }, 80); setTimeout(function(){ applyBottomFormsLanguage(detectLang()); }, 300); }); }); }); var oldSetAttribute = Element.prototype.setAttribute; Element.prototype.setAttribute = function(name, value){ oldSetAttribute.call(this, name, value); if (this === document.documentElement && name.toLowerCase() === 'lang') { applyBottomFormsLanguage(String(value).toLowerCase().startsWith('fr') ? 'fr' : 'de'); } }; })();