Class Braille

All Implemented Interfaces:
DateChangeListener, StudentChangeListener, ImageObserver, MenuContainer, Serializable, Accessible

public class Braille extends JPanel implements DateChangeListener, StudentChangeListener
Braille skills progression assessment page.

Provides a comprehensive user interface for tracking student proficiency across 64 standardized Braille skills organized into 8 progressive phases following the Mangold Developmental Program sequence:

  • Phase 1 (P1_1–P1_4): Foundational tracking and discrimination skills
  • Phase 2 (P2_1–P2_15): Mangold letter progression (G C L → V J)
  • Phase 3 (P3_1–P3_15): Contractions, wordsigns, and Grade 2 Braille basics
  • Phase 4 (P4_1–P4_4): Indicators (Grade 1, capitals, numeric mode, typeform)
  • Phase 5 (P5_1–P5_4): Document formatting (page numbers, headings, lists, poetry)
  • Phase 6 (P6_1–P6_7): Basic Nemeth Math Code (operations, shapes, fractions)
  • Phase 7 (P7_1–P7_8): Advanced Math (algebra, indices, radicals, functions, Greek)
  • Phase 8 (P8_1–P8_7): Higher mathematics (modifiers, calculus, probability)

Data Flow and Persistence:

  • Each skill is represented by a PhaseScoreField accepting integer scores (0–4 typical range)
  • On submission, values are persisted to the normalized schema via Database.insertAssessmentResults(int, int, java.lang.String[], int[])
  • A timestamped JSON export is written to StudentDataFiles/<student>/Sessions/Braille/
  • Time-series plots are generated per phase group and saved as PNG images to plots/
  • Markdown and HTML reports are generated combining all phase plots with legend and metadata

Generated Artifacts:

  • JSON session file: Braille-<sessionId>-<timestamp>.json
  • Phase plots: Braille-<sessionId>-<date>-P<N>.png (8 phase groups)
  • Markdown report: reports/Braille-<sessionId>-<date>.md
  • HTML report: reports/Braille-<sessionId>-<date>.html with embedded plots and color-coded legends

The shared JLineGraph component visualizes recent session trends for the selected student, grouped by phase to prevent overcrowding. This page implements DateChangeListener and StudentChangeListener to refresh data when the global student or date selection changes.

See Also:
  • Constructor Details

    • Braille

      public Braille(String studentName, LocalDate date, JLineGraph lineGraph)
      Construct the Braille skills page for a given student and date.
      Parameters:
      studentName - the selected student name (may be null before selection)
      date - the session date to use when creating a progress session
      lineGraph - shared graph component used to display recent results
  • Method Details