, 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); })(); Teaching as a Christian Practice | Â鶹Çø

Â鶹Çø

Skip to main content

Teaching as a Christian Practice

Continuing Studies Program

What You'll Learn

Teaching as a Christian Practice can be taken as an in–person workshop or 2-credit graduate class designed for Christian educators eager to strengthen and deepen their understanding of how Christian faith is truly able to affect everyday classroom practices and instruction.  It takes place onsite at Grand Rapids Christian Schools.

Teaching as Christian Practice

June 16–19, 2025

Hurry! Registration is limited to 30 and closes June 6!

Teaching as a Christian Practice is led by David I. Smith, a highly regarded and in-demand worldwide conference speaker and workshop leader in Christian education. He is a professor of education at Calvin, and Director of the Kuyers Institute for Christian Teaching and Learning. Professor Smith began his career teaching French, German, and Russian in public secondary schools in the United Kingdom, where he became fascinated by the question of how our beliefs, values, and commitments can shape and guide our approaches to teaching and learning. After graduate work in philosophical theology, philosophy of education, and curriculum studies, he moved to Calvin. He serves as Editor of the International Journal of Christianity and Education and is regularly involved nationally and internationally in professional development for schools, colleges, and universities, especially focusing on the connection between faith and teaching. Find out more at:

Other Opportunities

Interested in other professional development opportunities offered by Â鶹Çø?

Faculty

David I. Smith

Professor | Director, Kuyers Institute for Christian Teaching and Learning | Coordinator, De Vries Institute for Global Faculty Development