, 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); })(); Student Experience - Computer Science | Âé¶¹Çø

Âé¶¹Çø

Skip to main content

Student Experience

Interested in learning what it's like to study computer science at Calvin, and what your experience as a student will look like? The links below will let you explore different aspects of life as a computer science student at Calvin.

Advising: See what a typical academic course schedule looks like for computer science students. You'll work with your faculty advisor to build a schedule that's right for you.

Facilities: Learn about the lab and research facilities you'll have access to in our program. All of our facilities are designed and built for undergraduate students.

Student organizations: Explore the different student groups associated with the computer science program. The leadership experience you can by participating in these clubs looks great on a résumé.

Internships and jobs: Discover the different types of internships and career opportunities open to computer science students. The job market for computer science graduates tends to be strong, and our graduates are generally successful in finding internships and jobs.

Senior projects: Find out what our senior project teams have achieved over the years.

Scholarships and awards: Browse the many different sources of financial aid available to you.