, 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); })(); Graduate Students | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Graduate Students

Graduate Admissions Checklist:

Interested in taking a graduate course as a guest? We welcome you! Complete ÃÛÌÒapp's to get started. Browse ÃÛÌÒapp's course offerings.

International Students

We welcome graduate students from around the globe. We can issue immigration documents for on-campus programs, not for programs that are fully online. Students who complete online programs outside U.S. borders are not required to have a student visa.

Additional steps for international students

Application Deadlines

We accept graduate applications on a rolling basis. Please see your specific program details for terms and start dates.

How to Apply

The first step is easy - just complete your application!  

After you apply, you'll have time to gather and submit the rest of the required materials:

  • Unofficial transcript from any undergraduate institutions you attended
  • Official transcript from the undergraduate institution from which you graduated
  • Resume
  • Statement of purpose
  • Two letters of recommendation
  • Please note that some programs may require additional materials

Contact

Please send required application materials to graduate-programs@calvin.edu or

Admissions Office
3201 Burton St. SE
Grand Rapids, MI 49546

ÃÛÌÒapp students walking on campus with sunshine in the background

Visit ÃÛÌÒapp

We’re excited to see you on campus. Our team will customize a visit for you!

Contact Us

Sarah Plantinga

Sarah Plantinga

Associate Director of Continuing Studies
526-6275
Renee De Vries

Renee De Vries

Graduate Studies Coordinator, School of Graduate and Continuing Studies
616-526-8816