DEBUG: Raw major_slug = ""
DEBUG: Initial offers_url = "https://www.collegefactual.com/majors/english-language-literature/writing-studies/rhetoric-and-composition/offers.json", major_slug = ""
DEBUG: After cleaning major_slug = ""
DEBUG: Before URL cleaning = "https://www.collegefactual.com/majors/english-language-literature/writing-studies/rhetoric-and-composition/offers.json"
DEBUG: After TrimSuffix = "https://www.collegefactual.com/majors/english-language-literature/writing-studies/rhetoric-and-composition/offers.json"
DEBUG: After HTTPS placeholder = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/english-language-literature/writing-studies/rhetoric-and-composition/offers.json"
DEBUG: After slash cleaning = "HTTPS_TEMP_PLACEHOLDERwww.collegefactual.com/majors/english-language-literature/writing-studies/rhetoric-and-composition/offers.json"
DEBUG: After URL cleaning = "https://www.collegefactual.com/majors/english-language-literature/writing-studies/rhetoric-and-composition/offers.json"
DEBUG: offers_url = https://www.collegefactual.com/majors/english-language-literature/writing-studies/rhetoric-and-composition/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 = 23.13), keeping min_relevance at 0.8
DEBUG: Starting relevance filtering - min_relevance = 0.8, max_relevance = 1
DEBUG: Checking offer "English (I Have a HS Diploma or Associate Degree)" with relevance 0.7
DEBUG: ✗ Offer "English (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.7)
DEBUG: Checking offer "English (I Have a Bachelors)" with relevance 0.7
DEBUG: ✗ Offer "English (I Have a Bachelors)" REJECTED (relevance 0.7)
DEBUG: Checking offer "Professional Writing (I Have a HS Diploma or Associate Degree)" with relevance 0.7
DEBUG: ✗ Offer "Professional Writing (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.7)
DEBUG: Checking offer "English (I Have a HS Diploma or Associate Degree)" with relevance 0.5
DEBUG: ✗ Offer "English (I Have a HS Diploma or Associate Degree)" REJECTED (relevance 0.5)
DEBUG: Checking offer "Reading & Literacy (I Have a Masters)" with relevance 0.5
DEBUG: ✗ Offer "Reading & Literacy (I Have a Masters)" REJECTED (relevance 0.5)
DEBUG: Checking offer "Reading & Literacy (I Have a Masters)" with relevance 0.5
DEBUG: ✗ Offer "Reading & Literacy (I Have a Masters)" REJECTED (relevance 0.5)
DEBUG: Checking offer "Reading & Literacy (I Have a Bachelors)" with relevance 0.5
DEBUG: ✗ Offer "Reading & Literacy (I Have a Bachelors)" REJECTED (relevance 0.5)
DEBUG: Checking offer "Reading & Literacy (I Have a Masters)" with relevance 0.5
DEBUG: ✗ Offer "Reading & Literacy (I Have a Masters)" REJECTED (relevance 0.5)
DEBUG: relevant_offers count = 0
DEBUG: No relevant offers, showing generic ESYOH widget
2026 Best Value Rhetoric & Composition Schools in Tennessee
Below are the schools that deliver the strongest value in rhetoric & composition, balancing cost against outcomes.
Best Value Rhetoric & Composition Schools
East Tennessee State University tops our 2026 list of the best value rhetoric & composition schools in Tennessee. Set in the city of Johnson City, East Tennessee State University is a large public institution. Students from in state pay about $10,216 in tuition and fees, compared with $13,726 for out-of-state students. Students borrow a median of $21,301 to complete the rhetoric & composition program here. Rhetoric & Composition graduates of East Tennessee State University earn a median of $45,444 early in their careers. Weighed against typical debt, the earnings make a compelling case for value. The acceptance rate is 86%.