Dashboard
Class Programming

Welcome to Class Programming!

This tool automatically generates conflict-free weekly schedules for your school — from Kindergarten to Grade 12. No AI needed. Just enter your data and click Generate.

How It Works — The Big Picture
1

Enter Your Data

Set school hours, breaks, teachers, grade levels, sections, and subjects.

2

Click Generate

The system automatically assigns teachers to time slots — no manual dragging.

3

Review & Export

View schedules by section, teacher, or full school. Export to PDF, Excel, or Word.

Step 1

Set Up Your School Schedule Structure

This tells the system when your school day runs.

Start & End Time

Set the first period start (e.g., 7:30 AM) and last period end (e.g., 4:30 PM).

Time Interval

Choose how long each period lasts: 30 min, 45 min, 60 min, or 90 min. This becomes one "slot" in your schedule grid.

School Days

Click the day chips to select which days your school operates (e.g., Mon–Fri). Click a chip again to deselect it.

Break Times

Add recess, lunch, or any break. The system will mark those slots as breaks and never schedule classes during them. You can add multiple breaks.

Tip: If your school uses 60-minute periods, set the interval to 60. A subject needing 4 hours/week will then occupy 4 slots across the week.
Step 2

Add Your Teachers

Click "+ Add Teacher" to create a teacher entry. Fill in:

Teacher Name

Full name or shorthand (e.g., Mrs. Santos).

Subject Specialization(s)

Comma-separated list of subjects this teacher can teach. Example: Math, Science. These must exactly match the subject names you add to sections later.

Max Hours/Week

The maximum number of teaching hours. The system will never assign more than this limit (default: 30).

Available Days & Time Range

Select which days the teacher is available, and their earliest-to-latest time. Part-time teachers? Just select fewer days or a shorter time range.

Important: Subject names in the teacher's specialization must match the subject names you type in the sections below. For example, if a teacher teaches Math, the section's subject must also be Math — not Mathematics.
Example
FieldValue
Teacher NameMrs. Santos
SpecializationsMath, Science
Max Hours/Week25
Available DaysMon, Tue, Wed, Thu, Fri
Available Time7:30 AM – 4:30 PM
Step 3

Add Grade Levels & Sections

Click "+ Add Grade Level" and set up:

Grade Level

Select from Kinder through Grade 12 using the dropdown.

Section Names

Type section names separated by commas. Example: Rose, Lily, Daisy. Each section gets its own independent schedule.

Required Subjects

For each grade, add the subjects that section needs. Type the subject name, set the hours per week, and click "+ Add". A colored tag appears for each subject.

Tip: "Hours per week" means total class hours across all school days. A subject with 4h/wk and a 60-min interval = 4 slots spread across the week.
Example for Grade 7
GradeSectionsSubjects
Grade 7 Rose, Lily Math (5h) • English (4h) • Science (4h)
Filipino (3h) • Araling Panlipunan (3h) • MAPEH (2h) • TLE (2h)
Step 4

Generate the Schedule

Once all data is entered, click the big "Generate Schedule" button at the bottom of the Data Input tab.

What happens behind the scenes:

  1. Core subjects first — Math, English, Science, etc. get scheduled before electives.
  2. Longer subjects first — Subjects with more weekly hours are placed first (they're harder to fit).
  3. Even distribution — The system spreads subjects across different days to avoid back-to-back overload.
  4. Teacher matching — Only teachers who specialize in that subject and are available at that time are assigned.
  5. Load balancing — If multiple teachers can teach a subject, the one with the fewest assigned hours gets picked.
  6. Conflict prevention — No teacher is ever double-booked. No section has two subjects at the same time.
If generation fails: The system switches to the Conflicts tab and lists exactly what went wrong — missing teachers, overloaded schedules, or unmet subject hours. Fix the issues and try again.
Step 5

Review Your Schedule

After generation, you have three ways to view the schedule:

Section View

See the weekly schedule for one section at a time. Use the dropdown to switch between sections (e.g., "Grade 7 - Rose"). Each time slot shows the subject and assigned teacher.

Teacher View

See one teacher's weekly load — what they teach, when, and for which section. Below the grid, a summary shows every teacher's total assigned hours vs. their maximum.

Master View

See every section's schedule at once — a full school overview. Stats at the top show total sections, teachers, filled slots, and conflicts.

Step 6

Lock, Regenerate & Fine-Tune

Lock a Slot

In Section View, click the icon on any filled slot to lock it. Locked slots show a 🔒 and won't change when you regenerate.

Regenerate

Click "Regenerate" in Master View (or re-click Generate in Data Input). The system reshuffles all unlocked slots while respecting your locked selections.

Use case: The principal wants Math always at 7:30 AM for Grade 7 - Rose? Go to Section View, find that slot, and lock it. Then regenerate — everything else reshuffles but that Math slot stays fixed.
Step 7

Export & Share

Every view has export buttons:

PDF

Professional printable layout. Great for posting on bulletin boards or sending to parents.

Excel

Editable spreadsheet. Each section or teacher gets its own sheet. Perfect for further editing.

Word

Available in Master View. Opens in Microsoft Word for formatting, letterheads, or official submission.

Print

Print directly from your browser. The page automatically hides buttons and menus for a clean printout.

Step 8

Save & Load Schedules

Save

Click "Save" in the top-right corner. Enter a name (e.g., "SY 2026-2027 1st Sem"). Your data is saved to your browser's local storage — it stays even after you close the tab.

Load

Click "Load" to see all your saved schedules. Click "Load" next to any entry to restore it. You can also delete old ones.

Note: Saved data is stored in your browser only. If you clear browser data or use a different device, saved schedules won't be available. For permanent storage, export to Excel or Word.
Frequently Asked Questions
Why does it say "No available teacher" for a subject?

The subject name in the section doesn't match any teacher's specialization. Check spelling — Math and Mathematics are treated as different subjects. Make sure at least one teacher has that exact subject listed.

Can one teacher teach multiple subjects?

Yes! In the teacher's "Subject Specialization" field, type them comma-separated: Math, Science, TLE. The system will assign that teacher to any of those subjects wherever they fit.

Can one subject be taught by multiple teachers?

Yes. If both Teacher A and Teacher B list English as a specialization, the system will assign whichever one is available and has fewer hours already assigned (load balancing).

What if a teacher is only available on certain days?

In their teacher entry, click the day chips to select only their available days. If Mrs. Cruz only works Mon-Wed, deselect Thu, Fri, and Sat.

What does "Time Interval" actually control?

It defines the length of one scheduling slot. If set to 60 min, the grid shows 1-hour blocks. A subject needing 4h/week = 4 slots. If set to 30 min, the same subject would need 8 slots (4h × 2 slots per hour).

Does this need internet or AI?

No AI and no internet required for scheduling. The engine runs entirely in your browser using rule-based logic. You only need internet to load the page initially and for exporting PDF.

Can I schedule multiple grade levels at once?

Yes! Add as many grade levels as needed. Each grade level can have multiple sections. The system schedules all of them simultaneously and checks for conflicts across the entire school.

School Schedule Structure
Mon
Tue
Wed
Thu
Fri
Sat
Teachers
Grade Levels & Sections

All Teachers — Load Summary

No Schedule Generated Yet

Go to the Data Input tab, enter your data, and click Generate Schedule.

Saved Schedules

No saved schedules found.