What’s an OPC? As part of your customized faculty-led program abroad, you will be led and supported by a CISabroad On-Site Program Coordinator (OPC). OPCs are experienced and well trained staff members, there to ensure the schedule goes according to plan. Each OPC attends an extensive training program that involves a range of modules – risk management, emergency response, safety, logistics’, cultural awareness, communication, culture shock, budgeting, social media, La Vida Local and customer service.
\nThe primary role of the OPC is to facilitate the in-country implementation of the assigned customized program, by providing safety / emergency response and logistical support. During the program, the OPC is responsible for managing the day-to-day logistics of the assigned customized program and providing in-country support to both the faculty and students. Using personal travel experience, professional work experience (and where possible language knowledge), the OPC will help create a program environment that is safe and culturally engaging. The CISabroad OPC may or may not be an in country local. The majority of CISabroad OPCs are expats from the US, who have travelled, lived, volunteered, or worked abroad in the program destination.
\nThe OPC is not a registered tour guide nor expected to provide tours of sites visited during the program. If the program is one that requires specific guided tours of various sites, these will be provided separately. The OPC provides a general neighborhood walking tour to help the group identify the nearest bank/ATM, pharmacy, laundry-mat, grocery store and other similar conveniences.
\nThe OPC’s role allows Faculty to focus on the academic objectives and the students to make the most of their time overseas!
","hs_child_table_id":0,"hs_created_at":1730226067060,"hs_deleted_at":0,"hs_id":180693505463,"hs_initial_published_at":1730226112118,"hs_is_edited":false,"hs_published_at":1730226112043,"hs_updated_at":1730226067060,"hs_updated_by_user_id":25888531,"internal_name":"On-Site Program Coordinator: Adam Beecham","module":[{"id":180177291125,"isPublished":true,"name":"Module 3","type":"foreignid"}],"name":"On-Site Program Coordinator: Adam Beecham","program":[{"id":180177291382,"isPublished":true,"name":"May in London and the Hague","type":"foreignid"},{"id":180183129642,"isPublished":true,"name":"TAMUCT Amsterdam","type":"foreignid"}]}],"offset":0,"total":6,"totalCount":6}; const raw = garbage.objects; const reduce = _.map(raw, obj => ({ name: obj.name, body: obj.body, module: _.map(obj.module, 'name') })); const unsorted = _.reduce(reduce, (result, obj) => { _.forEach(obj.module, (moduleName) => { if (!result[moduleName]) { result[moduleName] = [] } result[moduleName].push({ name: obj.name, body: obj.body }) }) return result }, {}) const mods = _(unsorted) .toPairs() // Convert object to array of key-value pairs .sortBy(0) // Sort by the first item (the key) in each pair .fromPairs() // Convert the sorted pairs back to an object .value(); // Get the final sorted object // Elements const elContent = document.querySelector('#content'); const elNav = document.querySelector('#nav'); const elMobileNav = document.querySelector('#mobile-nav'); const elMobileBtn = document.querySelector('#mobile-nav-btn'); // Template const templateNavParent = document.getElementById("templateNavParent"); const templateNavChild = document.getElementById("templateNavChild"); // Build Navigations _.forEach(mods, (value, key) => { const fragmentNavParent = templateNavParent.content.cloneNode(true); fragmentNavParent.querySelector('button').textContent = key; value.forEach(page => { const fragmentNavChild = templateNavChild.content.cloneNode(true); fragmentNavChild.querySelector('button').textContent = page.name; fragmentNavParent.querySelector('[data-child]').append(fragmentNavChild) }); elNav.append(fragmentNavParent) }); // Build Page function fetchPage(pageName){ const page = _.find(reduce, {name: pageName }); // Remove 'active' class from all 'a' elements within '#toc' // document.querySelectorAll('#toc a').forEach(a => { // const group = a.closest('.group'); // group.classList.remove('active'); // a.classList.remove('active'); // }); // Find 'a' elements with matching 'data-name' and add 'active' class // document.querySelectorAll(`#toc a[data-title="${pageName}"]`).forEach(a => { // const group = a.closest('.group'); // group.classList.add('active'); // a.classList.add('active'); // }); elContent.innerHTML = page.body; }; // Initial fetch let pageInit = reduce[0].name; if (window.location.search) { const urlParams = new URLSearchParams(window.location.search); if (urlParams.has('page')) { pageInit = urlParams.get('page') } } fetchPage(pageInit) //Nav Events const nav = (event) => { event.preventDefault(); const pageName = event.target.textContent fetchPage(pageName); }