Analyses

What courses actually ran

How many classes ran in each subject, SY2017 to SY2025: more of them at Lunenburg High than 8 years ago, for the same number of children — and fewer of those children taking a language.

247
course sections ran at Lunenburg High in SY2025 — +22 on SY2017, for +3 students
13.5
students to a class, down from 14.7. More classes for the same children means smaller ones
7 up, 6 down
subjects that gained and lost sections over the 9 years. 6 were unchanged
−7
sections in Foreign Language, the subject that lost most — 28 to 21
1
computer science sections at the high school across the 11 years it held only grades 9–12
29.3%
of Lunenburg Middle School took a world language in SY2025, against 61.0% in SY2023 — the lowest share in the 9 years the school has existed

What this report counts

COURSE SECTIONS: how many classes ran in a subject area at a school in a school year, as DESE records them. Not courses — the file carries no course names. Not dollars, not teachers, not children. A section is what RAN, which is what a schedule offered and what students chose, together.

If you read nothing else

01247course sections

Lunenburg High ran 247 sections in SY2025 against 225 in SY2017, on flat enrolment.

More classes ran, not fewer — and the average class fell from 14.7 students to 13.5.

The argument in this town has been about whether the cuts narrowed what children can take, and at the high school the count of classes that ran went the other way. 435 students in SY2017 and 438 in SY2025 — within a handful of each other — across the 9 years the high school held only grades 9-12 in one building configuration. A section is what RAN, so this is not a catalogue and not a plan. What it cannot say is whether the same COURSES ran: DESE files sections by subject area and never by course.

The staffing behind it → · What the district said it was cutting →

What it rests on DESE’s class-size collection — `tot_clss_cnt` and `avg_clss_cnt` for Lunenburg High — with the grade span of the school in every one of those years read off DESE’s own enrolment-by-grade counts, so the two ends of the comparison are the same school.

What it does not show That more sections is more choice. A fifth of them are groups averaging under five students and nothing published says what those teach. Nor does it show a cause: the town cut, enrolment fell and the buildings were reorganised inside the same period.

0257.8%

57.8% of Lunenburg High students took a foreign language in SY2025, against 70.1% in SY2017.

Sections fell from 28 to 21 over the same years — the one subject narrowing on every measure here.

Three instruments point the same way for one subject and only one, which is what makes it worth separating from everything else here. 305 students took a language in SY2017 and 253 in SY2025, in 21 sections rather than 28. District teacher FTE for the subject moved with them. A language schedule is set by people in this town, in a document the School Committee sees, so this is a decision somebody can look at rather than a condition.

Teacher FTE by subject →

What it rests on Sections, distinct students and average class size for Foreign Language at Lunenburg High, beside district teacher FTE for the same subject name from DESE’s teacher file.

What it does not show Whether a child who wanted a language could not get one. The district’s own principal told the School Committee that courses are whittled away after student choices are entered, so a fall in sections and a fall in students choosing can be the same measurement seen twice.

0329.3%

29.3% of Lunenburg Middle School took a world language in SY2025, against 61.0% in SY2023.

Sections went from 11 to 5 — the lowest share in the 9 years the school has existed.

This is the subject residents actually came to a meeting about: a parent told the School Committee that her seventh grader had practised French for three years and had just heard she might not be able to take it. 236 children took a language at the middle school in SY2023 and 115 in SY2025. READ THE SERIES BEFORE CONCLUDING, because it has been here before: the school fell to the same 5 sections in SY2020 and was back above it the next year, so one low year is not a subject ending. What is different now is that it has stayed for 2 years, and that grade 8 world language was still being discussed alongside the override two years after a parent raised it.

What it rests on Sections and distinct students for Foreign Language at Lunenburg Middle School over the share of the school’s own distinct students — both out of the same DESE file and the same row family, so this is not a ratio across two instruments.

What it does not show Whether a language was offered and not chosen, or not offered. It also does not show what share of children COULD take one: the file carries no grades inside a school, and a language need not be offered in every grade.

041section in 11 years

In the 11 years Lunenburg High held only grades 9-12 it ran 1 computer science section.

8 students, in SY2023. The subject runs at the middle school in every one of its 9 years.

The years the high school DID run computer science — 5 to 8 sections a year — are the years grade 8 was housed in the building, and the students in those sections numbered close to the grade-8 cohort each year. This is the clearest thing on the page a body in this town could decide to change, and establishing it costs nothing: the subject already runs at the middle school every year, so the question is a schedule rather than a programme. What the count cannot say is whether high school students take computing under another heading — DESE’s subject areas are broad, and this district files a fifth of its high school sections under Miscellaneous.

What it rests on `tot_clss_cnt` for Computer and Information Sciences at Lunenburg High and at Lunenburg Middle School in every year DESE publishes, with the high school’s grade span in each of those years taken from DESE’s enrolment-by-grade counts.

What it does not show That nobody in Lunenburg teaches computing to a ninth-grader. It shows what DESE recorded under one subject heading. The district’s curriculum return to DESE names no product against any of its digital-literacy rows either, and that is a fact about voluntary reporting rather than about provision.

0520.6%

20.6% of Lunenburg High’s sections are in a class averaging 4.9 students.

DESE calls the category Miscellaneous and nothing published says what those 51 groups teach.

It is also the single largest mover in the high school’s section count, up from 35 sections in SY2017. A student described one of these to the School Committee in public comment — a new elective, four students on the register, eight on the first day. That is what a section this size looks like from the inside, and it is the only account of one anybody has given in public. Whether the rest are electives, academic support, directed study or something else is not published anywhere.

What it rests on Sections and average class size for the Miscellaneous subject area at Lunenburg High against the school’s own total, at both ends of the window.

What it does not show What any of them is. The category carries no course names, and reading small groups as enrichment or as remediation fits the same number equally well. Registered in the gaps below.

068of 10 subjects

Sections and teacher FTE moved the same way in 8 of the 10 subjects with both published.

The staffing proxy was not misleading — but only a section count can say whether a class stopped running.

Two independent state files, one counting people and one counting classes, over the years both cover — SY2017 to SY2025, district-wide. THE 2 THAT DIFFER ARE WHY BOTH FILES ARE PUBLISHED HERE, and the larger of them is Mathematics — the largest line in the comparison. Its teacher FTE fell by 1.5 while its sections ROSE by 3 and its average class went from 19.7 students to 18.4. Both readings are true and they answer different questions — fewer teachers, more classes, smaller ones — and a page carrying only the FTE would have reported a subject contracting. That is the whole case for counting sections: the staffing series was pointing the right way in eight subjects and could not, on its own, tell four sections of a subject from two.

The FTE series in full →

What it rests on `dese_teacher_subject` teacher FTE at district level against `dese_class_size` section counts for the same subject names, at both ends of the overlapping window. DESE uses one subject vocabulary for both files, and the join refuses to write unless every compared subject is present in both.

What it does not show The most recent year. The teacher file runs one year further than the class-size file, and its largest moves in that year are in Science and Mathematics — none of which has a section count to sit beside it. They are carried on this page, labelled, and never differenced against one.

Those are the answers this report could reach from the documents behind it. If the one you came for is not among them, ask us — no name or email needed.

How a course stops running, in the district’s own words

This is above the charts rather than below them because it changes what they mean. A section that did not run may be a section nobody chose rather than a section anybody cut, and the person who builds the schedule has said so in public. Nothing measured on this page separates the two. What the record also holds, in the same paragraph, is the school choosing what to ADD.

“Our strategy moving forward is allowing the students choices to dictate our courses and electives. We will whittle away at courses once we have recommendations and students choices entered.”

School Committee · minutes · 2024-03-06 · our copy · the town’s

The single most important sentence on this page, and it is the district’s own. It says the mechanism: a section that does not run may be a section nobody chose rather than a section anybody cut. Everything measured here is the OUTCOME of that process, and nothing here separates the two halves of it.

“I have seen that there are supposed to be cuts to the current High School band teacher, where the electives he teaches such as Music Tech will be non-existent.”

School Committee · minutes · 2024-02-07 · our copy · the town’s

And the high school’s Arts sections went UP that year. Both are true, and the reason they can both be true is the limit this page keeps running into: DESE files sections by SUBJECT AREA and never by course, so one named elective ending is invisible inside a subject total that rose. That is a gap in the register, not a contradiction.

“I was put into a new elective that was just implemented this semester titled Music in Modern Media and it goes into Music Technology and the History of Music Film Literacy and all those things we had four people when that elective was implemented on the first day eight people showed up, there is more interests and it was not advertised in a great way but there is more interest.”

School Committee · minutes · 2024-01-24 · our copy · the town’s

A course being ADDED, in the same budget cycle as the cut list — and at a size this file would record as a section of four to eight. It is the clearest account anybody has given in public of what the small sections in the high school actually are.

“LHS Master Schedule Development Mr. Santry gives a detailed summary of the scheduling process at the High School via Slide Presentation”

School Committee · minutes · 2024-12-04 · our copy · the town’s

The document that would close almost every limit on this page exists and was presented in public. It is not in this archive and is not published on the district’s site, which is why it is named on the records request rather than argued about.

“we need to make sure we are continuing to challenge our students and options specifically for students that are on an AP track and getting the kids the classes they want/need to take”

School Committee · minutes · 2023-12-20 · our copy · the town’s

The question this page was built to answer, asked at the table a year before the budget it concerned. Nothing in front of that meeting counted what ran.

“We would like to offer AP Statis tics if possible as many academic programs at college levels include statistics as a requirement.”

School Committee · minutes · 2024-03-06 · our copy · the town’s

The other direction, in the same paragraph as the whittling, and rule 8 says it goes on the page at the same weight: a school choosing what to ADD in the middle of a budget it does not yet know the size of. Mathematics is among the subjects that gained sections here. The transcription reads “Statis tics”; it is quoted as the archive holds it rather than tidied, because a quote is a claim about a document.

The high school, year by year

cross-checkedthe section counts against teacher FTE from a separate DESE file, and the grade span of the school against DESE’s own enrolment-by-grade counts

SY11SY12SY13SY14SY15SY16SY17SY18SY19SY20SY21SY22SY23SY24SY2507515022530006121822.8
sections that ran (left axis)average class size (right axis)average class size while the school held grades 8–12

15 school years, SY2011 to SY2025. The shaded band is a different school. Lunenburg High held grades 8–12 from SY2013 to SY2016, so a section count inside it is not comparable with one outside it — which is why the dashed line does not join the solid one. Everything this page concludes rests on SY2017 to SY2025: the years Lunenburg High held one grade span, in one building configuration, with the same five schools reporting.

Lunenburg High, every measured year

YearGradesSectionsAverage classStudentsSeatsSeats per student
SY20119–1217618.85293,3096.25
SY20129–1218117.75073,2046.32
SY20138–1228117.05764,7778.29
SY20148–1229815.85774,7088.16
SY20158–1228715.35454,3918.06
SY20168–1228715.35384,3918.16
SY20179–1222514.74353,3087.60
SY20189–1222015.54463,4107.65
SY20199–1224015.04633,6007.78
SY20209–1224214.64593,5337.70
SY20219–1223013.44583,0826.73
SY20229–1223515.34603,5967.82
SY20239–1224413.94443,3927.64
SY20249–1225213.24483,3267.42
SY20259–1224713.54383,3347.61

Seats per student is the closest thing here to “how many classes a child takes”, and it barely moves inside the window: 7.60 in SY2017 and 7.61 in SY2025. It is seats and not children: a seat is one student in one class, and the same child fills several. Sections times the average class size, which reconciles with the sum of the subjects’ own to within 0.3% in every year.

Which subjects gained sections, and which lost them

-7071421Foreign LanguageHistorySocial Studies/SocialSciencesEngineering and TechnologyPhysical, Health, andSafety EducationReadingHealth Care SciencesScienceCivics/GovernmentArtsEnglish/Language ArtsMathematicsMiscellaneous

Change in sections at Lunenburg High, SY2017 to SY2025 — 9 years, one grade span throughout. Ranked by the size of the move rather than the size of the subject: a large subject that did not move is not the finding. 6 subjects are not drawn because they did not change.

Every subject at Lunenburg High

SubjectSections SY2017Sections SY2025ChangeClass size SY2017Class size SY2025Students SY2017Students SY2025
Miscellaneous3551+165.84.9120129
Foreign Language2821−710.912.1305253
Mathematics2532+717.814.5422434
English/Language Arts2530+517.616.1418431
Arts2125+417.517.5274280
Civics/Government24+219.514.53953
History1715−219.217.3326259
Social Studies/Social Sciences42−213.514.05428
Engineering and Technology54−113.212.36247
Health Care Sciences12+115.04.0158
Physical, Health, and Safety Education2726−118.618.7326311
Reading21−13.55.075
Science2728+117.515.5406379
Agriculture, Food and Natural Resources22018.512.02320
Business and Marketing0000.00.000
Communications and Audio/Visual Technology2208.521.51743
Computer and Information Sciences0000.00.000
Economics2209.523.01946
Public, Protective, and Government Service0000.00.000

Sections are what RAN. Class size is DESE’s own average. Students is the count of DISTINCT children who took the subject — not seats, and not the sum of the classes.

Did anything stop altogether

6 subjects ran district-wide at some point and have run nothing since. They are small — the largest ran 16 sections in its last year — and the vocational and technical areas are where they cluster, which is where a narrowing would show first if there were one.

Subjects that ran, and have not since

SubjectLast year it ranSections thenStudents thenYears sinceYear we can rely on?
GeographySY2011412414no — see below
Architecture and ConstructionSY201223113yes
ManufacturingSY201211513yes
Public, Protective, and Government ServiceSY2019126yes
Business and MarketingSY20242191yes
Human ServicesSY2024163471yes

A subject whose last year is SY2011 is a different claim from one whose last year is later: SY2011 is the first year of this collection and the year one Lunenburg school reports an average class size of 87. “It stopped” and “it was never recorded properly” fit that year equally well, and this table marks which rows sit in it rather than choosing.

What this does not show

That any of these was cut. A subject running one or two sections is a subject one teacher’s timetable can carry or drop, and a retirement, a schedule and a decision all look identical here. Nor is a district total the whole story: Lunenburg’s vocational students go to Monty Tech, which is a different school and a different page, and every Chapter 74 row in this file is zero.

What this does not show

That a subject with fewer sections offered less. A section is what ran, and what ran is two things at once: what the schedule offered and what students chose. The district’s own account of that mechanism is above the chart on purpose, so it is read before the chart rather than after it.

And nothing here is a course. DESE files sections by subject AREA. A named elective ending inside a subject whose total rose is invisible to this file, which is exactly what a student described to the School Committee in the quotes above.

Foreign language — the one subject that narrowed on every instrument

It is also the only subject on this page that residents came to a meeting about, which is why it is separated from the others. Nothing in the section counts says a language matters more than mathematics; what says so is the record below.

Lunenburg High

SY17SY18SY19SY20SY21SY22SY23SY24SY25071421280%25%50%75%100%
sections that ran (left axis)share of the school taking a language (right axis)

9 school years, one grade span throughout. Sections fell from 28 to 21 and the share of the school taking a language from 70.1% to 57.8%. The average class went from 10.9 students to 12.1 — fewer classes, and fuller ones.

Lunenburg Middle School

SY17SY18SY19SY20SY21SY22SY23SY24SY25051015200%25%50%75%100%
sections that ran (left axis)share of the school taking a language (right axis)

9 school years — the whole life of the school, which opened in SY2017. Read the dip before reading the fall. The school was at 5 sections once before, in SY2020 and SY2024, and came back above it — so one low year is not a subject ending. It has now been there for 2 years, at the lowest share in the file: 29.3% in SY2025.

Foreign language, both schools

YearHigh school sectionsStudentsShare of the schoolMiddle school sectionsStudentsShare of the school
SY20172830570.1%1224060.5%
SY20182431069.5%1841194.9%
SY20192531467.8%1739297.8%
SY20202632169.9%513131.5%
SY20212424052.4%1124762.5%
SY20222229263.5%1125161.5%
SY20232627762.4%1123661.0%
SY20242529265.2%512032.8%
SY20252125357.8%511529.3%

Share is the count of DISTINCT children who took a language over the school’s own count of distinct children — both out of the same file and the same row family, so it is not a ratio across two instruments. It is not a share of children who COULD take one: the file carries no grades inside a school, and a language need not be offered in every grade of one.

What was said about it

“Our largest class is 31 which is because of a reduction in foreign language.”

School Committee · minutes · 2025-09-03 · our copy · the town’s

The other half of the measurement, said out loud by the person who builds the schedule: fewer sections and fuller ones are one decision seen twice. It describes the SEPTEMBER AFTER the last school year this file covers, so it is corroboration from beyond the measurement rather than part of it — and it is the only place in the readable archive where anybody in the district connects the two quantities this page keeps apart.

“In addition to the special education with my daughter being in 7th grade she is concerned about the cuts to foreign language and the middle school sports.”

School Committee · minutes · 2024-01-24 · our copy · the town’s

The middle school half, from the year it moved. This page found the subject in the data; the archive is where the child is. What the parent describes and what the file records are the same event seen from two sides, and neither establishes the other.

“the school advisory committee for the middle school met and talked about the grade 8 world language and the override, middle school sports being in the restoration budget”

School Committee · minutes · 2026-04-01 · our copy · the town’s

Still live, two years on, and in the same sentence as the override. Read it carefully: the minute puts MIDDLE SCHOOL SPORTS in the restoration budget and says only that grade 8 world language was discussed. This page does not read it as saying more than that.

“the school's requests for an interventionist, a kindergarten paraprofessional, a world language teacher, a teacher and paraprofessional for the bridge program, an English teacher, a part-time music teacher, an assistant principal, a literacy coach, and an assistant business manager entirely reasonable and defensible”

School Committee · minutes · 2026-03-10 · our copy · the town’s

A world language teacher is on the district’s own ask, first in the list after the interventionist and the kindergarten paraprofessional. That is a document stating intent, which is evidence of intent and not of outcome — but it is the point at which a measurement in this file becomes something a body in this town is actually voting on.

What this does not show

Whether a child who wanted a language could not get one. Sections falling and students choosing it falling are the same measurement seen twice, and this file cannot separate them. What it does establish is that all three quantities — sections, students and district teacher FTE — moved the same way in this subject and in no other.

And the Principal’s largest class of 31 is not in this file. It describes September of the school year after the last one measured here. It is quoted because it is the only place in the readable archive where somebody in the district connects the two quantities this page keeps apart — not because it extends the series.

Computer science at the high school

The subject ran 5 to 8 sections a year in SY2013, SY2014, SY2015, SY2016 — the 4 years grade 8 was housed in the building. In the 11 years the school held only grades 9–12 it ran 1: 8 students, in SY2023. Lunenburg Middle School has run it in every one of its 9 years.

Computer and Information Sciences, sections that ran

YearLunenburg High sectionsStudents in themGrades at the high schoolLunenburg Middle School sections
SY2011009–12
SY2012009–12
SY201351198–12
SY201481348–12
SY201561218–12
SY201681198–12
SY2017009–128
SY2018009–127
SY2019009–126
SY2020009–126
SY2021009–126
SY2022009–128
SY2023189–126
SY2024009–126
SY2025009–125

Blank at the middle school means the school did not exist that year: it opened in SY2017, when the district reorganised its buildings. Read the grade column across the high school column. The years with five to eight sections are the years the building held grade 8, and the students in them come within a dozen of the grade-8 cohort each year — which is a correspondence and not a proof that they were the same course.

What this does not show

That nobody in Lunenburg teaches computing to a ninth-grader. This is what DESE recorded under one subject heading. A high school that files a fifth of its sections as Miscellaneous could be teaching it under that, and nothing published would say so.

The fifth of the high school with no named subject

51 of Lunenburg High’s 247 sections in SY2025 — 20.6% — are filed under Miscellaneous, averaging 4.9 students, taken by 129 distinct children. It is also the single largest mover on the page: 35 sections in SY2017.

Miscellaneous at Lunenburg High

YearSectionsAverage classStudentsShare of all sections
SY2017355.812015.6%
SY2018304.88313.6%
SY2019394.910216.3%
SY2020364.89714.9%
SY2021334.99314.3%
SY2022448.026618.7%
SY2023543.811322.1%
SY2024514.312320.2%
SY2025514.912920.6%

What this does not show

What any of them is. The category carries no course names. Reading small groups as enrichment and reading them as remediation fit the same number equally well, and this page chooses neither. The one public account of a section this size is the student quoted above, describing a new elective with four on the register and eight on the first day.

Sections against teacher FTE — two instruments, one question

School staffing measures the same schools with a different instrument: full-time equivalents the state publishes by subject. That measure has carried the argument about course offerings in this town for years, and the useful question is whether it was pointing the right way. Over the years both files cover — SY2017 to SY2025, district-wide — the two move the same way in 8 of 10 subjects.

Teacher FTE and sections, district-wide

SubjectFTE SY2017FTE SY2025ChangeSections SY2017Sections SY2025ChangeSame direction
Mathematics18.517.0−1.58184+3no
Economics0.20.1−0.1220no
Science15.315.4+0.18095+15yes
Foreign Language5.84.9−0.94026−14yes
Social Studies/Social Sciences11.29.3−1.95749−8yes
Civics/Government0.71.9+1.269+3yes
Arts7.18.1+1.0121123+2yes
English/Language Arts17.616.9−0.78785−2yes
History3.32.7−0.61715−2yes
Reading5.75.0−0.72827−1yes

Mathematics is the disagreement worth reading, and it is the largest line in the comparison: its teacher FTE fell 1.5 while its sections rose by 3 and its average class went from 19.7 students to 18.4. Fewer teachers, more classes, smaller ones — all three at once, and a page carrying only the FTE would have reported a subject contracting. The other is Economics, which moves by a fraction of a post. DESE uses one subject vocabulary for both files, so this is a join on the publisher’s own names rather than on ours; the generator refuses to write unless every compared subject is present in both.

The year one instrument can see and the other cannot

The teacher file runs to SY2026 and the class-size collection stops at SY2025. So the FTE moves in that last year have no section count beside them, and nothing here differences the two: they are different quantities at different stages, and a line drawn through both would be the mistake this whole site is built to avoid.

Teacher FTE in SY2026, with no section count to set beside it

SubjectFTE SY2025FTE SY2026Change
Science15.412.7−2.7
Mathematics17.018.7+1.7
Social Studies/Social Sciences9.310.6+1.3
Foreign Language4.93.9−1.0
English/Language Arts16.916.4−0.5
History2.72.5−0.2
Reading5.04.8−0.2
Arts8.18.2+0.1

Only the subjects that moved are listed. This is the year in which the largest changes school staffing reports actually happen, which is why that page and this one can both be right about a subject and appear to disagree.

Which schools these are, and why the name is not the school

Lunenburg reorganised its buildings twice inside this period. Reading a school name as a fixed thing is the single easiest way to produce a false trend here, so the grade span of every school in every year is taken from DESE’s own enrolment-by-grade counts rather than from anything anybody wrote down.

Every Lunenburg school, every year, as the state counted it

YearSchools, with the grades each held and its enrolment
SY2011Lunenburg Primary School (PK–2, 373) · Thomas C Passios Elem (3–5, 360) · Turkey Hill Middle (6–8, 381) · Lunenburg High (9–12, 536)
SY2012Lunenburg Primary School (PK–2, 386) · Thomas C Passios Elementary (3–5, 355) · Turkey Hill Middle (6–8, 386) · Lunenburg High (9–12, 510)
SY2013Lunenburg Primary School (PK–3, 509) · Turkey Hill Middle (4–7, 496) · Lunenburg High (8–12, 582)
SY2014Lunenburg Primary School (PK–3, 507) · Turkey Hill Middle (4–7, 480) · Lunenburg High (8–12, 577)
SY2015Lunenburg Primary School (PK–3, 522) · Turkey Hill Middle (4–7, 481) · Lunenburg High (8–12, 554)
SY2016Lunenburg Primary School (PK–3, 503) · Turkey Hill Middle (4–7, 515) · Lunenburg High (8–12, 549)
SY2017Lunenburg Primary School (PK–2, 386) · Turkey Hill Elementary School (3–5, 400) · Lunenburg Middle School (6–8, 388) · Lunenburg High (9–12, 439)
SY2018Lunenburg Primary School (PK–2, 394) · Turkey Hill Elementary School (3–5, 373) · Lunenburg Middle School (6–8, 423) · Lunenburg High (9–12, 442) · Advanced Community Experience Program (not stated, 9)
SY2019Lunenburg Primary School (PK–2, 418) · Turkey Hill Elementary School (3–5, 372) · Lunenburg Middle School (6–8, 393) · Lunenburg High (9–12, 458) · Advanced Community Experience Program (not stated, 8)
SY2020Lunenburg Primary School (PK–2, 417) · Turkey Hill Elementary School (3–5, 360) · Lunenburg Middle School (6–8, 406) · Lunenburg High (9–12, 452) · Advanced Community Experience Program (not stated, 6)
SY2021Lunenburg Primary School (PK–2, 385) · Turkey Hill Elementary School (3–5, 344) · Lunenburg Middle School (6–8, 386) · Lunenburg High (9–12, 474) · Advanced Community Experience Program (not stated, 4)
SY2022Lunenburg Primary School (PK–2, 379) · Turkey Hill Elementary School (3–5, 361) · Lunenburg Middle School (6–8, 402) · Lunenburg High (9–12, 450) · Advanced Community Experience Program (not stated, 5)
SY2023Lunenburg Primary School (PK–2, 384) · Turkey Hill Elementary School (3–5, 353) · Lunenburg Middle School (6–8, 380) · Lunenburg High (9–12, 440) · Advanced Community Experience Program (not stated, 5)
SY2024Lunenburg Primary School (PK–2, 391) · Turkey Hill Elementary School (3–5, 370) · Lunenburg Middle School (6–8, 363) · Lunenburg High (9–12, 449) · Advanced Community Experience Program (not stated, 7)
SY2025Lunenburg Primary School (PK–2, 374) · Turkey Hill Elementary School (3–5, 345) · Lunenburg Middle School (6–8, 382) · Lunenburg High (9–12, 452) · Advanced Community Experience Program (not stated, 10)

Why the two elementary schools are not on this page

Their section counts swing by a factor of two between adjacent years with no matching change in enrolment, and 2 school-years report an average class size no primary school can have: 87.1 at Lunenburg Primary School in SY2011; 36.5 at Lunenburg Primary School in SY2022. A self-contained classroom’s subject coding is not stable enough to trend, so this page does not trend it. The high school, where a section IS a course and where course choice actually exists, is intact in every measured year.

One cell, rather than a sentence about instability

SY2022, Lunenburg Primary School, Arts: 2 sections averaging 341 students, against a school of 386. That is not a class of 341 children. It is what a self-contained elementary classroom looks like when the same children are coded into one subject row, and it is why nothing on this page is drawn from an elementary series.

SY11SY12SY13SY14SY15SY16SY17SY18SY19SY20SY21SY22SY23SY24SY2502505007501000

The DISTRICT total, 15 school years — every school added together, which is the series this page does not read. The swings are the elementary schools: SY2011 and SY2022 are the two years above, and the years either side of them move by more than any enrolment change can account for. The shaded band is the four years the high school held a different grade span, which is a second reason nothing here may be read as one line.

The district and each school, sections that ran

YearDistrictLunenburg HighLunenburg Middle SchoolDistrict students
SY20114391761,633
SY20127681811,634
SY20137112811,590
SY20147092981,571
SY20156972871,564
SY20167272871,577
SY20177692252031,635
SY20188072202451,643
SY20198132402031,666
SY20207932422071,677
SY20218902302221,595
SY20226922352261,616
SY20238972442131,590
SY20248312522071,591
SY20257812472101,587

The district row is a ROLLUP of its schools and is never summed with them. It equals the sum of the schools in every year but SY2021, where it exceeds them by 51 sections — classes the file records for the district and attributes to no school. Both rollups on this page, the district over its schools and the total subject over its 79 cells, are recomputed on every build and the generator refuses to write if either stops holding.

What a parent can look up, which is a different question

Lunenburg files a curriculum return with DESE: 119 rows, eight subjects by grade, with the published curriculum product named against each. 15 of those rows name one — ELA and MATH in the middle grades, and Amplify ELA (2019), EdGems Math (2018), HMH Into Math (2020), Into Reading (2020) are the products.

The curriculum return, by subject

SubjectRowsRows naming a product
ARTS100
CHPE100
DLCS180
ELA199
HSS190
MATH186
STE150
WL100

What this does not show

This is a fact about REPORTING and not about provision. DESE’s curriculum collection is voluntary, so a blank is a row nobody filled in — never a subject nobody teaches. Lunenburg plainly teaches science; 104 rows naming no product does not say otherwise and this page does not suggest it. What the count bounds is what a parent choosing a school, or a resident checking what a budget buys, can look up without asking anybody.

What the town said about this, and how much of the archive could be read

4
documents mention “electives”
0
documents mention “course offerings”
3
documents mention “master schedule”
15
documents mention “program of studies”
9
documents mention “world language”
6
documents mention “foreign language”
7
documents mention “French”
5
documents mention “Latin”
0
documents mention “computer science”
21
documents mention “class size”
0
documents mention “course selection”

Searched 8,899 of the 12,015 meeting documents this archive holds (74%), covering to . The other 3,116 carry no text a search can match — 3,096 of them are image scans awaiting OCR. An empty result above is a statement about what can be read, never about what was said.

Note what the counts show anyway. The most-said of these in the readable archive is class size, in 21 documents. And 3 of them match nothing at all — course offerings, computer science, course selection — which includes the subject this page finds has run once at the high school in 11 years. That is a statement about what can be read, never about what was said.

One thing that could be done differently next year

Publish the Program of Studies each year, with the previous year’s beside it. The High School Principal handed the School Committee an edition of it on 6 March 2024 and presented the LHS master schedule on 4 December 2024, so both documents exist, both have been in front of the board, and neither is on the district’s website. Two PDFs a year would turn every section count on this page into a list of courses — which is what a parent asking whether their child can still take a language actually wants, and what no state file will ever hold.

What this page cannot say

  • Whether a subject running fewer sections means a child could not take it. A section is what RAN, and what ran is the product of two things at once — what the schedule offered and what students chose. The district’s own principal told the School Committee that courses are whittled away after student choices are entered. Nothing here separates the two, and the honest reading of a fall is that one of them moved.
  • What any of these sections is CALLED. DESE files by subject area and never by course, so a named elective ending inside a subject whose total rose is invisible to this file — which is exactly what a student described to the School Committee in February 2024.
  • Anything about the two elementary schools. 2 school-years report an average class size no primary school can have — 87.1 and 36.5, both at Lunenburg Primary School — against a maximum of 24.1 in every other school-year in the file, and adjacent years swing by a factor of two with no matching change in enrolment. The subject coding of a self-contained classroom is not stable enough to trend, so this page does not trend it.
  • Why the high school’s record breaks at SY2013. Grade 8 moved into the building that year: the school’s student count rose by 69 and its recorded seats by 1,573 — more than twenty course seats for every additional child. The arithmetic does not work, nothing in this archive explains it, and no finding here crosses that year.
  • Whether any of this was caused by the budget. The town cut, enrolment fell and the buildings were reorganised twice inside the same 15 years. Those are three causes and this file records one outcome.
  • What Lunenburg teaches. The district’s curriculum return to DESE names a published product against 15 of its 119 rows, and DESE’s curriculum reporting is VOLUNTARY — so a blank is a row nobody filled in, never a subject nobody teaches. Lunenburg plainly teaches science. The count on this page is about what a parent can look up.
  • Anything about quality, results or what a section is worth. This page counts classes.
  • Anything about the town side. Massachusetts collects a class count from school districts and from nothing else, so there is no equivalent series for the fire department, the library or public works, and no comparison between the two halves of the town budget can be drawn from this page in either direction.
  • Anything about a person. Every figure here is a count of classes at a school. Where a quote on this page names somebody it is a role in a public meeting record, quoted for the mechanism it describes.

What would close these

The district’s own Program of Studies for each year — the High School Principal handed the School Committee an edition of it on 6 March 2024 — and the LHS master schedule, presented to the School Committee on 4 December 2024. Both exist, both were discussed in public, and neither is published. Between them they would turn every section count on this page into a list of courses, which is the thing a parent actually wants. Every limit on this page is also a row in what we cannot answer, which is the single registry the records request reads from.

The same limits, as rows in the register

Each of these is a row in money-gaps.csv, which is what the records request to the Town reads and what what we cannot answer renders. A limit stated only in the prose of one page is invisible to everybody who did not read that page.

curriculum

Which courses a Lunenburg High student could actually choose from, in any year

DESE publishes sections by SUBJECT AREA and never by course, so an elective ending is invisible inside a subject total that rose — a student told the School Committee on 7 February 2024 that Music Tech would be "non-existent", and the high school's Arts sections went from 24 that year to 25 the next. Both statements are true and this archive cannot hold them together.

Closes: The district’s own Program of Studies for each year, which the High School Principal handed the School Committee on 6 March 2024, and the LHS master schedule presented to the School Committee on 4 December 2024. Neither is published.

curriculum

What is taught in the fifth of Lunenburg High sections DESE files as Miscellaneous

51 of the high school’s 247 sections in SY2025, averaging 4.9 students, in a subject area DESE gives no course names for — and the single largest mover in the section count since SY2017. The only public account of one is a student describing a new elective with four on the register and eight on the first day.

Closes: The LHS master schedule by year, or the district’s own Student Course Schedule submission to DESE, which holds the course records the published aggregate is built from.

curriculum

How many classes ran in each subject at the two elementary schools

The counts swing by a factor of two between adjacent years with no matching change in enrolment, and two school-years report an average class size no primary school can have — 87.1 at Lunenburg Primary in SY2011 and 36.5 in SY2022, against a maximum of 24.1 everywhere else. The subject coding of a self-contained classroom is not stable enough to trend, so the elementary half of the district cannot be read at all.

Closes: DESE’s Student Course Schedule submission detail for Lunenburg, which carries the course records behind the published aggregate.

The documents behind this

dese-class-size.xlsx

Massachusetts Department of Elementary and Secondary Education

Every Massachusetts district’s class counts and average class sizes by school and subject, SY2011–SY2025. The source of every section count and every class size on this page. Stage: reported for the school year, from the district’s own course records. Not a budget, and not a plan — a count of what ran.

table dese_class_size · 120.7 MB

sha256 899f14f9f457504c…

our copy · the publisher’s

dese-enrollment-by-grade.xlsx

Massachusetts Department of Elementary and Secondary Education

Enrolment by grade, by school, for every district. The source of the grade span of each Lunenburg school in each year — which is what makes a comparison across the two building reorganisations either legitimate or meaningless. Stage: reported as at 1 October of the school year.

table dese_enrollment · 13.4 MB

sha256 a2fb23dea70ce67d…

our copy · the publisher’s

dese-teacher-data.xlsx

Massachusetts Department of Elementary and Secondary Education

Teacher FTE by subject, by school. The second instrument on this page, and the one every earlier attempt at this question used on its own. Stage: reported for the school year. Per ASSIGNMENT, not per person.

table dese_teacher_subject · 26.0 MB

sha256 4fbe81d65aee0bff…

our copy · the publisher’s

dese-curriculum-lunenburg.xlsx

Massachusetts Department of Elementary and Secondary Education

Lunenburg’s own curriculum return to DESE — 119 rows, eight subjects by grade, with the published curriculum product named against each. Reporting is voluntary and 104 rows name none, so this bounds what a parent can LOOK UP and says nothing about what is taught. Stage: as the district reported it. Undated within the workbook.

table not loaded — read from the workbook · 6 KB

sha256 762639c29a2cd2f6…

our copy · the publisher’s

The payload this page draws is published whole at /data/course-offerings.json, and the rows behind it — dese_class_size, dese_teacher_subject and dese_enrollment — can be queried directly from the database. Every figure here is recomputed from the extracted CSV by a second route in scripts/verify_course_offerings.py.

What changed

Version 14 — updated September 7, 2026