DEBUG: Raw major_slug = ""
DEBUG: Initial offers_url = "https://www.collegefactual.com/majors/history/offers.json", major_slug = ""
DEBUG: After cleaning major_slug = ""
DEBUG: Before URL cleaning = "https://www.collegefactual.com/majors/history/offers.json"
DEBUG: After TrimSuffix = "https://www.collegefactual.com/majors/history/offers.json"
DEBUG: After HTTPS placeholder = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/history/offers.json"
DEBUG: After slash cleaning = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/history/offers.json"
DEBUG: After URL cleaning = "https://www.collegefactual.com/majors/history/offers.json"
DEBUG: offers_url = https://www.collegefactual.com/majors/history/offers.json
DEBUG: major_slug = ""
DEBUG: offers_url is valid, proceeding to fetch data
DEBUG: offers_data.offers found, count = 5
DEBUG: ROOT LEVEL MAJOR detected (no cip4), lowering min_relevance to 0.5
DEBUG: Starting relevance filtering - min_relevance = 0.5, max_relevance = 1
DEBUG: Checking offer "History (I Have a HS Diploma or Associate Degree)" with relevance 1
DEBUG: ✓ Offer "History (I Have a HS Diploma or Associate Degree)" ACCEPTED (relevance 1)
DEBUG: Checking offer "History (I Have a Bachelors)" with relevance 1
DEBUG: ✓ Offer "History (I Have a Bachelors)" ACCEPTED (relevance 1)
DEBUG: Checking offer "BA in History" with relevance 1
DEBUG: ✓ Offer "BA in History" ACCEPTED (relevance 1)
DEBUG: Checking offer "MA in History" with relevance 1
DEBUG: ✓ Offer "MA in History" ACCEPTED (relevance 1)
DEBUG: Checking offer "History (I Have a HS Diploma or Associate Degree)" with relevance 0.6
DEBUG: ✓ Offer "History (I Have a HS Diploma or Associate Degree)" ACCEPTED (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.5
DEBUG: esyoh_offers count = 3
DEBUG: ESYOH offers found, rendering ESYOH widget
DEBUG: most_relevant_only = true, filtering for most relevant
DEBUG: Found 2 offers with relevance >= 1.0
2026 Best Value History Schools in South Dakota
Below are the schools that deliver the strongest value in history, balancing cost against outcomes.
Best Value History Schools
For return on investment in history, no school beat South Dakota State University this year. Set in the town of Brookings, South Dakota State University is a large public institution. The average in-state cost of tuition and fees is $9,299, compared with $12,809 for out-of-state students. History graduates carry a median of $26,977 in student loans. Early-career history graduates make about $33,135. That is a strong return on a $26,977 median debt. Roughly 98% of applicants are accepted.
A rank of #2 makes University Of South Dakota one of the best values for history. University Of South Dakota is a large public school located in the town of Vermillion. The average in-state cost of tuition and fees is $9,432, compared with $12,942 for out-of-state students. Students borrow a median of $27,000 to complete the history program here. Early-career history graduates make about $28,431. Weighed against typical debt, the earnings make a compelling case for value. Roughly 99% of applicants are accepted.