, 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); })(); International Relations Major, Minor | °ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ

°ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ

Skip to main content

International Relations Major, Minor

Undergraduate Program On Campus

What You'll Learn

Study political systems and interactions across the globe while developing a range of related skills.

As you pursue an international relations degree, you'll explore the theory and practice of global politics. You'll gain the skills and knowledge to advocate for human rights and resolve conflicts from a Christian perspective. Whether at home or abroad, you'll be well prepared for a career in fields ranging from diplomacy, international law, and international business, to non-profit humanitarian work.

What Makes This Program Great

  • Practical learning: 90% of Calvin students have an internship experience before they graduate. As you pursue your political science major, you might intern at a government office, courtoom, law firm, advocacy group, or NGO.
  • Expert teaching: You'll learn from faculty who have expert knowledge in their fields, and you'll have opportunity to engage closely with your professors and peers.
  • Learn abroad: With several faculty-led study abroad programs, you'll have plenty of opportunities to study off-campus in places like Washington D.C., Ghana, and Hungary.
  • Loading...
  • Loading...

Faculty

Joel H. Westra

Department Chair, Professor, Director, Pre-Law Program
Professor of Politics (2024–present)Associate Professor of Politics, °ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ (2012–2024)Assistant Professor of Politics, °ÄÃÅÁùºÏ²Ê¿ª½±¼Ç¼×ÊÁÏ (2007–12)Post-Doctoral Fellow, John G. Tower Center