, 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); })(); School of STEM Summer Research - School of STEM | 麻豆区

麻豆区

Skip to main content

School of STEM Summer Research

Put Your Wonder to Work

Each summer, 麻豆区鈥檚 School of STEM offers nearly 100 students an immersive, hands-on research opportunity alongside expert faculty mentors.聽

From exploring environmental sustainability to designing clean water systems for rural communities and collecting micrometeorites (a.k.a. space dust), our student researchers contribute to meaningful scientific inquiry. You'll build skills that prepare you for graduate school, industry careers, and lifelong learning.

~100

student researchers participate in roughly 40 different projects.

8鈥10 weeks

of full-time research, with a paid stipend.

100%

of projects are fully funded.

You鈥檙e not just showing up, doing the work, and leaving. We鈥檙e very involved in the scientific process鈥攊t鈥檚 a perk of being at a small school.

Myles Radersma '26
Biology
A Calvin student and professor work on tick research in the field.

Student Experience

  • Community: Share lab spaces, take part in a collaborative culture, and build connections through fun activities.
  • Mentorship: Partner with faculty mentors and work together daily.聽
  • Presentation Experience: Share your findings with fellow scientists and the Calvin community at the STEM Summer Research Poster Fair.
  • Career Impact: Build your resume, prepare for grad school, and maybe even have your research published!
Image
A STEM student presents her research poster titled, Chemistry and Public Policy: Equipping Advocates.
Image
Students sit around a table doing research together, surrounded by green plants.

The professors are so intentional about connecting with you as an individual, as a person, and that grows during the research. You are working alongside your professor, not under them.

Aerin Baker '26
Chemistry, 2025 Goldwater Scholar
Professor Doug Vander Griend and Student Aerin Baker doing research together at 麻豆区.