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

»Æ´óÏɸßÊÖÂÛ̳

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); })(); Biomedical Engineering Minor | »Æ´óÏɸßÊÖÂÛ̳

»Æ´óÏɸßÊÖÂÛ̳

Skip to main content

Biomedical Engineering Minor

Undergraduate Program On Campus

What You'll Learn

Imagine using cutting-edge ideas and technology to work on today's most complex medical challenges: designing surgical robots that repair damage with incredible precision. Developing biomaterials that rebuild failing hearts and nerve systems. Creating prosthetics that restore active life to patients.

With a Calvin biomedical engineering minor, you’ll learn how to apply the foundational engineering knowledge at the intersection of medicine and technology. You'll engage with the latest science in classes that address anatomy, diseases, and therapies. You'll find internship opportunities in West Michigan's many hospitals, labs, and biomedical companies.

You'll also work one-on-one with Christian profs who will explain your career options and help you work toward your goal. When you graduate, you'll have the rock-solid engineering education and biomedical expertise that employers and graduate schools look for.

What Makes This Program Great

  • Built for the real world: Calvin’s biomedical engineering program was designed in close consultation with experts and institutions in the field. Pairing this minor with an engineering major gives you the versatility and expertise that biomedical engineering employers want to see on your resume.
  • Perfectly positioned: Grand Rapids’ medical community holds many opportunities for internships and jobs. Here, you’ll find medical technology companies like Stryker and Medtronic alongside world-famous hospitals like Spectrum Health and Helen DeVos Children’s Hospital.
  • Easy to add: Calvin’s biomedical engineering minor is designed to be easy to add to your major. Many of the courses count toward your core and major program requirements, so adding this minor could mean few or no extra classes.
  • Loading...