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

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

Skip to main content

Journalism Minor

Undergraduate Program On Campus

What You'll Learn

Thinking about a career as a reporter, editor, or freelance writer? At Calvin, we will sharpen your expertise and expand your vision of what journalism can do.

You can expect to take classes that will hone your craft. Expert professors will guide you to become a clear and precise writer. They'll challenge you to think deeply about this changing field. Beyond writing, you'll have choices, with options including photography, publishing, and documentary film.

You’ll also have many opportunities to gain relevant experience. West Michigan is home to many international publishers where you can find internships. Right on campus, you could write for the beloved student-run newspaper, Chimes.

Bottom line: Calvin will give you the tools to be an effective journalist, helping bring truth, accuracy, and integrity to whatever stories you may tell.

What Makes This Program Great

  • Become a trusted source: Calvin grads have earned the trust of the public, serving on the editorial boards of places like Christianity Today, the New York Times, and the Washington Post.
  • Pair it with anything: A journalism minor combines well with any other major. And pairing with a business or entrepreneurship degree can greatly increase your opportunities in the job market or the gig economy.
  • Be relevant: The journalism minor is built around real-world experience. You may intern at one of Grand Rapids’ many large publishing houses, local businesses, libraries, publications, or nonprofits.
  • Meet and learn: Get involved with Calvin’s Festival of Faith & Writing, which draws writers and thought leaders like Fleming Rutledge, Jemar Tisby, Jen Hatmaker, Kwame Alexander, Jonathan Merritt, and more.
  • Loading...

Faculty

Jennifer L. Holberg

Professor of English, Chair of the English Department, Co-director of the Calvin Center for Faith & Writing