1<!DOCTYPE html> 2<html lang="en"> 3<head prefix="og: http://ogp.me/ns#"> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <title>Building Up an Excellent Spanish Language Program </title> 7 8<meta name="twitter:card" content="summary_large_image" /> 9<meta name="og:type" content="article" /> 10 11 <meta property="og:title" content="Building Up an Excellent Spanish Language Program " /> 12 <meta name="twitter:title" content="Building Up an Excellent Spanish Language Program " /> 13 <meta property="og:url" content="https://www.cps.edu/sites/blog/search/2026/september/decatur/" /> 14 <meta name="twitter:site" content="https://www.cps.edu/sites/blog/search/2026/september/decatur/" /> 15 <meta property="og:description" content="Maestra Viquez is known for masterfully balancing rigorous language instruction with a vibrant, welcoming atmosphere. " /> 16 <meta name="twitter:description" content="Maestra Viquez is known for masterfully balancing rigorous language instruction with a vibrant, welcoming atmosphere. " /> 17 <meta property="og:image" content="https://www.cps.edu/contentassets/f49e6dfe155e4e43b0f059e7938966ef/unnamed-1.jpg" /> 18 <meta name="twitter:image" content="https://www.cps.edu/contentassets/f49e6dfe155e4e43b0f059e7938966ef/unnamed-1.jpg" /> 19 20 <meta name="google-translate-customization" content="14d1da851cead547-41bed79d7b73f457-g819c46c6c68bd36e-7" /> 21 <link href="/Static/dist/css/main-styles.css?modified=20260916125528" rel="stylesheet"></link> 22 23 24 25 26 <link rel="canonical" href="https://www.cps.edu/sites/blog/search/2026/september/decatur/" /> 27 <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.12.0/css/all.css" /> 28 <link rel="apple-touch-icon" sizes="180x180" href="/globalassets/apple-touch-icon.png"> 29 <link rel="apple-touch-icon" sizes="152x152" href="/globalassets/apple-touch-icon-precomposed.png"> 30 <link rel="apple-touch-icon" sizes="120x120" href="/globalassets/apple-touch-icon-120x120.png"> 31 <link rel="apple-touch-icon" sizes="120x120" href="/globalassets/apple-touch-icon-120x120-precomposed.png"> 32 33 34<link rel='stylesheet' type='text/css' data-f-resource='EPiServerForms.css' href='/WebResource.axd?d=s-f6ie6T4Qaxga0Un_qm89e-u1spJEkbrDid7z7YqWCrR9aPtmYtFISAuhEIv3FIusWJ9EJGsIMN7ZY6YkBvZdARc_gnrECXdBzijFYs0FpZmXA0RWSqub8X8k3mjvEVUFLPAW1Cntwe5HEybGnpu8RWlnnYoTfbHJJFu0dytTQ1&t=637066508160000000' /> 35
36<script type="text/javascript"> 37var epi = epi||{}; epi.EPiServer = epi.EPiServer||{}; epi.EPiServer.Forms = epi.EPiServer.Forms||{}; 38 epi.EPiServer.Forms.InjectFormOwnJQuery = true;epi.EPiServer.Forms.OriginalJQuery = typeof jQuery !== 'undefined' ? jQuery : undefined; 39</script>
vendor: 2 bytes, line 39
39
40<script type="text/javascript" src="/WebResource.axd?d=rQapnFTl_pgMjn3yGS-nPov0lVgDDgxobiDVzXrDJZBEXL0hdthHrpTg2Ll46hnGYGbebGve7-VWPvP0nVF76HhoPylHrAHCU8FdeX_jZ18eaVyHExd4jumMyIVhzB_joR_LXWRmn6dixzfkIuTKkRt0at5tuKFuzbOYsg-wapg1&t=637066508160000000"></script>
vendor: 2 bytes, line 40
40
41<script type="text/javascript"> 42_iaq = [ ['client', '1155495eeee8481b899bb69773c5a25c'], ['track', 'consume'] ]; !function(d,s){var ia=d.createElement(s);ia.async=1,s=d.getElementsByTagName(s)[0],ia.src='//s.usea01.idio.episerver.net/ia.js',s.parentNode.insertBefore(ia,s)}(document,'script'); 43</script>
vendor: 2 bytes, line 43
43
44<script type="text/javascript"> 45/* 46This EPiServerForms_prerequisite.js TEMPLATE will be compiled with serverside values and injected into ViewMode page 47We reuse the existed global var epi from EPiServer CMS, if any. It will init/grab the epi object, and init epi.EPiServer.Forms object 48*/ 49 50// (by default) Forms's jQuery will be injected right before this file. From now on, we refer Forms own jQuery as $$epiforms. 51// after this code, the object $ and jQuery will revert back to its original meaning in original library (Alloy jQuery or other lib). 52 53// Our clients' sites may include their own Jquery version (e.g. a higher version for some special functionalities), which leads to unexpected conflicts with ours. 54// To avoid this, we use jQuery.noConflict() to set up $$epiforms as an allias for our jquery and then, revert Jquery allias to clients' by using 55// epi.EPiServer.Forms.OriginalJQuery whose value is set up as Jquery at the beginning in FormBlockController. 56// This also allows us to extend our own Jquery's functionalities without causing further conflicts. 57 58var $$epiforms = epi.EPiServer.Forms.InjectFormOwnJQuery ? jQuery.noConflict() : jQuery; 59if (epi.EPiServer.Forms.OriginalJQuery) { 60 jQuery = epi.EPiServer.Forms.OriginalJQuery; 61 delete epi.EPiServer.Forms.OriginalJQuery; 62} 63(function () { 64 var externalScript = [], 65 externalCss = []; 66 67 if (epi.EPiServer.Forms.ExternalScriptSources) { 68 externalScript = epi.EPiServer.Forms.ExternalScriptSources.concat(externalScript); 69 // Remove duplicate items 70 externalScript = externalScript.filter(function (value, index, self) { 71 return self.indexOf(value) === index; 72 }); 73 } 74 if (epi.EPiServer.Forms.ExternalCssSources) { 75 externalCss = epi.EPiServer.Forms.ExternalCssSources.concat(externalCss); 76 // Remove duplicate items 77 externalCss = externalCss.filter(function (value, index, self) { 78 return self.indexOf(value) === index; 79 }); 80 } 81 82 $$epiforms.extend(true, epi.EPiServer, { 83 CurrentPageLink: "341809", 84 CurrentPageLanguage: "en", 85 CurrentFormLanguage: "en", 86 Forms: { 87 Utils: {}, Data: {}, Extension: {}, Validation: {}, Navigation: {}, Dependency: {}, 88 $: $$epiforms, // save our own link to our own jQuery 89 ThrottleTimeout: 500, // miliseconds 90 ExternalScriptSources: externalScript, 91 ExternalCssSources: externalCss, 92 UploadExtensionBlackList: "asp,aspx,asa,ashx,asmx,bat,chm,class,cmd,com,config,dll,exe,hta,htr,htw,jse,json,lnk,mda,mdb,msc,msh,pif,printer,ps1,ps2,reg,rem,scf,scr,sct,shtm,shtml,soap,stm,svc,url,vb,vbe,vbs,vsix,ws,wsc,wsf,wsh,xamlx,htm,html,js,jar", 93 Messages: {"viewMode":{"malformStepConfiguration":"Improperly formed FormStep configuration. Some steps are attached to pages, while some steps are not attached, or attached to content with no public URL.","commonValidationFail":"This element value is not valid."},"fileUpload":{"overFileSize":"The upload file size should be less than {0} MB.","invalidFileType":"The upload file format is not allowed or not supported.","postedFile":"(Previous posted file(s): {0})"}}, 94 LocalizedResources: {"conditioncombination":{"all":"All","any":"Any"},"satisfiedaction":{"hide":"Hidden","show":"Shown"},"contenttypescomponent":{"title":"Form Elements","description":"Show all content types of Episerver Forms"},"formscomponent":{"title":"Forms","description":"Manage forms for the website","command":{"create":{"label":"New form"},"viewdata":{"label":"Form submissions"}},"messages":{"nocontent":"This folder does not contain any forms."}},"formdataview":{"name":"Form submissions","description":"View form submissions","heading":"Form submissions","begindate":"From date","enddate":"To date","search":"Search","nodata":"There is no data","export":"Export as ...","exportasxml":"XML","exportasxmldesc":"Export form data in XML format","exportascsv":"CSV","exportascsvdesc":"Export form data in CSV format","exportasjson":"JSON","exportasjsondesc":"Export form data in JSON format","finalizedonly":"Finalized Only","deleteselecteditems":"Delete","exportasxlsx":"XLSX","exportasxlsxdesc":"Export form data in XLSX format","selectalltooltip":"Select All","deselectalltooltip":"Deselect All","deleteconfirmation":"Do you want to delete the selected items? This action cannot be undone.","nopostid":"No post Id for deleting.","couldnotgetassociateform":"Could not get associate Form.","deletesuccessful":"Successfully deleted post data.","accessdenied":"You do not have permission to view this data.","submittime":"Time","submituser":"By user","hostedpage":"Submitted from","finalizedsubmission":"Finalized","selectioninfo":"All <b>${0}</b> record(s) are selected. ","extraselectionlink":"Select all <b>${0}</b> records","clearselectionlink":"Clear selection","filterdata":"Filter","searchallcolumns":"All columns","exportasdecryptedcsv":"Decrypted CSV","exportasdecryptedcsvdesc":"Decrypt and export form data in CSV format"},"formscontentarea":{"emptyactions":{"actions":{"createnewformselement":"create a new element"},"template":"You can drop form elements here or {createnewformselement}.","templatewithoutcreate":"You can drop content here."}},"fieldselector":{"title":"Select dependent field"},"submissionactors":{"episerver.forms.implementation.actors.callwebhookaftersubmissionactor":{"displayname":"Trigger webhook after form submission"},"episerver.forms.implementation.actors.sendemailaftersubmissionactor":{"displayname":"Send email after form submission"}},"validators":{"episerver.forms.implementation.validation.requiredvalidator":{"displayname":"Required","message":"This field is required."},"episerver.forms.implementation.validation.regularexpressionvalidator":{"displayname":"Regular expression","message":"This field should be in \"{0}\" format."},"episerver.forms.implementation.validation.captchavalidator":{"displayname":"Captcha","message":"Enter the characters you see in the picture."},"episerver.forms.implementation.validation.allowedextensionsvalidator":{"displayname":"Allowed extensions","message":"The upload file format is not allowed or not supported.","allowedextensionsmessage":"The upload file format is not allowed or not supported. File format should be: {0}."},"episerver.forms.implementation.validation.maxfilesizevalidator":{"displayname":"Max file size","message":"The upload file size should be less than {0} MB."},"episerver.forms.implementation.validation.emailvalidator":{"displayname":"Email","message":"Enter a valid email address."},"episerver.forms.implementation.validation.urlvalidator":{"displayname":"Url","message":"Enter a valid URL."},"episerver.forms.implementation.validation.dateddmmyyyyvalidator":{"displayname":"Date (DD/MM/YYYY)","message":"Enter a date in the DD/MM/YYYY format."},"episerver.forms.implementation.validation.datemmddyyyyvalidator":{"displayname":"Date (MM/DD/YYYY)","message":"Enter a date in the MM/DD/YYYY format."},"episerver.forms.implementation.validation.dateyyyymmddvalidator":{"displayname":"Date (YYYY-MM-DD)","message":"Enter a date in the YYYY-MM-DD format."},"episerver.forms.implementation.validation.numericvalidator":{"displayname":"Numeric","message":"Enter a valid number."},"episerver.forms.implementation.validation.integervalidator":{"displayname":"Integer","message":"Enter a valid integer."},"episerver.forms.implementation.validation.positiveintegervalidator":{"displayname":"Positive integer","message":"Enter a valid positive integer."},"elementselfvalidator":{"unexpectedvalueisnotaccepted":"Unexpected value is not accepted."},"custommessage":{"resetbuttonlabel":"Reset to default","errormessagelabel":"Error message "},"fileuploadelementselfvalidator":{"multiplefilenotallowed":"Not allowed to upload multiple files."}},"visitordatasources":{"episerver.forms.implementation.visitordata.ipaddressvisitordatasource":{"displayname":"IP Address"},"episerver.forms.implementation.visitordata.geovisitordatasource":{"displayname":"Geo","properties":{"city":"City","country_code":"Country code","country_name":"Country name","ip":"IP","latitude":"Latitude","longitude":"Longitude","region_code":"Region code","region_name":"Region name","time_zone"
94:"Time zone","zip_code":"Zip code"}},"episerver.forms.implementation.visitordata.profilevisitordatasource":{"displayname":"Profile","properties":{"address":"Address","zipcode":"Zip code","locality":"Locality","email":"Email","firstname":"First name","lastname":"Last name","language":"Language","country":"Country","company":"Company","title":"Title"}},"episerver.forms.implementation.visitordata.useragentvisitordatasource":{"displayname":"User agent","properties":{"ismobiledevice":"Is mobile","useragent":"User agent"}},"episerver.forms.implementation.visitordata.visitorgroupvisitordatasource":{"displayname":"Visitor groups","properties":{"id":"Id","name":"Name"}},"youmustselectvalueforhiddenvisitor":"You must select a value for the type of visitor data you choose."},"messages":{"fileupload":{"overfilesize":"The upload file size should be less than {0} MB.","invalidfiletype":"The upload file format is not allowed or not supported.","postedfile":"(Previous posted file(s): {0})"},"formsubmission":{"outdatedforminit":"Your current session for viewing the form is expired. Refresh your page to continue.","requirelogin":"You must be logged in to submit this form. If you are logged in and still cannot post, make sure \"Do not track\" in your browser settings is disabled.","denymultisubmit":"You already submitted this form.","validationfailformat":"Validation failed on \"{0}\" field: {1}","thereisnoformguid":"Submit data FAILED: there is no Form's Guid.","couldnotgetform":"Submit data FAILED: could not get Form with Id = {0}.","submitcancelled":"TECHNICAL INFO: Submitting process is cancelled. Reason: ","formisrestricted":"Could not submit form. You do not have sufficient privileges.","formexpired":"Could not submit form. Form has been expired.","formdeleted":"Could not submit form. Form has been deleted.","submitnotsuccess":"Failed to submit.","sessionoff":"You cannot submit this form because it do not allow to store data and Session State is OFF.","submitsuccess":"The form has been submitted successfully."}},"dependcondition":{"notapplicable":"Not applicable","matchregularexpression":"Match with regular expression","equals":"Equals","notequals":"Not equals","contains":"Contains","notcontains":"Not contains"},"imagechoiceitems":{"emptyactions":{"actions":{"createnewitem":"Create a link to an image"},"template":"Drop image content here.<br/>You also can {createnewitem}."},"menutooltip":"Display menu"},"editview":{"elementdependant":"This field depends on other field(s)","retentionperiod":{"partial":"partial","finalized":"finalized","default":"Default","keepforsomedays":"{0} days","customization":"Custom (days):","keepforever":"Forever","validation":{"errormessage":{"long":"The {0} submission retention period field must be an integer between {1} and {2}","short":"Input must be an integer between {0} and {1}"}},"revision":{"warningmessage":"At least {0} submission(s) are affected by your retention policy change"}},"notconfigured":"Not configured yet","insertplaceholder":"Insert placeholder","selectanitem":"Select an item","externalsystems":"External system field mapping","connecteddatasource":"Connect to Datasource","createemailtemplate":"Create email template","editemailtemplate":"Edit email template","addwebhook":"Add webhook","editwebhook":"Edit webhook","selectpage":"Select page","usemanualinput":"Use manual input","errorconditionalstepcannotcontainrequiredelement":"This Form step should not depend on other elements because it contains mandatory element [{0}].","cannotbuildformmodel":"Cannot build the form. You cannot use FormContainerBlock as a property. You can render a form in a ContentArea only.","resetconnecteddatasource":"Reset"},"viewmode":{"stepnavigation":{"previous":"Previous step","next":"Next step","page":"Step"},"untitled":"Untitled","selection":{"selectanoption":"-- Select an option --","selectoptions":"-- Select options --"},"reset":"Reset form","submit":"Submit","refreshcaptcha":"Refresh captcha","captchalabel":"Word verification","malformstepconfigruation":"Improperly formed FormStep configuration. Some steps are attached to pages, while some steps are not attached, or attached to content with no public URL.","commonvalidationfail":"This element value is not val
94id.","readonlymode":"Read-only mode. Submitted data is not saved.","submissionactors":{"savedatatostorage":{"error":"Something went wrong. Please contact the administrator for more information."}}},"contentediting":{"fielddependency":{"condition":{"field":"Field","operator":"Operator","value":"Value"},"invalidcondition":"The condition is no longer valid","conditiondialog":{"title":"Condition Details"}},"optionitem":{"caption":"Choice","value":"Value","checked":"Checked by default","containsinvalidcharacter":"Comma (,) character is not allowed."},"emailtemplateactor":{"fromemail":"From","fromemaildescription":"Email address to send from","toemails":"To","toemailsdescription":"Email address to send to, or name of a form field with the email address (for confirmation emails)","subject":"Subject","subjectdescription":"Subject line for the email. You can use #FIELDNAME# to insert values from the form.","body":"Message","bodydescription":"The body of the email. You can insert values from the form with #FIELDNAME#, or show a summary listing of the form fields with #SUMMARY.","fromemailplaceholder":"[email protected]","toemailsplaceholder":"[email protected],...","subjectplaceholder":"Enter email subject"},"webhookactor":{"url":"Webhook URL","urldescription":"Webhook URL to send data payload to (http or https protocol).","jsonformat":"POST data in JSON format"},"validation":{"circulardependency":"Circular dependency configuration is not allowed","greaterthanequaltoerrorformat":"The {0} must be >= {1}'s value.","lessthanequaltoerrorformat":"The {0} must be <= {1}'s value.","inrangeerrorformat":"\"{0}\" is not a valid value for {1}. Only number is allowed and {1} must be in range of [{2} - {3}]'s value.","stepinrangeerrorformat":"The {0} must be >= 1 and <= {2} - {1} value.","positiveinteger":"Only a positive number is allowed."}}} 95 } 96 }); 97})(); 98 99</script>
99 100 101 102 <!-- Google Tag Manager for main CPS site -->
103<script>
vendor: 327 bytes, lines 103-107
103(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 104new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 105j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 106'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 107})(window,document,'script','dataLayer','
107GTM-P5XGJ8B
vendor: 3 bytes, line 107
107');
107</script>
107 108<!-- End Google Tag Manager for main CPS site --> 109 110<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 110-111
110 111<script async src="https://www.googletagmanager.com/gtag/js?id=
111G-ZKYX1JLZL5
vendor: 12 bytes, line 111
111"></script>
112<script> 113
vendor: 134 bytes, lines 113-117
113window.dataLayer = window.dataLayer || []; 114 function gtag(){dataLayer.push(arguments);} 115 gtag('js', new Date()); 116 117 gtag('config', '
117G-ZKYX1JLZL5
vendor: 4 bytes, line 117
117');
118</script>
118 119 120<style> 121 122 123/***** Remove yellow underline on navigational bar *****/ 124.nav-link.w--current { 125 box-shadow: none; 126} 127 128/***** Updating active bottom border for active link on search *****/ 129.nav-main-A-list-item-link[aria-current] { 130 border-bottom-color: transparent; 131} 132 133/***** Remove margin from top of landing and detail pages *****/ 134article .block.blog-title.no-pagination.block-border-bottom, article .block.blog-title { 135 margin-top: 0; 136} 137 138/***** hide recaptcha badge *****/ 139.grecaptcha-badge { 140 visibility: hidden; 141} 142 143</style> 144 <!-- Recaptcha api -->
vendor: 66 bytes, lines 144-145
144 145 <script src="https://www.google.com/recaptcha/api.js?render=
1456Ldm7hAiAAAAAEpstnnyxzyj9MDRyuAomhlPJYvu
vendor: 13 bytes, line 145
145"></script>
146<script type="text/javascript">var appInsights=window.appInsights||function(config){function t(config){i[config]=function(){var t=arguments;i.queue.push(function(){i[config].apply(i,t)})}}var i={config:config},u=document,e=window,o="script",s="AuthenticatedUserContext",h="start",c="stop",l="Track",a=l+"Event",v=l+"Page",r,f;setTimeout(function(){var t=u.createElement(o);t.src=config.url||"https://js.monitor.azure.com/scripts/a/ai.0.js";u.getElementsByTagName(o)[0].parentNode.appendChild(t)});try{i.cookie=u.cookie}catch(y){}for(i.queue=[],r=["Event","Exception","Metric","PageView","Trace","Dependency"];r.length;)t("track"+r.pop());return t("set"+s),t("clear"+s),t(h+a),t(c+a),t(h+v),t(c+v),t("flush"),config.disableExceptionTracking||(r="onerror",t("_"+r),f=e[r],e[r]=function(config,t,u,e,o){var s=f&&f(config,t,u,e,o);return s!==!0&&i["_"+r](config,t,u,e,o),s}),i}({instrumentationKey:"83d31a1d-4eec-43c7-9f5e-071255752b4d",sdkExtension:"a"});window.appInsights=appInsights;appInsights.queue&&appInsights.queue.length===0&&appInsights.trackPageView();</script>
146</head> 147 148<body class="site-body"> 149 <div role="region" aria-label="Top of the Page"> 150 <a id="top" class="visually-hidden" tabindex="-1">Top of Page</a> 151 </div> 152 <a href="#main" class="skip-link" aria-label="skip to content link">Skip to Content</a> 153 154 155 156 157 <header class="header" role="banner"> 158 <div class="alert-desktop"> 159 <div class="alert alert-short cobalt " data-alert-id="-1" aria-hidden="false"> 160 <div class="alert-inner"> 161 <div class="alert-text"> 162 163 164<a href="/" class="subtle-link titling alert-logo" title="CPS Home"> 165 166 167 168 <img src="/globalassets/cps-global-media/cps-logos/2022/cps-white-logo-horizontal-22.png" alt="CPS Logo" /> 169 <span class="visually-hidden"> 170 CPS Home 171 </span> 172 173</a> 174 175 176 177 </div> 178 </div> 179 </div> 180 </div> 181 <div class="header-nav"> 182 183 184<nav aria-label="site" class="nav desktop" id="Nav_desktop" > 185 <h2 class="visually-hidden">Navigation</h2> 186 <div class="nav-inner desktop"> 187 <div class="nav-logo-container desktop"> 188 <a href="/sites/blog/" class="nav-logo desktop " id="site-logo"> 189 <img class="nav-logo-img desktop" src="/globalassets/cps-pages/sites/blog/cps-logo-blog-2024-horiz-blue.svg" alt="Home" /> 190 </a> 191 192 </div> 193 <div class="nav-lists-container desktop"> 194 <div class="nav-utility-container desktop"> 195 <h3 class="visually-hidden" id="Nav_desktop_shortcuts_heading">Shortcut Links</h3> 196 <div class="nav-utility desktop"> 197 <div class="nav-utility-secondary desktop"> 198 199 200<div class="nav-translate"> 201 <label class="visually-hidden" id="Nav_desktop_translate_heading">Select Language</label> 202 <div class="nav-translate-wrapper"> 203 <i class="fal fa-globe nav-translate-icon" aria-hidden="true"></i> 204 <select class="nav-translate-select" aria-labelledby="Nav_desktop_translate_heading"> 205 <option value="en">English</option> 206 <option value="es">Español</option> 207 <option value="pl">Polski</option> 208 <option value="ar">العربية</option> 209 <option value="tl">Tagalog</option> 210 <option value="uk">Українська</option> 211 <option value="ur">اردو</option> 212 <option value="vi">Tiếng Việt</option> 213 <option value="zh-CN">简体中文</option> 214 </select> 215 </div> 216</div> 217 <div class="nav-search desktop"> 218 <button type="button" aria-controls="Nav_desktop_search_panel" data-panel-primary-trigger class="square-btn blue nav-search-toggle desktop"> 219 <svg class="svg-icon" aria-hidden="true" focusable="false"> 220 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-search" /> 221 </svg> 222 <span class="visually-hidden">Toggle Search</span> 223 </button> 224 <div class="nav-search-panel-container desktop"> 225 <div class="nav-search-panel desktop" id="Nav_desktop_search_panel" data-search-panel data-panel-height="100%"> 226 <div class="nav-search-panel-inner autocomplete"> 227<form action="/SiteSettingsPage/SiteSearch" class="nav-search-panel-form" data-search-autocomplete-form="Nav_desktop_search_input" method="get"> <div class="autocomplete-input-container loading-container white" data-search-autocomplete-panel="Nav_desktop_search_input"> 228 <input type="text" name="q" id="Nav_desktop_search_input" aria-label="Search" class="nav-search-panel-input" placeholder="Search" autocomplete="off" data-search-autocomplete-input="Nav_desktop_search_input" /> 229 <div class="autocomplete-results-panel" data-search-autocomplete-results="Nav_desktop_search_input"> 230 </div> 231 </div> 232 <input type="hidden" name="contentId" value="341809" /> 233 <button type="submit" class="nav-search-panel-btn" disabled data-search-autocomplete-submit="Nav_desktop_search_input"> 234 <svg class="svg-icon" aria-hidden="true" focusable="false"> 235 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-search" /> 236 </svg>
237 <span class="visually-hidden">Search</span> 238 </button> 239</form> <button type="button" aria-controls="Nav_desktop_search_panel" class="nav-search-close square-btn blue x-btn nav-close"> 240 <span class="visually-hidden">Close</span> 241 </button> 242 </div> 243 </div> 244 </div> 245 </div> 246 </div> 247 </div> 248 </div> 249 <div class="nav-main-container desktop"> 250 <h3 class="visually-hidden" id="Nav_desktop_main_heading">Main Navigation</h3> 251 <ul id="Nav_desktop_main" role="menubar" aria-labelledby="Nav_desktop_main_heading" 252 class="nav-main-A-list desktop"> 253 <!--Top Level Nav Item: Treat "index" as index of this repeater--> 254 255 <li role="none" class="nav-main-A-list-item desktop"> 256 <a href="/sites/blog/" 257 class="un-button nav-main-A-list-item-link desktop subtle-link" 258 role="menuitem" 259 260 aria-expanded="false" 261 > 262 Blog 263 </a> 264 </li> 265 <li role="none" class="nav-main-A-list-item desktop"> 266 <a href="/sites/blog/search/" 267 class="un-button nav-main-A-list-item-link desktop subtle-link" 268 role="menuitem" 269 270 aria-expanded="false" 271 > 272 All Posts 273 </a> 274 </li> 275 <li role="none" class="nav-main-A-list-item desktop"> 276 <a href="/sites/blog/search/?category=Students" 277 class="un-button nav-main-A-list-item-link desktop subtle-link" 278 role="menuitem" 279 280 aria-expanded="false" 281 > 282 Students 283 </a> 284 </li> 285 <li role="none" class="nav-main-A-list-item desktop"> 286 <a href="/sites/blog/search/?category=Schools" 287 class="un-button nav-main-A-list-item-link desktop subtle-link" 288 role="menuitem" 289 290 aria-expanded="false" 291 > 292 Schools 293 </a> 294 </li> 295 <li role="none" class="nav-main-A-list-item desktop"> 296 <a href="/sites/blog/search/?category=District" 297 class="un-button nav-main-A-list-item-link desktop subtle-link" 298 role="menuitem" 299 300 aria-expanded="false" 301 > 302 District 303 </a> 304 </li> 305 <li role="none" class="nav-main-A-list-item desktop"> 306 <a href="/sites/blog/search/?category=Sports"
307 class="un-button nav-main-A-list-item-link desktop subtle-link" 308 role="menuitem" 309 310 aria-expanded="false" 311 > 312 Sports 313 </a> 314 </li> 315 </ul> 316 </div> 317 </div> 318 </div> 319</nav> 320 321 322<nav aria-label="site" class="nav mobile" id="Nav_mobile"> 323 <h2 class="visually-hidden">Navigation</h2> 324 <div class="nav-inner mobile"> 325 <div class="nav-main-wrapper" data-fixed-header> 326 <div class="alert-mobile"> 327 <div class="alert alert-short cobalt " data-alert-id="-1" aria-hidden="false"> 328 <div class="alert-inner"> 329 <div class="alert-text"> 330 331 332<a href="/" class="subtle-link titling alert-logo" title="CPS Home"> 333 334 335 336 <img src="/globalassets/cps-global-media/cps-logos/2022/cps-white-logo-horizontal-22.png" alt="CPS Logo" /> 337 <span class="visually-hidden"> 338 CPS Home 339 </span> 340 341</a> 342 343 344 345 </div> 346 </div> 347 </div> 348 </div> 349 <div class="nav-main-bar"> 350 <div class="nav-logo-container mobile"> 351 <a href="/sites/blog/" class="nav-logo mobile "> 352 <img class="nav-logo-img mobile" src="/globalassets/cps-pages/sites/blog/cps-logo-blog-2024-horiz-blue.svg" alt="Home" /> 353 </a> 354 </div> 355 <button class="x-btn square-btn white nav-main-panel-trigger" type="button" data-mobile-nav-toggle="top" aria-haspopup="true" aria-expanded="false"> 356 <span class="visually-hidden">Open Navigation</span> 357 <span class="visually-hidden">Close Navigation</span> 358 </button> 359 </div> 360 </div> 361 <div class="nav-main-panel mobile" data-mobile-nav-panel="top" aria-hidden="true" id="Nav_mobile_panel"> 362 <div class="nav-search mobile autocomplete"> 363<form action="/SiteSettingsPage/SiteSearch" class="nav-search-form mobile" data-search-autocomplete-form="Nav_mobile_search_input" method="get"> <label for="Nav_mobile_search_input" class="visually-hidden">Search</label> 364 <div class="autocomplete-input-container loading-container white" data-search-autocomplete-panel="Nav_mobile_search_input"> 365 <input type="text" name="q" id="Nav_mobile_search_input" aria-label="Search" class="nav-search-input" placeholder="Search" autocomplete="off" data-search-autocomplete-input="Nav_mobile_search_input" /> 366 <div class="autocomplete-results-panel" data-search-autocomplete-results="Nav_mobile_search_input"> 367 </div> 368 </div> 369 <input type="hidden" name="contentId" value="341809" /> 370 <button type="submit" class="square-btn blue nav-search-submit mobile" disabled data-search-autocomplete-submit="Nav_mobile_search_input"> 371 <svg class="svg-icon" aria-hidden="true" focusable="false"> 372 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-search" /> 373 </svg> 374 <span class="visually-hidden">Search</span> 375 </button> 376</form> </div> 377 <div class="nav-lists-container mobile"> 378 <!--Main--> 379 <div class="nav-main-container mobile"> 380 <h3 class="visually-hidden" id="Nav_mobile_main_heading">Main Navigation</h3> 381 <ul id="Nav_mobile_main" role="menubar" aria-labelledby="Nav_mobile_main_heading" 382 class="nav-main-A-list mobile"> 383 <!--Top Level Nav Item: Treat "index" as index of this repeater--> 384 385 <li role="none" class="nav-main-A-list-item mobile"> 386 <a href="/sites/blog/"
387 class="un-button nav-main-A-list-item-link mobile subtle-link" 388 role="menuitem" 389 390 aria-expanded="false" 391 > 392 Blog 393 </a> 394 </li> 395 <li role="none" class="nav-main-A-list-item mobile"> 396 <a href="/sites/blog/search/" 397 class="un-button nav-main-A-list-item-link mobile subtle-link" 398 role="menuitem" 399 400 aria-expanded="false" 401 > 402 All Posts 403 </a> 404 </li> 405 <li role="none" class="nav-main-A-list-item mobile"> 406 <a href="/sites/blog/search/?category=Students" 407 class="un-button nav-main-A-list-item-link mobile subtle-link" 408 role="menuitem" 409 410 aria-expanded="false" 411 > 412 Students 413 </a> 414 </li> 415 <li role="none" class="nav-main-A-list-item mobile"> 416 <a href="/sites/blog/search/?category=Schools" 417 class="un-button nav-main-A-list-item-link mobile subtle-link" 418 role="menuitem" 419 420 aria-expanded="false" 421 > 422 Schools 423 </a> 424 </li> 425 <li role="none" class="nav-main-A-list-item mobile"> 426 <a href="/sites/blog/search/?category=District" 427 class="un-button nav-main-A-list-item-link mobile subtle-link" 428 role="menuitem" 429 430 aria-expanded="false" 431 > 432 District 433 </a> 434 </li> 435 <li role="none" class="nav-main-A-list-item mobile"> 436 <a href="/sites/blog/search/?category=Sports" 437 class="un-button nav-main-A-list-item-link mobile subtle-link" 438 role="menuitem" 439 440 aria-expanded="false" 441 > 442 Sports 443 </a> 444 </li> 445 </ul> 446 </div> 447 <!--Utility--> 448 <div class="nav-utility-container mobile"> 449 <div class="nav-utility mobile"> 450 <div class="nav-utility-extras"> 451 452 453<div class="nav-translate mobile"> 454 <label class="visually-hidden" id="Nav_mobile_translate_heading">Select Language</label> 455 <div class="nav-translate-wrapper mobile"> 456 <i class="fal fa-globe nav-translate-icon mobile" aria-hidden="true"></i> 457 <select class="nav-translate-select mobile" aria-labelledby="Nav_mobile_translate_heading"> 458 <option value="en">English</option> 459 <option value="es">Español</option> 460 <option value="pl">Polski</option> 461 <option value="ar">العربية</option> 462 <option value="tl">Tagalog</option> 463 <option value="uk">Українська</option> 464 <option value="ur">اردو</option> 465 <option value="vi">Tiếng Việt</option> 466 <option value="zh-CN">简体中文</option> 467 </select> 468 </div> 469</div> 470 </div> 471 </div> 472 </div> 473 </div> 474 </div> 475 </div> 476</nav> 477 </div> 478 </header> 479 480 <div class="page" data-main data-epi-type=ââ¬Âcontentââ¬Â> 481 482 483 484 485 486<main class="blog-page"> 487 <a id="main" tabindex="-1" class="visually-hidden">Main</a> 488 <div class="blog-page-header"> 489 490 491<div class="page-header "> 492 <div class="bg-cover white" 493 style="background-image:url('/globalassets/cps-pages/sites/blog/blog-header.png?width=1400&quality=70&mode=crop&center=');"></div> 494 495 496</div> 497 498 <div class="blog-page-header-content rich-text centered"> 499 <h2 class="h2-style">Inside CPS</h2> 500 <p class="italic intro">News and Stories from across the District</p> 501 </div> 502 </div> 503 <div class="block link-bar-block link-bar-long "> 504 <div class="block-inner link-bar blog-link-bar"> 505 <ul class="no-bullets link-bar-list "> 506 <li class="link-bar-list-item"> 507 <a href="/sites/blog/" class="primary-link link-bar-link" aria-current="page"> 508 Blog 509 </a> 510 </li> 511 <li class="link-bar-list-item"> 512 <a href="/sites/blog/listings/" class="primary-link link-bar-link" aria-current="page"> 513 All 514 </a> 515 </li> 516 <li class="link-bar-list-item"> 517 <a href="/sites/blog/listings/?category=73" class="primary-link link-bar-link" aria-current="page"> 518 Students 519 </a> 520 </li> 521 <li class="link-bar-list-item"> 522 <a href="/sites/blog/listings/?category=74" class="primary-link link-bar-link" aria-current="page"> 523 Schools 524 </a> 525 </li> 526 <li class="link-bar-list-item"> 527 <a href="/sites/blog/listings/?category=75" class="primary-link link-bar-link" aria-current="page"> 528 District 529 </a> 530 </li> 531 <li class="link-bar-list-item"> 532 <a href="/sites/blog/listings/?category=76" class="primary-link link-bar-link" aria-current="page"> 533 Sports 534 </a> 535 </li> 536 </ul> 537 </div> 538 </div> 539 540 541 <article> 542 543 544 545<div class="block blog-title"> 546 <div class="blog-title-content intro "> 547 <h1 class="h2-style">Building Up an Excellent Spanish Language Program </h1> 548 <p class="blog-title-date h6-style">25 September 2026</p> 549 <p>Maestra Viquez is known for masterfully balancing rigorous language instruction with a vibrant, welcoming atmosphere. </p> 550 </div> 551 <div class="blog-title-image"> 552<picture><source sizes="100vw" srcset="/contentassets/f49e6dfe155e4e43b0f059e7938966ef/unnamed-1.jpg?format=webp&width=768&qual
552ity=70 768w, /contentassets/f49e6dfe155e4e43b0f059e7938966ef/unnamed-1.jpg?format=webp&width=1024&quality=70 1024w" type="image/webp" /><source sizes="100vw" srcset="/contentassets/f49e6dfe155e4e43b0f059e7938966ef/unnamed-1.jpg?width=768&quality=70 768w, /contentassets/f49e6dfe155e4e43b0f059e7938966ef/unnamed-1.jpg?width=1024&quality=70 1024w" /><img alt="Maestra Viquez " src="/contentassets/f49e6dfe155e4e43b0f059e7938966ef/unnamed-1.jpg?width=1024&quality=70" /></picture> </div> 553 <ul class="blog-pagination"> 554 <li class="blog-pagination-item"> 555 </li> 556 <li class="blog-pagination-item"> 557 <a href="/sites/blog/search/2026/september/volta/" class="blog-pagination-link icon-link yellow solid-btn" aria-label="Next Blog Article"> 558 <svg class="svg-icon" aria-hidden="true" focusable="false"> 559 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-right-arrow" /> 560 </svg> 561 562 </a> 563 </li> 564 </ul> 565</div> 566 567<div class="surface-block blog-content rich-text"> 568 <div class="blog-share"> 569 <div class="blog-share-social"> 570 <h2 class="bold h4-style inline-block">Share:</h2> 571 <ul class="unstyled icon-list"> 572 <li> 573 <a href="https://www.facebook.com/sharer/sharer.php?u=https://www.cps.edu/sites/blog/search/2026/september/decatur/" target="_blank" class="icon-btn blue"> 574 <span class="visually-hidden">Share on Facebook</span> 575 <svg class="svg-icon" aria-hidden="true" focusable="false"> 576 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-facebook" /> 577 </svg> 578 </a> 579 </li> 580 <li> 581 <a href="https://twitter.com/intent/tweet?text=Building Up an Excellent Spanish Language Program https://www.cps.edu/sites/blog/search/2026/september/decatur/" target="_blank" class="icon-btn blue"> 582 <span class="visually-hidden">Share on Twitter</span> 583 <svg class="svg-icon" aria-hidden="true" focusable="false"> 584 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-twitter" /> 585 </svg> 586 </a> 587 </li> 588 <li> 589 <a href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.cps.edu/sites/blog/search/2026/september/decatur/" target="_blank" class="icon-btn blue"> 590 <span class="visually-hidden">Share on LinkedIn</span> 591 <svg class="svg-icon" aria-hidden="true" focusable="false"> 592 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-linkedin" /> 593 </svg> 594 </a> 595 </li> 596 </ul> 597 </div> 598 <ul class="blog-share-categories"> 599 <li class="blog-share-category"> 600 <a href="/sites/blog/search/?category=Schools" class="tag">Schools</a> 601 </li> 602 </ul> 603 </div> 604 <p dir="ltr">Maestra Rebeca Viquez is leading excellent work at Decatur Classical School! She joined the Decatur community a few years ago when the school transitioned from teaching Latin to Spanish. Her commitment to students made it seamless! Recently, her principal highlighted how her deep love for her students shines through daily in the authentic way she honors individual identities, heritage, and cultures across our community. She is also known for masterfully balancing rigorous language instruction with a vibrant, welcoming atmosphere where learning a language is a genuinely joyous experience. </p> 605<p dir="ltr">And her hard work is definitely paying off! Last year, 100 percent of Decatur’s fifth-grade students met the proficiency benchmark on their Spanish-language assessment. This achievement supports their progress toward the CPS Pathway to Biliteracy Award. She exemplifies teaching excellence, cultural pride, and academic achievement. We connected with her to learn more about her plans for this school year. Read about them below! </p> 606<hr /> 607<p dir="ltr"><strong>What was it like leading the school’s transition to teaching Spanish? </strong></p> 608<p dir="ltr">
608It was unexpected because it was such a big change! Latin is an important language because Spanish and the other Romance languages developed from it. However, Spanish gives students more opportunities to communicate, hear the language in their communities, and use what they learn in everyday life. It was hard for the students at first, but now they love it! </p> 609<p dir="ltr"><strong>What strategies have you been using in the classroom that led to the 100 percent pass rate on the Spanish-language proficiency assessment?</strong></p> 610<p dir="ltr">I involve students in the language from the very beginning and create an immersive, Spanish-rich environment. I’ve also focused on helping students understand the cultures connected to the language. I’ve used myself as an example, explaining that English is not my first language and that I still make mistakes sometimes. Sharing that experience has helped students feel safe, comfortable, and willing to take risks as they learn.</p> 611<p dir="ltr"><strong>How do students feel joy in your classroom? </strong></p> 612<p dir="ltr">My classroom is not a traditional classroom. I have worked to create a calm, colorful, and welcoming learning space with flexible seating. Students can feel comfortable, interact with one another, and have fun while they learn. We were recently learning about mariachi, and I played music while asking them if they could identify any of the Spanish words in the song. My room is also extremely colorful, which I think makes the students happy. </p> 613<p dir="ltr"><strong>It’s Hispanic Heritage Month! What do you hope students remember about this month? </strong></p> 614<p dir="ltr">So many things—the culture, the music, the colors, the history, and the people! I want students to understand the meaning and cultural context behind what they are learning. For example, with mariachi, I want them to be able to share more than just comes from Mexico. I want them to understand its history, cultural importance, instruments, clothing, and the stories communicated through the music.</p> 615<p dir="ltr"><strong>What is your message to your students? </strong></p> 616<p dir="ltr">You’ve got this! It is okay to make mistakes because mistakes are part of learning. We are going to learn and grow together.</p> 617 <div class="block media"> 618 619 620 </div> 621</div> 622 623 624 625<div class="block block-border-top"> 626 <div class="block-inner"> 627 <div class="rich-text centered"> 628 <h2 class="h2-style">Related Stories</h2> 629 </div> 630 </div> 631</div> 632<div class="surface-block container-block"> 633 <div class="block-inner auto-column-block"> 634 <div class="auto-column-container smaller-headings"> 635 636 <div class="card full"> 637 <div class="card-inner block-inner"> 638 639 640 641<div class="card full"> 642 <div class="card-inner block-inner"> 643 <div class="rich-text card-content x-small"> 644 645 <p class="bold">25 September 2026</p> 646 <h2 class="card-title half-margins h4-style"><a href="/sites/blog/search/2026/september/volta/">Creating a Positive School Culture for All Students</a></h2> 647<p>Mr. Arce is seen as a fixture of the school, seemingly being everywhere at once to help Volta run smoothly.</p> 648 </div> 649 <div class="card-image "> 650 <a href="/sites/blog/search/2026/september/volta/"> 651<picture><source sizes="100vw" srcset="/contentassets/32a1c595d9c245b9b490b3e06fdf8725/unnamed.jpg?format=webp&width=300&mode=crop&heightratio=1&quality=70 300w" type="image/webp" /><source sizes="100vw" srcset="/contentassets/32a1c595d9c245b9b490b3e06fdf8725/unnamed.jpg?width=300&mode=crop&heightratio=1&quality=70 300w" /><img alt="Volta Staff Member" src="/contentassets/32a1c595d9c245b9b490b3e06fdf8725/unnamed.jpg?width=300&mode=crop&heightratio=1&quality=70" /></picture> </a> 652 </div> 653 </div> 654</div> 655 </div> 656 </div> 657 <div class="card full"> 658 <div class="card-inner block-inner"> 659 660 661 662<div class="card full"> 663 <div class="card-inner block-inner">
664 <div class="rich-text card-content x-small"> 665 666 <p class="bold">18 September 2026</p> 667 <h2 class="card-title half-margins h4-style"><a href="/sites/blog/search/2026/september/de-diego-seca/">How One Staff Member Keeps Going Above and Beyond to Serve Her Community</a></h2> 668<p>Ms. Dilworth is known for her leadership and positive spirit. </p> 669 </div> 670 <div class="card-image "> 671 <a href="/sites/blog/search/2026/september/de-diego-seca/"> 672<picture><source sizes="100vw" srcset="/contentassets/8ba6f34fab1540ae88f230426e6eb662/new-project-5-copy-2.jpg?format=webp&width=300&mode=crop&heightratio=1&quality=70 300w" type="image/webp" /><source sizes="100vw" srcset="/contentassets/8ba6f34fab1540ae88f230426e6eb662/new-project-5-copy-2.jpg?width=300&mode=crop&heightratio=1&quality=70 300w" /><img alt="Ms. Dilworth " src="/contentassets/8ba6f34fab1540ae88f230426e6eb662/new-project-5-copy-2.jpg?width=300&mode=crop&heightratio=1&quality=70" /></picture> </a> 673 </div> 674 </div> 675</div> 676 </div> 677 </div> 678 <div class="card full"> 679 <div class="card-inner block-inner"> 680 681 682 683<div class="card full"> 684 <div class="card-inner block-inner"> 685 <div class="rich-text card-content x-small"> 686 687 <p class="bold">18 September 2026</p> 688 <h2 class="card-title half-margins h4-style"><a href="/sites/blog/search/2026/september/hughes-teacher/">Meet One Teacher Poised to Build on Her Recent Accomplishments</a></h2> 689<p>Ms. Jones' commitment to impactful instruction is strengthened by her focus on community service.</p> 690 </div> 691 <div class="card-image "> 692 <a href="/sites/blog/search/2026/september/hughes-teacher/"> 693<picture><source sizes="100vw" srcset="/contentassets/3d1a844591264f439a77d9ef1d60a623/new-project-5.jpg?format=webp&width=300&mode=crop&heightratio=1&quality=70 300w" type="image/webp" /><source sizes="100vw" srcset="/contentassets/3d1a844591264f439a77d9ef1d60a623/new-project-5.jpg?width=300&mode=crop&heightratio=1&quality=70 300w" /><img alt="Ms. Jones" src="/contentassets/3d1a844591264f439a77d9ef1d60a623/new-project-5.jpg?width=300&mode=crop&heightratio=1&quality=70" /></picture> </a> 694 </div> 695 </div> 696</div> 697 </div> 698 </div> 699 <div class="card full"> 700 <div class="card-inner block-inner"> 701 702 703 704<div class="card full"> 705 <div class="card-inner block-inner"> 706 <div class="rich-text card-content x-small"> 707 708 <p class="bold">02 July 2026</p> 709 <h2 class="card-title half-margins h4-style"><a href="/sites/blog/search/2026/june/golden-apple-camras/">Learning More About Sara Mazhary, Golden Apple Award Winner</a></h2> 710<p>Ms. Mazhary embodies Golden Apple's belief that great teaching shapes how students learn, grow, and see what’s possible for their future. </p> 711 </div> 712 <div class="card-image "> 713 <a href="/sites/blog/search/2026/june/golden-apple-camras/"> 714<picture><source sizes="100vw" srcset="/contentassets/80b270b19ec04115a6ab12b410fb9d0e/camras-ms.-mazhary-1.jpg?format=webp&width=300&mode=crop&heightratio=1&quality=70 300w" type="image/webp" /><source sizes="100vw" srcset="/contentassets/80b270b19ec04115a6ab12b410fb9d0e/camras-ms.-mazhary-1.jpg?width=300&mode=crop&heightratio=1&quality=70 300w" /><img alt="Camras, Ms. Mazhary" src="/contentassets/80b270b19ec04115a6ab12b410fb9d0e/camras-ms.-mazhary-1.jpg?width=300&mode=crop&heightratio=1&quality=70" /></picture> </a> 715 </div> 716 </div> 717</div> 718 </div> 719 </div> 720 </div> 721 </div> 722</div> 723 724 725 726 </article> 727 728 729</main> 730 731 </div> 732 733 <footer class="footer" role="contentinfo"> 734 <div id="footerPollForm"> 735 <div class="page poll-container"> 736 <div class="off-white well-md"> 737 738 739 740 741<div class="block epi-forms-block"> 742 743 744 <form method="post" novalidate="novalidate" 745 data-f-metadata="" 746 enctype="multipart/form-data" class="EPiServerForms ValidationSuccess" data-f-type="form" id="62add1d4-0690-4f44-812d-e2164814b0da"> 747 748 749 750 751
751<script type="text/javascript" src="/EPiServer.Forms/DataSubmit/GetFormInitScript?formGuid=62add1d4-0690-4f44-812d-e2164814b0da&formLanguage=en"></script>
751 752 753 754 <input type="hidden" class="Form__Element Form__SystemElement FormHidden FormHideInSummarized" name="__FormGuid" value="62add1d4-0690-4f44-812d-e2164814b0da" data-f-type="hidden" /> 755 <input type="hidden" class="Form__Element Form__SystemElement FormHidden FormHideInSummarized" name="__FormHostedPage" value="341809" data-f-type="hidden" /> 756 <input type="hidden" class="Form__Element Form__SystemElement FormHidden FormHideInSummarized" name="__FormLanguage" value="en" data-f-type="hidden" /> 757 <input type="hidden" class="Form__Element Form__SystemElement FormHidden FormHideInSummarized" name="__FormCurrentStepIndex" value="0" data-f-type="hidden" /> 758 <input type="hidden" class="Form__Element Form__SystemElement FormHidden FormHideInSummarized" name="__FormSubmissionId" value="" data-f-type="hidden" /> 759 <input name="__RequestVerificationToken" type="hidden" value="3J-fKtfVy8gZCRFy7zDhPYRv6lGPxlaA3hYkqMGLGlwjlLCsLSVoQwjkYSnhR82ee2w-om9JDzNR-00JPUIwsOLgr_3lPm2dPSsAfySCqyM1" /> 760 761 <div class="rich-text Form__Header--wrapper"> 762 763 </div> 764 765 766 767 768 <div class="Form__Status"> 769 <div class="Form__Status__Message hide" data-f-form-statusmessage> 770 771 </div> 772 </div> 773 774 <div data-f-mainbody class="Form__MainBody"> 775 776 <div id="__field_" data-f-type="step" data-f-element-name="__field_" class="Form__Element FormStep Form__Element--NonData " data-f-stepindex="0" data-f-element-nondata> 777 778 779 <!-- Each FormStep groups the elements below it til the next FormStep --> 780 <div class="Form__Element FormChoice" data-f-element-name="__field_199097" data-f-type="choice" id="174cfee8-131f-4307-ad88-41b720b3e29b"> 781<fieldset class="FormChoice__Input--set"> 782 783 <legend class="Form__Element__Legend">Was this page helpful?</legend> 784 785 <div class="FormChoice__Input--wrapper"> 786 787 <input type="radio" id="rc___field_199097_Yes" name="__field_199097" value="Yes" class="FormChoice__Input FormChoice__Input--Radio" data-f-datainput /> 788 789 <label for="rc___field_199097_Yes"> 790 Yes</label> 791 </div> 792 793 <div class="FormChoice__Input--wrapper"> 794 795 <input type="radio" id="rc___field_199097_No" name="__field_199097" value="No" class="FormChoice__Input FormChoice__Input--Radio" data-f-datainput /> 796 797 <label for="rc___field_199097_No"> 798 No</label> 799 </div> 800 <span class="Form__Element__ValidationError" data-f-linked-name="__field_199097" data-f-validationerror="" style="display:none"></span> 801</fieldset> 802</div><div class="Form__Element FormTextbox FormTextbox--Textarea ValidationRequired" data-f-element-name="__field_199098" data-f-modifier="textarea" data-f-type="textbox"> 803 <label for="181cfd9c-2006-479e-b9ea-d9f2a4b833f1" class="Form__Element__Caption">Enter Feedback</label> 804 805 <textarea name="__field_199098" id="181cfd9c-2006-479e-b9ea-d9f2a4b833f1" class="FormTextbox__Input" 806 placeholder="Tell us why." data-f-label="Enter Feedback" data-f-datainput 807 required ></textarea> 808 <span class="Form__Element__ValidationError" data-f-linked-name="__field_199098" data-f-validationerror="" style="display:none"></span> 809</div> 810 811<button id="98bc7fe8-7981-43a7-aff7-e200f7fa3efe" name="submit" type="submit" class="btn" value="98bc7fe8-7981-43a7-aff7-e200f7fa3efe" data-f-is-finalized="false" 812 data-f-is-progressive-submit="true" data-f-type="submitbutton" data-f-element-name="__field_199099" 813 814 815 class="Form__Element FormExcludeDataRebind FormSubmitButton"> 816 Submit 817 818</button> 819 820 </div> 821 822 823 </div> 824 825 826 827 </form> 828 829</div> 830 831 832 </div> 833 </div> 834 </div> 835 836 <a href="#top" class="back-to-top icon-btn yellow" data-top-link aria-hidden="true" aria-label="Back to top"> 837 <svg class="svg-icon" aria-hidden="true" focusable="false"> 838 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-up-arrow" /> 839 </svg>
840 <span class="visually-hidden">Back to top</span> 841 </a> 842 <input id="CaptchaToken" name="CaptchaToken" type="hidden" value="" /> 843 844 845 <section class="footer-inner dark-blue"> 846 <h2 class="visually-hidden">Page Footer</h2> 847 <div class="footer-column-wrapper"> 848 <div class="footer-column footer-column-bookend"> 849 <div class="footer-flag"> 850 851 852 853 <img src="/contentassets/669ad0bfd82b4d4e93eeb141f38817fa/cityofchicago-rev.png" alt="City of Chicago logo" /> 854 855 </div> 856 <div class="rich-text"> 857 <h3 class="h6-style">CHICAGO PUBLIC SCHOOLS</h3> 858 <p>42 W. Madison Street<br />Chicago, IL 60602<br />773-553-1000</p> 859 <p class="footer-copyright desktop"> 860© 2026 Chicago Public Schools | 1.0.9756 | MD </p> 861 </div> 862 </div> 863 <div class="footer-column"> 864 <h3 class="visually-hidden" id="footerNav_utility_heading">Helpful Links</h3> 865 <ul class="footer-link-list unstyled" aria-labelledby="footerNav_utility_heading"> 866 <li class="footer-link-list-item"> 867 <a href="/about/contact-cps/" class="subtle-link">Contact CPS</a> 868 </li> 869 <li class="footer-link-list-item"> 870 <a href="/about/departments/" class="subtle-link">Department Directory</a> 871 </li> 872 <li class="footer-link-list-item"> 873 <a href="/schools/networks/" class="subtle-link">Networks</a> 874 </li> 875 <li class="footer-link-list-item"> 876 <a href="/about/leadership/" class="subtle-link">Leadership Team</a> 877 </li> 878 <li class="footer-link-list-item"> 879 <a href="/about/non-discrimination-statement/" class="subtle-link">Non-Discrimination Statement</a> 880 </li> 881 <li class="footer-link-list-item"> 882 <a href="/about/whats-new-on-cps-edu/" class="subtle-link">What's New</a> 883 </li> 884 </ul> 885 </div> <div class="footer-column"> 886 <ul class="footer-link-list unstyled" aria-labelledby="footerNav_utility_heading"> 887 <li class="footer-link-list-item"> 888 <a href="https://www.childrenfirstfund.org/" target="_blank" class="subtle-link">Support CPS</a> 889 </li> 890 <li class="footer-link-list-item"> 891 <a href="/press-releases/" target="_top" class="subtle-link">Press Releases</a> 892 </li> 893 <li class="footer-link-list-item"> 894 <a href="/media/" class="subtle-link">Media</a> 895 </li> 896 <li class="footer-link-list-item"> 897 <a href="/careers/" class="subtle-link">Careers</a> 898 </li> 899 <li class="footer-link-list-item"> 900 <a href="/procurement/" class="subtle-link">Procurement</a> 901 </li> 902 <li class="footer-link-list-item"> 903 <a href="/about/website-accessibility/" class="subtle-link">Web Accessibility</a> 904 </li> 905 </ul> 906 </div> 907 <div class="footer-column footer-column-bookend"> 908 <h3 class="h6-style" id="footerNav_social_heading">Follow us:</h3> 909 <ul class="footer-social-list unstyled" aria-labelledby="footerNav_social_heading"> 910 <li class="footer-social-list-item"> 911 <a href="https://twitter.com/ChiPubSchools" target="_blank" class="icon-btn">
912 <span class="visually-hidden">twitter</span> 913 <svg class="svg-icon" aria-hidden="true" focusable="false"> 914 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-twitter" /> 915 </svg> 916 </a> 917 </li> 918 <li class="footer-social-list-item"> 919 <a href="https://www.facebook.com/chicagopublicschools" target="_blank" class="icon-btn"> 920 <span class="visually-hidden">facebook</span> 921 <svg class="svg-icon" aria-hidden="true" focusable="false"> 922 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-facebook" /> 923 </svg> 924 </a> 925 </li> 926 <li class="footer-social-list-item"> 927 <a href="/sites/blog/" class="icon-btn"> 928 <span class="visually-hidden">blog</span> 929 <svg class="svg-icon" aria-hidden="true" focusable="false"> 930 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-blog" /> 931 </svg> 932 </a> 933 </li> 934 <li class="footer-social-list-item"> 935 <a href="https://www.youtube.com/user/ChiPubSchools" target="_blank" class="icon-btn"> 936 <span class="visually-hidden">youtube</span> 937 <svg class="svg-icon" aria-hidden="true" focusable="false"> 938 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-youtube" /> 939 </svg> 940 </a> 941 </li> 942 <li class="footer-social-list-item"> 943 <a href="https://www.instagram.com/chipubschools/" target="_blank" class="icon-btn"> 944 <span class="visually-hidden">instagram</span> 945 <svg class="svg-icon" aria-hidden="true" focusable="false"> 946 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-instagram" /> 947 </svg> 948 </a> 949 </li> 950 <li class="footer-social-list-item"> 951 <a href="https://www.linkedin.com/company/chicago-public-schools/" target="_blank" class="icon-btn"> 952 <span class="visually-hidden">linkedin</span> 953 <svg class="svg-icon" aria-hidden="true" focusable="false"> 954 <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-linkedin" /> 955 </svg> 956 </a> 957 </li> 958 </ul> 959 <h3 class="h6-style">Subscribe:</h3> 960 <p class="footer-subscribe"> 961 962 963 964<a href="/media/" class="icon-btn off-white icon-text-btn" title="Our Newsletter"> 965<svg class=svg-icon aria-hidden=true focusable=false><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-email" /></svg> <span > 966 Our Newsletter 967 </span> 968 969</a> 970 971 972 973 </p> 974 </div> 975 </div> 976 <p class="footer-copyright mobile"> 977© 2026 Chicago Public Schools | 1.0.9756 | MD </p> 978 </section> 979 980 </footer> 981 982
982<script src="/Static/dist/js/common-bundle.js?modified=20260916125522" type="text/javascript"></script>
982 983 984
984<script src="/Static/dist/js/global-bundle.js?modified=20260916125522" type="text/javascript"></script>
984 985
985<script src="/Static/dist/js/iframe-bundle.js?modified=20260915043218" type="text/javascript"></script>
985 986 987
987<script> 988 var schoolDetailsPageUrl = '/inactive/schoolprofiles/'; 989 </script>
989 990 991 <!-- Recaptcha logic --> 992
992<script> 993 994 995 const RECAPTCHA_SITE_KEY = '6Ldm7hAiAAAAAEpstnnyxzyj9MDRyuAomhlPJYvu'; 996const RECAPTCHA_ENDPOINT = '/api/recaptcha/result'; 997const LIVE_REGION_MESSAGE = 'Additional feedback field available.'; 998 999const pollForm = document.getElementById('footerPollForm'); 1000const stayInformedForm = document.getElementById('stay-informed-form'); 1001 1002function verifyRecaptcha() { 1003 return new Promise((resolve, reject) => { 1004 grecaptcha.ready(() => { 1005 grecaptcha.execute(RECAPTCHA_SITE_KEY, { action: 'submit' }) 1006 .then(token => fetch(`${window.location.origin}${RECAPTCHA_ENDPOINT}`, { 1007 method: 'POST', 1008 headers: { 'Content-Type': 'application/json' }, 1009 body: JSON.stringify({ captchaToken: token }) 1010 })) 1011 .then(response => { 1012 if (!response.ok) throw new Error('Recaptcha request failed'); 1013 return response.json(); 1014 }) 1015 .then(resolve) 1016 .catch(reject); 1017 }); 1018 }); 1019} 1020 1021function isFieldVisible(field) { 1022 const style = window.getComputedStyle(field); 1023 if (style.display === 'none' || style.visibility === 'hidden') return false; 1024 let parent = field.parentElement; 1025 while (parent) { 1026 const parentStyle = window.getComputedStyle(parent); 1027 if (parentStyle.display === 'none' || parentStyle.visibility === 'hidden') return false; 1028 parent = parent.parentElement; 1029 } 1030 return true; 1031} 1032 1033function isFieldFilled(form, field) { 1034 if (field.disabled) return true; 1035 if (!isFieldVisible(field)) return true; 1036 1037 if (field.matches('fieldset, div, .FormChoice')) { 1038 const radios = field.querySelectorAll('input[type=radio]'); 1039 if (radios.length > 0) { 1040 return [...radios].some(r => r.checked); 1041 } 1042 const checkboxes = field.querySelectorAll('input[type=checkbox]'); 1043 if (checkboxes.length > 0) { 1044 return [...checkboxes].some(c => c.checked); 1045 } 1046 const inputs = field.querySelectorAll('input, textarea, select'); 1047 if (inputs.length > 0) { 1048 return [...inputs].every(i => i.value && i.value.trim() !== ''); 1049 } 1050 return true; 1051 } 1052 1053 if (field.type === 'radio') { 1054 if (!field.name) return field.checked; 1055 const group = form.querySelectorAll( 1056 `input[type=radio][name="${CSS.escape(field.name)}"]` 1057 ); 1058 return [...group].some(r => r.checked); 1059 } 1060 1061 if (field.type === 'checkbox') { 1062 return field.checked; 1063 } 1064 1065 if (typeof field.value !== 'string') return true; 1066 1067 return field.value.trim() !== ''; 1068} 1069 1070function isFormValid(form) { 1071 const requiredFields = form.querySelectorAll('[required]'); 1072 return [...requiredFields].every(field => isFieldFilled(form, field)); 1073} 1074 1075function ensureLiveRegion(form) { 1076 let liveRegion = form.querySelector('#poll-live-region'); 1077 if (!liveRegion) { 1078 liveRegion = document.createElement('div'); 1079 liveRegion.id = 'poll-live-region'; 1080 liveRegion.setAttribute('aria-live', 'polite'); 1081 liveRegion.className = 'visually-hidden'; 1082 form.appendChild(liveRegion); 1083 } 1084 return liveRegion; 1085} 1086 1087function initPollForm(form) { 1088 if (!form) return; 1089 1090 // Create honeypot field 1091 const honeypot = document.createElement('input'); 1092 honeypot.type = 'text'; 1093 honeypot.name = 'honeypot'; 1094 honeypot.style.display = 'none'; 1095 honeypot.setAttribute('tabindex', '-1'); 1096 honeypot.setAttribute('autocomplete', 'off'); 1097 1098 const actualForm = form.querySelector('form') || form; 1099 actualForm.appendChild(honeypot); 1100 1101 const choiceInputs = form.querySelectorAll('input[type=radio],input[type=checkbox],select'); 1102 const textboxField = form.querySelector('textarea.FormTextbox__Input'); 1103 const btnField = form.querySelector('button[type=submit]'); 1104 1105 const state = { 1106 captchaVerified: false, 1107 captchaRequested: false, 1108 recaptchaResult: null 1109 }; 1110 1111 function hideTextbox() { 1112 if (!textboxField) return; 1113 textboxField.disabled = true; 1114 // Remove name attribute so it's not submitted if bypassed 1115 if (textboxField.name) { 1116 textboxField.dataset.name = textboxField.name; 1117 textboxField.removeAttribute('name'); 1118 } 1119 const wrapper = textboxField.closest('.FormTextbox') || textboxField.parentElement; 1120 wrapper.style.display = 'none'; 1121 } 1122 1123 function showTextbox() { 1124 if (!textboxField) return; 1125 textboxField.disabled = false; 1126 // Restore name attribute 1127 if (textboxField.dataset.name) { 1128 textboxField.name = textboxField.dataset.name; 1129 } 1130 textboxField.setAttribute('aria-hidden', 'false'); 1131 textboxField.setAttribute('aria-expanded', 'true'); 1132 const wrapper = textboxField.closest('.FormTextbox') || textboxField.parentElement; 1133 wrapper.style.display = 'block'; 1134 } 1135 1136 function hideSubmit() { 1137 if (!btnField) return; 1138 btnField.disabled = true; 1139 btnField.style.display = 'none'; 1140 } 1141 1142 function showSubmit() { 1143 if (!btnField) return; 1144 btnField.style.display = 'block'; 1145 } 1146 1147 function updateSubmitState() { 1148 if (!btnField) return; 1149 const canSubmit = isFormValid(form) && state.captchaVerified; 1150 btnField.disabled = !canSubmit; 1151 btnField.setAttribute('aria-disabled', String(!canSubmit)); 1152 } 1153
1154 function revealDependentFields() { 1155 if (!state.captchaVerified) return; 1156 showTextbox(); 1157 showSubmit(); 1158 updateSubmitState(); 1159 ensureLiveRegion(form).textContent = LIVE_REGION_MESSAGE; 1160 } 1161 1162 function handleRecaptchaSuccess(data) { 1163 state.recaptchaResult = data; 1164 if (data) { 1165 state.captchaVerified = true; 1166 revealDependentFields(); 1167 } else { 1168 state.captchaVerified = false; 1169 updateSubmitState(); 1170 } 1171 } 1172 1173 function handleRecaptchaFailure() { 1174 state.captchaVerified = false; 1175 updateSubmitState(); 1176 } 1177 1178 function handleChoiceChange() { 1179 if (state.captchaVerified) { 1180 revealDependentFields(); 1181 return; 1182 } 1183 if (state.captchaRequested) return; 1184 1185 state.captchaRequested = true; 1186 verifyRecaptcha() 1187 .then(handleRecaptchaSuccess) 1188 .catch(handleRecaptchaFailure); 1189 } 1190 1191 function handleSubmit(e) { 1192 if (honeypot.value) { 1193 e.preventDefault(); 1194 e.stopImmediatePropagation(); 1195 return; 1196 } 1197 if (!state.captchaVerified || !isFormValid(form)) { 1198 e.preventDefault(); 1199 e.stopImmediatePropagation(); 1200 } 1201 } 1202 1203 hideTextbox(); 1204 hideSubmit(); 1205 1206 actualForm.addEventListener('submit', handleSubmit, true); 1207 form.addEventListener('input', updateSubmitState); 1208 form.addEventListener('change', updateSubmitState); 1209 1210 choiceInputs.forEach(input => { 1211 input.addEventListener('change', handleChoiceChange); 1212 }); 1213} 1214 1215initPollForm(pollForm); 1216 1217 </script>
1217 1218 1219
1219<script src="/Static/dist/js/schoolSearch-bundle.js?modified=20260916125522" type="text/javascript"></script>
1219 1220
1220<script type="text/javascript" src="https://dl.episerver.net/13.6.1/epi-util/find.js"></script>
vendor: 2 bytes, line 1220
1220
1221<script type="text/javascript" src="/WebResource.axd?d=TzRGlCddaaqtz0Im2nSJhIb0IyB6K5qGx44f5GIzZbtPSZsE_QKOiPxxMhPjffzJI2xkWQWLjEVnR8xwXgtPL9sk5yLZ-Oq6zxeQffUE2OLd_AQyqdocO4ZqmAuhWpANghQDlVhAbBE1lUFe7qiUMbPyXewQEVAsNdXyb4S2lBY1&t=637066508160000000"></script>
vendor: 2 bytes, line 1221
1221
1222<script type="text/javascript"> 1223if(typeof FindApi === 'function'){var api = new FindApi();api.setApplicationUrl('/');api.setServiceApiBaseUrl('/find_v2/');api.processEventFromCurrentUri();api.bindWindowEvents();api.bindAClickEvent();api.sendBufferedEvents();} 1224</script>
1224 1225 1226 1227 <!-- Google Tag Manager (noscript) --> 1228<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P5XGJ8B" 1229height="0" width="0" style="display:none;visibility:hidden" aria-hidden="true" title="GTM noscript"></iframe></noscript> 1230<!-- End Google Tag Manager (noscript) --> 1231
1231<script type="text/javascript"> 1232 const epiEditMode = false; 1233 if (epiEditMode) { 1234 document.querySelector('html').classList.add('epi-editmode'); 1235 } 1236 </script>
1236 1237 1238
1238<script type="text/javascript"> 1239 function googleTranslateElementInit() { 1240 new google.translate.TranslateElement({ 1241 pageLanguage: 'en', 1242 includedLanguages: 'ar,en,es,pl,tl,uk,ur,vi,zh-CN', 1243 layout: google.translate.TranslateElement.InlineLayout.SIMPLE, 1244 autoDisplay: false 1245 }, 'google_translate_element'); 1246 } 1247 1248 document.addEventListener('DOMContentLoaded', () => { 1249 const customSelects = document.querySelectorAll('.nav-translate-select'); 1250 1251 // 1. Sync custom dropdowns with existing googtrans cookie on page load 1252 function getCookie(name) { 1253 const value = `; ${document.cookie}`; 1254 const parts = value.split(`; ${name}=`); 1255 if (parts.length === 2) return parts.pop().split(';').shift(); 1256 } 1257 1258 const googtrans = getCookie('googtrans'); 1259 if (googtrans) { 1260 const lang = googtrans.split('/').pop(); 1261 customSelects.forEach(select => { 1262 select.value = lang; 1263 }); 1264 } 1265 1266 // 2. Handle change event and trigger Google Translate 1267 customSelects.forEach(select => { 1268 select.addEventListener('change', (e) => { 1269 const targetLang = e.target.value; 1270 1271 customSelects.forEach(s => { 1272 s.value = targetLang; 1273 }); 1274 1275 const googleCombo = document.querySelector('.goog-te-combo'); 1276 if (googleCombo) { 1277 const optionExists = Array.from(googleCombo.options).some(opt => opt.value === targetLang); 1278 if (optionExists) { 1279 googleCombo.value = targetLang; 1280 } else if (targetLang === 'en') { 1281 googleCombo.value = ''; 1282 } 1283 googleCombo.dispatchEvent(new Event('change')); 1284 } else { 1285 // Fallback: If Google Translate script hasn't loaded yet, set the cookie and reload 1286 document.cookie = `googtrans=/en/${targetLang}; path=/; domain=${window.location.hostname}`; 1287 document.cookie = `googtrans=/en/${targetLang}; path=/; domain=.${window.location.hostname}`; 1288 location.reload(); 1289 } 1290 }); 1291 }); 1292 }); 1293 </script>
1293 1294 1295
1295<script> 1296 // Adds a 'click' event to page search results page to force the search to jump to appropriate page 1297 // Code put in place to deal with #400, where click event in search bar randomly stops working 1298 const on = (element, type, selector, handler) => { 1299 element.addEventListener(type, (event) => { 1300 if (event.target.closest(selector)) { 1301 handler(event); 1302 } 1303 }); 1304 }; 1305 1306 window.addEventListener('load', (event) => { 1307 // Not every page renders an autocomplete, so bail out rather than dereferencing 1308 // an empty collection. 1309 if (!document.getElementsByClassName("autocomplete-results").length) return; 1310 1311 on(document, 'click', '.autocomplete-result', (event) => { 1312 if (event.defaultPrevented) return; 1313 location.href = window.location.origin + "/search/?q=" + event.srcElement.parentElement.innerText 1314 }); 1315 }); 1316 1317 </script>
1317 1318 1319 1320 1321 <div id="google_translate_element" style="display: none !important;"></div> 1322
1322<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1322 1323</body> 1324</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.