Create presentations from photos I have attached
Language development and communication disorder
"Language Disorders"[MeSH Terms] AND child
ASHA spoken language disorders children developmental milestones communication disorder
I have uploaded it
Forget about photos
~/
mkdir -p "/tmp/workspace/language-communication-presentation/src" "/tmp/workspace/language-communication-presentation/output" && true
~/language-communication-presentation/src/create_deck.py
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.shapes import MSO_SHAPE
from pptx.dml.color import RGBColor
from pptx.enum.dml import MSO_THEME_COLOR
OUT = '/tmp/workspace/language-communication-presentation/output/Language_Development_and_Communication_Disorders.pptx'
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]
NAVY = RGBColor(21, 44, 70)
BLUE = RGBColor(39, 114, 173)
TEAL = RGBColor(37, 145, 142)
MINT = RGBColor(220, 244, 240)
SKY = RGBColor(227, 241, 251)
GOLD = RGBColor(245, 184, 65)
CORAL = RGBColor(226, 105, 84)
INK = RGBColor(32, 45, 58)
GRAY = RGBColor(95, 111, 125)
PALE = RGBColor(247, 250, 252)
WHITE = RGBColor(255,255,255)
def rect(slide,x,y,w,h,fill,line=None,r=MSO_SHAPE.ROUNDED_RECTANGLE):
s=slide.shapes.add_shape(r, Inches(x), Inches(y), Inches(w), Inches(h))
s.fill.solid(); s.fill.fore_color.rgb=fill
s.line.color.rgb=line or fill
return s
def text(slide, value, x,y,w,h, size=18, color=INK, bold=False, align=PP_ALIGN.LEFT, font='Aptos', valign=MSO_ANCHOR.TOP):
tb=slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf=tb.text_frame; tf.clear(); tf.word_wrap=True
tf.margin_left=tf.margin_right=tf.margin_top=tf.margin_bottom=0
tf.vertical_anchor=valign
p=tf.paragraphs[0]; p.alignment=align
r=p.add_run(); r.text=value; r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color
return tb
def bullet_list(slide, items,x,y,w,h,size=18, color=INK):
tb=slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf=tb.text_frame; tf.clear(); tf.word_wrap=True
tf.margin_left=Inches(.08); tf.margin_right=0; tf.margin_top=0; tf.margin_bottom=0
for i,item in enumerate(items):
p=tf.paragraphs[0] if i==0 else tf.add_paragraph()
p.text=item; p.level=0; p.font.name='Aptos'; p.font.size=Pt(size); p.font.color.rgb=color; p.space_after=Pt(10)
p._p.get_or_add_pPr().insert(0, __import__('pptx').oxml.xmlchemy.OxmlElement('a:buChar')) if False else None
return tb
def header(slide,title, subtitle=None, n=None):
rect(slide,0,0,13.333,.38,NAVY,r=MSO_SHAPE.RECTANGLE)
text(slide,title,.62,.62,10.9,.52,28,NAVY,True)
if subtitle: text(slide,subtitle,.64,1.17,11.6,.3,11,GRAY)
if n is not None:
text(slide,str(n),12.15,.68,.5,.3,13,BLUE,True,PP_ALIGN.RIGHT)
def footer(slide):
text(slide,'Language Development and Communication Disorders',.62,7.12,7,.18,9,GRAY)
text(slide,'Student presentation',10.5,7.12,2.2,.18,9,GRAY,False,PP_ALIGN.RIGHT)
def add_notes(slide, notes):
notes_slide = slide.notes_slide
notes_tf = notes_slide.notes_text_frame
notes_tf.text = notes
def add_slide(title,subtitle=None):
s=prs.slides.add_slide(blank); header(s,title,subtitle,len(prs.slides)); footer(s); return s
# 1
s=prs.slides.add_slide(blank)
rect(s,0,0,13.333,7.5,NAVY,r=MSO_SHAPE.RECTANGLE)
rect(s,.7,.85,.18,5.8,GOLD,r=MSO_SHAPE.RECTANGLE)
text(s,'Language Development\nand Communication\nDisorders',1.2,1.15,8.5,2.45,36,WHITE,True)
text(s,'A concise introduction to typical development, warning signs, assessment, and support',1.25,3.85,7.7,.55,18,RGBColor(211,229,243))
# abstract communication visual
for x,y,c,label in [(10.0,1.5,TEAL,'Listen'),(10.75,2.55,BLUE,'Speak'),(9.5,3.6,GOLD,'Connect')]:
rect(s,x,y,1.55,.8,c,r=MSO_SHAPE.OVAL)
text(s,label,x,y+.24,1.55,.22,13,NAVY if c==GOLD else WHITE,True,PP_ALIGN.CENTER)
text(s,'Student presentation',1.25,6.25,3,.25,13,RGBColor(211,229,243))
add_notes(s,'Introduce the distinction between communication, language and speech. Emphasize that development is variable, but persistent functional difficulty should be assessed.')
# 2
s=add_slide('Learning objectives','By the end, learners should be able to describe development, recognize concern, and outline support.')
items=[('1','Differentiate speech, language, and communication.'),('2','Summarize broad developmental expectations.'),('3','Identify the major communication-disorder categories.'),('4','Describe assessment and early support principles.')]
for i,(num,lab) in enumerate(items):
y=1.75+i*1.12
rect(s,.85,y,.7,.7,[TEAL,BLUE,GOLD,CORAL][i],r=MSO_SHAPE.OVAL)
text(s,num,.85,y+.19,.7,.25,17,WHITE if i!=2 else NAVY,True,PP_ALIGN.CENTER)
rect(s,1.8,y,9.9,.7,PALE)
text(s,lab,2.05,y+.19,9.2,.25,18,INK,False)
add_notes(s,'Review objectives briefly. The deck uses broad milestone ranges rather than treating development as an exact timetable.')
# 3
s=add_slide('Key concepts','Speech is one part of communication. A child may have difficulty in one or several domains.')
cols=[('Speech','Production of sounds and fluency of spoken words.',BLUE),('Language','A rule-based system for understanding and expressing meaning.',TEAL),('Communication','Sharing ideas, needs and feelings using verbal and nonverbal means.',GOLD),('Pragmatics','Using communication appropriately in social context.',CORAL)]
for i,(t,d,c) in enumerate(cols):
x=.65+i*3.12
rect(s,x,1.8,2.72,3.7,PALE)
rect(s,x,1.8,2.72,.72,c)
text(s,t,x+.18,2.02,2.35,.25,18,NAVY if c==GOLD else WHITE,True,PP_ALIGN.CENTER)
text(s,d,x+.25,2.85,2.2,1.5,16,INK,False,PP_ALIGN.CENTER, valign=MSO_ANCHOR.MIDDLE)
text(s,'Language may be spoken, signed, written, or supported by augmentative and alternative communication (AAC).',.9,6.08,11.5,.4,16,GRAY,False,PP_ALIGN.CENTER)
add_notes(s,'Use examples: speech sound error, limited vocabulary, difficulty taking turns in conversation. Communication includes gesture and AAC, not only talking.')
# 4
s=add_slide('How language develops','Development is shaped by child factors, interaction, learning opportunities, culture, and hearing.')
steps=[('Birth to 12 months','Turns to sound, babbles, gestures, responds to familiar voices.'),('1 to 2 years','Uses early words, understands familiar words and simple directions.'),('2 to 3 years','Vocabulary expands; joins words into short phrases; follows simple routines.'),('3 to 5 years','Uses longer sentences, tells simple stories, and participates in conversation.')]
for i,(age,desc) in enumerate(steps):
x=.7+i*3.13
rect(s,x,1.85,2.55,3.75,SKY if i%2==0 else MINT)
rect(s,x+.83,1.36,.88,.88,[BLUE,TEAL,GOLD,CORAL][i],r=MSO_SHAPE.OVAL)
text(s,str(i+1),x+.83,1.63,.88,.25,17,NAVY if i==2 else WHITE,True,PP_ALIGN.CENTER)
text(s,age,x+.2,2.28,2.15,.38,17,NAVY,True,PP_ALIGN.CENTER)
text(s,desc,x+.24,3.05,2.08,1.5,14,INK,False,PP_ALIGN.CENTER)
text(s,'Milestones are guides, not diagnostic tests. Consider the child’s overall communication across settings and languages.',.75,6.18,11.9,.32,14,GRAY,False,PP_ALIGN.CENTER)
add_notes(s,'These are broad examples based on ASHA developmental milestones. Do not use one missed skill alone to label a disorder. Parents and clinicians should look at patterns and functional impact.')
# 5
s=add_slide('When should we be concerned?','A delay is more concerning when it is persistent, affects participation, or involves loss of skills.')
left=['Limited response to sound or name','Few gestures, words, or attempts to communicate','Difficulty understanding everyday directions','Hard for familiar people to understand speech','Loss of words or other communication skills']
rect(s,.72,1.65,5.85,4.95,RGBColor(255,242,238))
text(s,'Possible warning signs',1.05,1.95,4.8,.35,20,CORAL,True)
bullet_list(s,left,1.03,2.55,4.95,3.55,16,INK)
rect(s,7.0,1.65,5.6,4.95,SKY)
text(s,'What to do',7.35,1.95,4.8,.35,20,BLUE,True)
bullet_list(s,['Discuss concerns with a primary care clinician.','Check hearing when indicated.','Request speech-language assessment.','Support communication while evaluation is underway.'],7.32,2.55,4.65,3.2,16,INK)
add_notes(s,'Mention urgent referral if there is developmental regression, concern about hearing, or broad developmental concerns. The warning signs are prompts for assessment, not diagnoses.')
# 6
s=add_slide('Communication disorders: main groups','DSM-5-TR recognizes several communication-disorder categories.')
rows=[('Language disorder','Persistent difficulty acquiring and using language, affecting comprehension and/or expression.',TEAL),('Speech sound disorder','Difficulty producing speech sounds accurately enough for intelligible speech.',BLUE),('Childhood-onset fluency disorder','Disruption in normal fluency and timing of speech, commonly called stuttering.',GOLD),('Social (pragmatic) communication disorder','Persistent difficulty using verbal and nonverbal communication socially.',CORAL)]
for i,(a,b,c) in enumerate(rows):
y=1.58+i*1.19
rect(s,.75,y,3.65,.84,c)
text(s,a,.98,y+.17,3.18,.48,16,NAVY if c==GOLD else WHITE,True,PP_ALIGN.CENTER,valign=MSO_ANCHOR.MIDDLE)
rect(s,4.58,y,7.95,.84,PALE)
text(s,b,4.9,y+.18,7.25,.42,15,INK)
add_notes(s,'Explain that categories can overlap and can coexist with hearing loss, autism, intellectual disability, ADHD or specific learning disorder. Assessment identifies the child’s specific profile and needs.')
# 7
s=add_slide('Assessment: build a communication profile','Assessment is individualized, culturally responsive, and based on function, not a single test score.')
process=[('1','History','Development, family concerns, languages used, health and education.'),('2','Hearing','Consider auditory assessment where hearing difficulty is possible.'),('3','Observe','Play, conversation, nonverbal communication, participation.'),('4','Evaluate','Comprehension, expression, speech sounds, fluency, pragmatics, literacy.'),('5','Plan','Shared goals, referrals, and supports in home and school.')]
for i,(n,t,d) in enumerate(process):
x=.45+i*2.56
rect(s,x,1.75,2.2,3.95,PALE)
rect(s,x+.66,1.35,.88,.88,[BLUE,TEAL,GOLD,CORAL,NAVY][i],r=MSO_SHAPE.OVAL)
text(s,n,x+.66,1.63,.88,.23,17,WHITE,True,PP_ALIGN.CENTER)
text(s,t,x+.15,2.38,1.9,.32,17,NAVY,True,PP_ALIGN.CENTER)
text(s,d,x+.18,3.02,1.84,1.6,13,INK,False,PP_ALIGN.CENTER)
add_notes(s,'Stress that multilingual exposure does not cause a disorder. A valid evaluation considers all languages and communication contexts, with interpreters and language samples as appropriate.')
# 8
s=add_slide('Support and intervention','Early, meaningful support aims to improve participation, learning, relationships, and self-advocacy.')
items=[('Everyday interaction','Follow the child’s lead, respond to attempts, read together, pause and expand what they say.',TEAL),('Speech-language therapy','Individualized goals can target language, speech sound production, fluency, pragmatic skills, or AAC.',BLUE),('Family and school partnership','Use shared strategies and accessible communication supports across daily routines.',GOLD),('AAC when needed','Pictures, signs, communication boards, or devices can support participation and language.',CORAL)]
for i,(t,d,c) in enumerate(items):
x=.75+(i%2)*6.15; y=1.55+(i//2)*2.38
rect(s,x,y,5.7,1.8,PALE)
rect(s,x,y,.23,1.8,c,r=MSO_SHAPE.RECTANGLE)
text(s,t,x+.45,y+.3,4.85,.3,18,NAVY,True)
text(s,d,x+.45,y+.78,4.85,.7,15,INK)
text(s,'The goal is effective communication, not forcing one “correct” way to communicate.',.8,6.55,11.7,.3,15,GRAY,False,PP_ALIGN.CENTER)
add_notes(s,'Support should be strengths-based. AAC does not prevent speech development; it can give a child a reliable way to communicate while language skills develop.')
# 9
s=add_slide('Case discussion','Apply the framework: observe, listen to family concerns, assess barriers, and plan support.')
rect(s,.75,1.55,4.05,4.9,SKY)
text(s,'Example',1.1,1.92,3.25,.3,20,BLUE,True)
text(s,'A 3-year-old uses short phrases, struggles to follow two-step directions, and becomes frustrated when not understood at preschool.',1.1,2.6,3.25,2.1,18,INK)
rect(s,5.25,1.55,7.3,4.9,PALE)
text(s,'Discussion prompts',5.65,1.92,5.8,.3,20,NAVY,True)
bullet_list(s,['Which domains need description: comprehension, expression, speech intelligibility, pragmatic skills?','What else should be explored: hearing, developmental history, language exposure, participation?','What immediate supports could reduce frustration at home and preschool?'],5.62,2.6,5.9,3.1,17,INK)
add_notes(s,'There is no diagnosis from this short description. Learners should identify the next assessment steps and support strategies rather than jump to a label.')
# 10
s=add_slide('Take-home messages','Communication difficulties are common, important, and often responsive to timely support.')
messages=['Language, speech, and social communication are related but distinct.','Use developmental patterns and everyday impact to identify concern.','Consider hearing and the child’s cultural and linguistic context.','Assessment should guide individualized, functional support.','Families, educators, and speech-language professionals work best as a team.']
for i,m in enumerate(messages):
y=1.5+i*.92
rect(s,.88,y,.48,.48,[TEAL,BLUE,GOLD,CORAL,NAVY][i],r=MSO_SHAPE.OVAL)
text(s,'✓',.88,y+.09,.48,.22,15,WHITE if i!=2 else NAVY,True,PP_ALIGN.CENTER)
text(s,m,1.68,y+.1,10.8,.3,18,INK,False)
add_notes(s,'Invite questions. Reiterate that prompt assessment helps children access communication, learning and social opportunities.')
# 11 references
s=add_slide('References and further learning','Sources used for the content and milestone framework.')
refs=[
'American Speech-Language-Hearing Association (ASHA). Developmental Milestones: Birth to 5 Years. https://www.asha.org/public/developmental-milestones/',
'American Speech-Language-Hearing Association (ASHA). Spoken Language Disorders. https://www.asha.org/practice-portal/clinical-topics/spoken-language-disorders/',
'Kant T, Koyama E, Ashraf M, Kennedy JL. Language Disorder. In: Kaplan & Sadock’s Comprehensive Textbook of Psychiatry. 2024, pp. 11120-11122.',
'Scott-Brown’s Otorhinolaryngology Head & Neck Surgery, Vol. 2. Speech and Language. pp. 166-167.',
'Hill E, Calder S, Candy C, et al. Low language capacity in childhood: A systematic review of prevalence estimates. Int J Lang Commun Disord. 2024;59:18-34. PMID: 37563793.'
]
text(s,'Core sources',.85,1.5,2,.3,20,NAVY,True)
for i,r in enumerate(refs):
rect(s,.85,2.0+i*.78,11.55,.58,PALE)
text(s,r,1.05,2.12+i*.78,11.1,.33,12,INK)
text(s,'Educational material only. It does not replace an individual clinical assessment.',.87,6.45,11.5,.25,12,GRAY,False,PP_ALIGN.CENTER)
add_notes(s,'References are supplied for further reading. URLs are included as text for use in the presentation handout.')
prs.save(OUT)
print(OUT)
python "/tmp/workspace/language-communication-presentation/src/create_deck.py" && ls -lh "/tmp/workspace/language-communication-presentation/output/Language_Development_and_Communication_Disorders.pptx"
python -c "from pptx import Presentation; p=Presentation('/tmp/workspace/language-communication-presentation/output/Language_Development_and_Communication_Disorders.pptx'); print('slides:',len(p.slides)); print([(i+1, sum(1 for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip())) for i,s in enumerate(p.slides)])"
Language Development and Communication Disorders
Presentation · PPTX