麻豆原创

MU logo
MU logo

Multicultural Affairs – International Students CPT Training

Office of Multicultural Affairs logoCurricular Practical Training (CPT)

Curricular Practical Training (CPT) is defined by the U.S. Government as employment that is an integral partof the established curriculum (at that particular institution)…alternative workstudy, internship, cooperative education (co-op) or any other type of required internship or practicum that is offered by sponsoring employers through cooperative agreements with the school. Sponsored employment is monitored through the student’s academic department throught the academic advisor and/or department head.

Two conditions must be met to qualify for CPT:

  1. The proposed employment is required for all students for the completion of their specific academic program.
  2. The proposed employment is required for a particular course within the program of study from which the students will choose. The course should appear on a student’s transcript with credits counting towards graduation. The course should be listed in the course catalog. There should be a description of the course that clearly delineates course objectives.
students inside a building posing for a picture in front of a painted tree
Subtle_Texture

Eligibility Requirements

Employment must be an integral part of the course of study as defined above

  • Student must enroll in credit-bearing course during semester in which employment is secured
  • Employment must be directly related to student’s major area of study
  • Must be lawfully enrolled on a full-time basis for at least one academic year (24 credits)
  • Student must be maintaining lawful F-1 status
  • Student must maintain full course of study during CPT
  • Participation in CPT must not delay completion of academic program
  • Student should have written offer of employment from prospective employer prior to application
  • Students can work either part-time or full-time (full time option may affect ability to secure OPT)

Part-time CPT-defined as employment for 20 hours/week or less (authorized any term)

Full-time CPT-defined as employment for more than 20 hours/week (authorized fall or spring only)
(Authorization for 12 months or more of full-time CPT makes student OPT ineligible at the undergraduate level)

A new CPT endorsement on I-20 form is required for student to begin work with different employer, in new position or different number of hours per week.

Getting an Internship

Subtle_Texture

Connect with Multicultural Affairs

exists --- (function ensure40pxInlineEarly() { function set40(el) { el && el.style.setProperty('padding-top', '40px', 'important'); } // If header already parsed, set now; otherwise set as soon as it appears. const hdrNow = document.getElementById(HEADER_ID); if (hdrNow) { set40(hdrNow); return; } new MutationObserver((muts, obs) => { const hdr = document.getElementById(HEADER_ID); if (hdr) { set40(hdr); obs.disconnect(); } }).observe(document.documentElement, { childList: true, subtree: true }); })(); // --- Helpers --- function hideDiviBars() { document.querySelectorAll('.divibars-container').forEach(div => { const content = (div.textContent || '').replace(/\u00A0/g, ' ').trim(); const shouldHide = !content || /all\s*clear/i.test(content) || /test/i.test(content) || /feed\s*has\s*no\s*items\.?/i.test(content); if (shouldHide) div.style.setProperty('display', 'none', 'important'); }); } function isEffectivelyVisible(el) { if (!el || !el.isConnected) return false; const target = el.querySelector('.divibars, .divibars-wrapper, .divibars-content') || el; const cs = getComputedStyle(target); if (cs.display === 'none' || cs.visibility === 'hidden' || target.hidden) return false; if (parseFloat(cs.opacity || '1') < 0.05) return false; if (target.closest('[aria-hidden="true"]')) return false; const rect = target.getBoundingClientRect(); const hasSize = (rect.width > 0 && rect.height > 0) || (target.offsetWidth > 0 && target.offsetHeight > 0); if (!hasSize) return false; const vh = window.innerHeight || document.documentElement.clientHeight; return rect.bottom > 0 && rect.top < vh; } function anyRealBannerVisible() { // A 鈥渞eal鈥 banner = visible AND not empty/test/all-clear/feed-empty return Array.from(document.querySelectorAll(CANDS)).some(el => { if (!isEffectivelyVisible(el)) return false; const txt = (el.textContent || '').replace(/\u00A0/g, ' ').trim(); if (!txt) return false; if (/all\s*clear/i.test(txt) || /test/i.test(txt) || /feed\s*has\s*no\s*items\.?/i.test(txt)) return false; return true; }); } function setForce110(on) { const root = document.documentElement; const was = root.classList.contains('divibar-force-110'); if (!!on === was) return; root.classList.add('divibar-atomic'); root.classList.toggle('divibar-force-110', !!on); // If we鈥檙e NOT forcing 110, clear any stray inline 110 the plugin may add later. if (!on) { const hdr = document.getElementById(HEADER_ID); if (hdr) hdr.style.setProperty('padding-top', '40px', 'important'); } requestAnimationFrame(() => root.classList.remove('divibar-atomic')); } // Debounced 2-frame confirmation to avoid flicker during animations let raf1 = null, raf2 = null; function scheduleRecompute() { if (raf1) return; raf1 = requestAnimationFrame(() => { raf1 = null; hideDiviBars(); const a = anyRealBannerVisible(); raf2 = requestAnimationFrame(() => { raf2 = null; const b = anyRealBannerVisible(); setForce110(a && b); }); }); } // --- Wiring --- document.addEventListener('DOMContentLoaded', scheduleRecompute); window.addEventListener('load', scheduleRecompute); window.addEventListener('resize', () => { cancelAnimationFrame(raf1); raf1 = null; cancelAnimationFrame(raf2); raf2 = null; scheduleRecompute(); }); new MutationObserver(() => scheduleRecompute()).observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class', 'aria-hidden'] }); document.addEventListener('transitionend', e => { if (e.target && e.target.closest(CANDS)) scheduleRecompute(); }); document.addEventListener('animationend', e => { if (e.target && e.target.closest(CANDS)) scheduleRecompute(); }); document.addEventListener('click', function (e) { const btn = e.target && e.target.closest('.divibars-close'); if (!btn) return; setTimeout(() => { const bar = btn.closest('.divibars-container, [class*="divibar"]'); if (bar) bar.style.setProperty('display', 'none', 'important'); scheduleRecompute(); }, 200); }, true); // Initial pass scheduleRecompute(); })();