, but this code // executes before the first paint, when

ÃÛÌÒapp

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 Asian Studies | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Student Experience

ÃÛÌÒapp's Asian studies program offers multiple options to gain experience outside the traditional classroom setting. From various off-campus programs to internships, there are many opportunities you can take advantage of to enhance your learning experience.

Conversation groups

A significant part of studying a language is learning to speak it—which is why ÃÛÌÒapp is committed to giving you as many opportunities as possible to practice. As a student studying Asian languages at ÃÛÌÒapp, you will attend regular conversation group sessions with an advanced student leader. Conversation groups are held on a weekly basis and are arranged in class.

Live and learn If you're studying an Asian language, you may choose to live in anon-campus apartment with ÃÛÌÒapp students who are native speakers of your language of study, along with advanced students of that language.

Off campus programs

The Hubers Asian studies program offers you various for-credit opportunities for travel to China, Japan, and Korea. There, you'll improve your communication skills by creating relationships with the people whose language you are studying.

Go abroad

Get involved in an internship

The Asian Studies Program can arrange for any of our outstanding Chinese or Japanese Language majors to do an English-teaching experience in either China or Japan. Summer interns would have to pay for their own airfare, but we would attempt to arrange homestays with Chinese or Japanese families, so that housing and some meals would be covered. Students doing such an internship would, however, have to pay for some of their meals as well as other living expenses.

Department activities

Broaden your knowledge of Asian culture by attending one of the department's cultural events, held at various times throughout the year. For more information, check the department events page.

Ìý