DEBUG: Raw major_slug = ""
DEBUG: Initial offers_url = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/offers.json", major_slug = ""
DEBUG: After cleaning major_slug = ""
DEBUG: Before URL cleaning = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/offers.json"
DEBUG: After TrimSuffix = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/offers.json"
DEBUG: After HTTPS placeholder = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/protective-security-safety-services/homeland-security/offers.json"
DEBUG: After slash cleaning = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/protective-security-safety-services/homeland-security/offers.json"
DEBUG: After URL cleaning = "https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/offers.json"
DEBUG: offers_url = https://www.collegefactual.com/majors/protective-security-safety-services/homeland-security/offers.json
DEBUG: major_slug = ""
DEBUG: offers_url is valid, proceeding to fetch data
DEBUG: offers_data.offers found, count = 8
DEBUG: Specific major detected (cip4 = 43.03), keeping min_relevance at 0.8
DEBUG: Starting relevance filtering - min_relevance = 0.8, max_relevance = 1
DEBUG: Checking offer "Homeland Security (I Have a HS Diploma or Associate Degree)" with relevance 1
DEBUG: ✓ Offer "Homeland Security (I Have a HS Diploma or Associate Degree)" ACCEPTED (relevance 1)
DEBUG: Checking offer "Grad Cert - Homeland Security (I Have a Bachelors)" with relevance 1
DEBUG: ✓ Offer "Grad Cert - Homeland Security (I Have a Bachelors)" ACCEPTED (relevance 1)
DEBUG: Checking offer "Homeland Security (I Have a Bachelors)" with relevance 1
DEBUG: ✓ Offer "Homeland Security (I Have a Bachelors)" ACCEPTED (relevance 1)
DEBUG: Checking offer "BS in Criminal Justice - Homeland Security & Counterterrorism" with relevance 1
DEBUG: ✓ Offer "BS in Criminal Justice - Homeland Security & Counterterrorism" ACCEPTED (relevance 1)
DEBUG: Checking offer "MS in Criminal Justice - Advanced Counterterrorism" with relevance 1
DEBUG: ✓ Offer "MS in Criminal Justice - Advanced Counterterrorism" ACCEPTED (relevance 1)
DEBUG: Checking offer "Emergency Management (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✗ Offer "Emergency Management (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Emergency Management (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: Checking offer "Emergency Management (I Have a Bachelors)" with relevance 0.6
DEBUG: ✗ Offer "Emergency Management (I Have a Bachelors)" REJECTED (relevance 0.6)
DEBUG: relevant_offers count = 5
DEBUG: relevant_offers > 0, checking for ESYOH offers
DEBUG: ESYOH filtering - found 3 ESYOH offers with relevance >= 0.8
DEBUG: esyoh_offers count = 3
DEBUG: ESYOH offers found, rendering ESYOH widget
DEBUG: most_relevant_only = true, filtering for most relevant
DEBUG: Found 3 offers with relevance >= 1.0
2026 Best Value Homeland Security Schools in West Virginia
If you want to know which schools deliver the best value for the homeland security degrees they offer, see the list below.
Best Value Homeland Security Schools
American Public University System tops our 2026 list of the best value homeland security schools in West Virginia. American Public University System is a very large private for-profit school located in the town of Charles Town. Students from in state pay about $8,400 in tuition and fees. Homeland Security graduates carry a median of $16,339 in student loans. Homeland Security graduates of American Public University System earn a median of $69,808 early in their careers. Weighed against typical debt, the earnings make a compelling case for value.