91³Ô¹ÏÍø

Watch CBS News

Exclusive
U.S.

Parents of slain Loyola student Sheridan Gorman call for accountability: "We've got to make changes"

The parents of Sheridan Gorman are speaking out for the first time since their daughter, a Loyola University freshman, was shot and killed in March, allegedly by a man who authorities say entered the U.S. illegally. They are calling for accountability and change.

"I don't care what side of the aisle politically people are on, or is right in the middle like us. This can't happen. We've got to make changes," Jessica Gorman, her mother, told CBS News.

Her father, Thomas, added, "We all should be able to agree about the safety of our kids."

Sheridan was out walking with friends near Chicago's lakefront around 1:30 a.m. on March 19 when a masked man with a gun approached their group. He opened fire, and Sheridan, an 18-year-old from Yorktown, New York, was shot. She died on the spot. 

Investigators said it appears to have been a random shooting. The suspect, Jose Medina, an undocumented immigrant from Venezuela who first entered the U.S. in 2023, was arrested a few days later. 

Records show he had been charged with theft in Chicago in 2023 and released on bond. He did not show up for court, and a warrant was issued for his arrest, but he remained free.

Medina is being held in the Cook County jail with no bond and is facing first-degree murder and other charges. In a statement, Assistant Public Defender Julie Koehler called the case "a tragedy." She said Medina had been shot in the head as a teen and has "the mental capacity of a child."

Asked what accountability would look like, Jessica Gorman said, "I don't think we know yet."

"There's definitely policies that, that contributed to this happening, and we can't save Sheridan," her father said. "But we can't just not do anything."

Watch more of Matt Gutman's interview with Jessica and Thomas Gorman Wednesday on "CBS Mornings" and "CBS Evening News with Tony Dokoupil." 

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=fd53910ecf4604072044ab7c46d9b028'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });