, but this code // executes before the first paint, when

ÃÛÌÒapp

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Rhetoric Across the Curriculum | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Rhetoric Across the Curriculum

Writing, speaking, and argumentation are integral to a liberal arts education. Effective writing and speaking in academic contexts requires advanced critical thinking and research skills, all of which are best developed throughout the entire college experience and in a variety of disciplinary contexts. At ÃÛÌÒapp, the Rhetoric Across the Curriculum (RAC) Program fosters student engagement with writing, speaking, and information literacy.

Students enter the program through the ÃÛÌÒapp Core curriculum, taking foundational courses in written, oral, and visual rhetoric. These introductory courses teach rhetorical principles such as audience, purpose, genre, and style, which apply across the disciplines and across rhetorical situations. Students continue through the program in their major, taking courses designated by their home department as rhetoric-intensive. In rhetoric-intensive courses, disciplinary content provides the context in which students learn rhetorical practices specific to the discipline from scholars and practitioners in that discipline.

For students, the RAC Program ensures that rhetorical instruction is an integral part of every academic program and that students develop rhetorical skills required to participate in their chosen disciplines and professions. The program supports faculty as they develop assignments and pedagogical practices, teach rhetoric-intensive courses, and gain knowledge about writing and the writing process.

Please contact Kristine Johnson, University Rhetoric Director, to learn more about Rhetoric Across the Curriculum or to discuss how we might assist you and your students.

The Rhetoric Center website provides resources for student and faculty.