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 Iowa
Below are the schools that deliver the strongest value in rhetoric & composition, balancing cost against outcomes.
Best Value Rhetoric & Composition Schools
Drake University earned the #1 spot for value among rhetoric & composition schools in Iowa. Located in the city of Des Moines, Drake University is a mid-sized private not-for-profit university. In-state tuition and fees average $51,960. Rhetoric & Composition graduates carry a median of $22,273 in student loans. Soon after graduation, rhetoric & composition degree recipients from Drake University generally make around $56,228. Weighed against typical debt, the earnings make a compelling case for value. Drake University admits about 64% of applicants.