, 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); })(); Registrar's Office | app

app

Skip to main content

Registrar's Office

We are committed to supporting your academic journey. Our team maintains your educational records and transcripts, facilitates course registration and scheduling, provides official education verifications, and ensures you meet the requirements for graduation. We're here to help you every step of the way.

Request a Transcript

Transfer Information

Important Dates & Announcements

Sept. 9 – Last day to add full semester or first half course

Sept. 12 – Last day to drop full sem. or first half course without a “W” on transcript and receive 100% refund

Oct. 4 – Last day to withdraw (W) first half course, or switch credit to audit

Nov. 1 – Last day to add or drop a second half course

Nov. 15 – Last day to withdraw (W) full sem. course, or switch credit to audit

Dec. 2 – Last day to withdraw (W) second half course, or switch credit to audit


Top Resources

Academic Calendar

Find the start and end dates of terms. Deadlines for adding and dropping classes, and dates for advising recess and school breaks.

Catalog

Browse the current and archived course catalogs. PDF copies are available. If you have any trouble finding a catalog, please contact the Registrar's Office.

Core Curriculum

Find a complete list of courses that can satisfy the different sections of the Core Curriculum

Transfer Information

Find out more about transferring to app or transferring credits into app (AP/IB, external universities)

Student Resources

Class schedules, registration, transcripts, grades, degree applications and more.

Faculty & Staff Resources

Rosters, Moodle courses, advising materials, grading, course enrollments, etc.