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

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

Skip to main content

Digital Communication Major

Undergraduate Program On Campus

What You'll Learn

As a digital communication major, you've signed up for one of the most unique programs on campus. You'll learn from some of Calvin's most sought-after departments—and you'll bring all your learning together to create something new.

You'll take computer courses that go way beyond the surface; be challenged and inspired to launch the mobile app you coded or design a website that you’re proud of.

You'll also learn from experienced art faculty who are as comfortable with Adobe Illustrator as they are with a paintbrush. You'll discover how timeless approaches to art can find new life in the digital world.

And you'll take courses that break storytelling down to its most basic parts. You'll learn every nuance of how people and organizations interact in an always-online world.

You'll take those three powerful ingredients and mix them into something that's unique to you. Whether your passion lies with graphic design, data analysis, social media, or something else, you'll chart a course to your goals with the help of expert Christian professors.

What Makes This Program Great

  • An interdisciplinary program: Take courses in communication, computer science, and the arts. Gain a versatile set of writing, design, and technical skills.
  • Adaptability: Learn how to be flexible in new situations. Calvin's digital communication major will prepare you for anything in a changing job market.
  • A practical advantage: More and more organizations use digital media to promote their brand and reach their audience. Adding this major will give you a competitive advantage in any field.
  • Loading...

Faculty

Garth Pauley

Professor
2011–present: Professor, Department of Communication, »Æ´óÏɸßÊÖÂÛ̳2005–2011: Associate Professor, Department of Communication, Calvin College1998–2005: Assistant Professor, Department of