91³Ô¹ÏÍø

Watch CBS News

Robert Mueller to help teach course on Russia investigation at University of Virginia

Washington — Former special counsel Robert Mueller will participate in a course on his investigation into Russian meddling in the 2016 presidential election taught at the University of Virginia School of Law in the fall, the university Wednesday.

The six-session class, "The Mueller Report and the Role of the Special Counsel," will be taught by three members of Mueller's team: Jim Quarles, his senior counsel; Andrew Goldstein, senior assistant special counsel; and Aaron Zebley, deputy special counsel. Mueller is expected to lead at least one class, and other prosecutors involved in the probe may participate as guest speakers, the Charlottesville, Virginia-based school said.

The course will begin with the launch of the investigation into Russian interference, which was first handled by the FBI and then taken over by Mueller with his appointment as special counsel in May 2017, and include the use of public records to examine "why some paths were taken and not others," Zebley told the school. 

It will also "focus on a key set of decisions" made during the investigation.

"Other sessions will focus on navigating the relationship with the Justice Department and Congress, investigative actions relating to the White House and the importance of the Roger Stone prosecution. The final sessions will focus on obstruction of justice, presidential accountability and the role of special counsel in that accountability," the University of Virginia said.

Mueller, who served as director of the FBI for 12 years, delivered his long-awaited report on the investigation to then-Attorney General William Barr in March 2019, marking the official end of the 22-month effort that led to charges against 34 people and three businesses. In addition to detailing Russia's efforts to influence the presidential contest between former President Donald Trump and Hillary Clinton, it also detailed 10 instances in which Mr. Trump may have obstructed justice during the probe. 

Mueller and his team, however, did not reach a conclusion as to whether the former president did obstruct justice. They did say the report did not "exonerate" Mr. Trump, who claimed the investigation was a "witch hunt" designed to undermine his presidency.

Mueller testified before two House committees in the summer of 2019, but has largely remained out of public view since then. He, Zebley and Quarles returned to the Washington, D.C., law firm WilmerHale after the investigation concluded.

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(); } }); }); }); });