Using a Discourse-Community-Knowledge Framework to Design Writing Assignments