classroom-data-field-guide/ledger.html
2026-08-22 06:33:33 +00:00

131 lines
7.7 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>The Attendance Ledger — Classroom Data Field Guide</title>
<meta name="description" content="The daily attendance ledger: reconciliation, the half-day counts, and the pattern-tracking that catches kids before they fall through."/>
<style>
:root{
--ink:#22211f; --paper:#f4efe6; --rule:#b7a887; --accent:#8a3324;
--faint:#6b6a63; --cream:#fbf8f1; --ok:#3a6b35; --warn:#b07d12;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
font-family:Georgia,"Times New Roman",serif;line-height:1.55;}
.wrap{max-width:880px;margin:0 auto;padding:0 24px 80px;}
header.masthead{border-bottom:3px double var(--ink);padding:40px 0 22px;margin-bottom:8px;}
.kicker{font-family:"Courier New",monospace;font-size:12px;letter-spacing:.22em;
text-transform:uppercase;color:var(--accent);margin:0 0 14px;}
h1{font-size:40px;line-height:1.05;margin:0 0 10px;}
.dek{font-size:18px;color:var(--faint);font-style:italic;max-width:34em;margin:0;}
.rule{display:block;height:6px;border-top:1px solid var(--rule);
border-bottom:1px solid var(--rule);margin:16px 0 6px;}
p{margin:0 0 16px;font-size:16.5px;}
h2{font-size:26px;margin:40px 0 10px;}
.nav{font-family:"Courier New",monospace;font-size:13px;border:1px solid var(--rule);
background:var(--cream);padding:16px 20px;margin:30px 0 6px;}
.nav a{color:var(--accent);text-decoration:none;margin-right:18px;}
.nav a:hover{text-decoration:underline;}
table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14.5px;
font-family:"Courier New",monospace;}
th,td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top;}
th{background:var(--cream);text-transform:uppercase;font-size:12px;letter-spacing:.06em;}
.card{background:var(--cream);border:1px solid var(--rule);padding:18px 20px;margin:20px 0;}
.card h3{margin:0 0 12px;font-size:19px;color:var(--accent);}
label{font-family:"Courier New",monospace;font-size:13px;display:block;margin:10px 0 4px;}
input,select{font-family:"Courier New",monospace;font-size:14px;padding:6px 8px;
border:1px solid var(--rule);background:#fff;color:var(--ink);width:100%;}
button{font-family:"Courier New",monospace;font-size:13px;letter-spacing:.05em;
background:var(--accent);color:#fbf8f1;border:none;padding:10px 18px;
margin-top:14px;cursor:pointer;}
button:hover{filter:brightness(1.1);}
#outbox{margin-top:16px;font-family:"Courier New",monospace;font-size:14px;
border-top:2px dashed var(--rule);padding-top:12px;min-height:40px;}
.good{color:var(--ok)} .ok{color:var(--warn)} .miss{color:var(--accent)}
ol,ul{margin:0 0 16px;padding-left:22px;}
li{margin:0 0 7px;font-size:15.5px;}
blockquote{margin:22px 0;padding:4px 20px;border-left:4px solid var(--accent);
color:var(--faint);font-style:italic;font-size:17px;}
footer{margin-top:54px;padding-top:18px;border-top:3px double var(--ink);
font-family:"Courier New",monospace;font-size:12px;color:var(--faint);}
a{color:var(--accent);}
</style>
</head>
<body>
<div class="wrap">
<header class="masthead">
<p class="kicker">Field Guide · Chapter One</p>
<h1>The Attendance Ledger</h1>
<p class="dek">The first habit I seed every August. Attendance isn't a checkbox — it's the earliest, most honest signal a school has about a child.</p>
<span class="rule"></span>
</header>
<div class="nav">
<a href="index.html">Home</a>
<a href="ledger.html">Attendance Ledger</a>
<a href="iep.html">IEP Tracking</a>
<a href="calendar.html">Annual Calendar</a>
</div>
<h2>Why I treat attendance like a gardener treats sunlight</h2>
<p>You can't measure a child's growth if you don't know how many days of light they actually got. Attendance data is the baseline every other measure leans on — and it's the thing that slips first because it feels routine. Routine is exactly when the arithmetic stops being checked.</p>
<h2>Reconciliation is the whole job</h2>
<p>Every morning I run the same three-way check, and I never trust one source alone:</p>
<ol>
<li><strong>The homeroom roster</strong> — who the school says should be here.</li>
<li><strong>The morning sign-in</strong> — who actually walked through the door.</li>
<li><strong>The master attendance system</strong> — the official record.</li>
</ol>
<p>A mismatch between any two is not an annoyance; it's a child whose day got lost in transit. I resolve every single one before lunch.</p>
<table>
<tr><th>Discrepancy</th><th>Most likely cause</th><th>My first move</th></tr>
<tr><td>Roster has a name, sign-in doesn't</td><td>Unexcused absence</td><td>Call home before 10:00</td></tr>
<tr><td>Sign-in has a name, roster doesn't</td><td>Late add / new enrollee</td><td>Verify with the office, flag to teacher</td></tr>
<tr><td>Sign-in says present, system says absent</td><td>Data entry lag</td><td>Confirm with the office, log the correction</td></tr>
<tr><td>Half-day counts disagree</td><td>Multiple dismissal points</td><td>Check each dismissal code individually</td></tr>
</table>
<h2>Patterns are the real harvest</h2>
<p>Once the daily count is correct, the weekly view does the actual good. A child late every Tuesday isn't a Tuesday problem — it's a transportation problem, or a morning-routine problem, that only shows up as a pattern. This is why I flag, not just record.</p>
<div class="card">
<h3>Try it: the flag calculator</h3>
<p>Enter a student's late arrivals for a four-week stretch (MonThu). If the pattern crosses my two red lines — three or more in a single week, or six in the month — the record earns a flag and a conversation.</p>
<label>Week 1 lates (05)</label>
<input type="number" id="w1" min="0" max="5" value="0"/>
<label>Week 2 lates (05)</label>
<input type="number" id="w2" min="0" max="5" value="0"/>
<label>Week 3 lates (05)</label>
<input type="number" id="w3" min="0" max="5" value="0"/>
<label>Week 4 lates (05)</label>
<input type="number" id="w4" min="0" max="5" value="0"/>
<button onclick="checkFlags()">Run the flag check</button>
<div id="outbox">Awaiting that week's numbers…</div>
</div>
<blockquote>"The record isn't meant to blame a family. It's meant to wake the school up early — while there's still time to help."</blockquote>
<footer>
<p>Barbara Asbell · Teaching Assistant · Troy, Michigan<br/>
Field guide pages: <a href="index.html">Home</a> · <a href="ledger.html">Attendance Ledger</a> · <a href="iep.html">IEP Tracking</a> · <a href="calendar.html">Annual Calendar</a></p>
</footer>
</div>
<script>
function checkFlags(){
var a=+document.getElementById('w1').value||0,
b=+document.getElementById('w2').value||0,
c=+document.getElementById('w3').value||0,
d=+document.getElementById('w4').value||0;
var weeks=[a,b,c,d], weekFlag=weeks.filter(function(w){return w>=3;}).length,
total=a+b+c+d, out=document.getElementById('outbox');
if(total>=6){ out.innerHTML='<span style="color:var(--accent)">🚩 FLAG — '+total+' lates this month.</span> This crosses the six-in-a-month line. Raise it with the teacher and arrange a friendly call home. The pattern is almost never laziness; it\'s a signal worth listening to.'; }
else if(weekFlag>0){ out.innerHTML='<span style="color:var(--warn)">⚠ WATCH — '+weekFlag+' week(s) hit three or more lates.</span> Not yet a flag, but worth posting on the teacher\'s radar for next week.'; }
else{ out.innerHTML='<span style="color:var(--ok)">✓ CLEAR — '+total+' lates this month, none crossing a red line.</span> Keep the daily discipline; this is the quiet win.'; }
}
</script>
</body>
</html>