CSC/ECE 517 Fall 2013/final E911 rmsa
E722 - A module to take reports from students on results of interactions with helpers from other groups.
Description
Interaction feature allows students to enter information about their interaction with other students when they worked on projects. So this information helps the instructors of the course and TAs of that course to assign extra credit based n how well they interacted with each other and how well did one help its colleagues with their questions in the project.
The views and corresponding code help
When you login as an instructor, you can view the questionnaires. The questionnaire listing will have a questionnaire named Interaction Review.
Creating an interaction review
You can then add a public or private Interaction Review. While creating interaction review you must add questions that you wish to be added in the questionnaire and mention their scores and their weight.
Editing an interaction review
After creating the interaction review, you can see it by clicking on Questionnaires --> Interaction Review
You can then edit advice for each of the questions that you added in the Interaction Review Questionnaire.
Editing an assignment to assign weight and score cap for Interaction Review
After creating the interaction review and its questions and advice, it is now necessary to set a score cap and extra credit percentage for the interaction review for that assignment.
Set a score cap and extra credit percentage for the interaction review for that assignment:
Files involved in interaction review feature:
- db/migrate/create_questionnaire_folder_nodes.rb
# Add code in self.up Node.find(:all, :conditions => ['type in ("QuestionnaireTypeNode","QuestionnaireNode")']).each{ | node | node.destroy } parent = TreeFolder.find_by_name("Questionnaires") pNode = FolderNode.find_by_node_object_id(parent.id) fnode = TreeFolder.create(:name => 'Interaction Review', :child_type => 'QuestionnaireNode') pfNode = FolderNode.create(:parent_id => pNode.id, :node_object_id => fnode.id) InteractionReviewQuestionnaire.find(:all).each{ | questionnaire | QuestionnaireNode.create(:parent_id => pfNode.id, :node_object_id => questionnaire.id) }
- db/migrate/update_questionnaire_menus.rb
# Add code in self.up interaction_review_rubrics_action = ControllerAction.find_or_create_by_name('goto_interactionreview_rubrics') interaction_review_rubrics_action.site_controller_id = site_controller.id interaction_review_rubrics_action.save MenuItem.create(:name => 'manage/questionnaires/interaction review rubrics', :label => 'Interaction review rubrics', :parent_id => item.id, :seq => 8, :controller_action_id => interaction_review_rubrics_action.id)
- app/views/assignments/edit/_rubrics.html.erb
# Add code in jQuery(document).ready(function () {} addQuestionnaireTableRow( 'InteractionReviewQuestionnaire', <%= questionnaire(@assignment, 'InteractionReviewQuestionnaire').to_json.html_safe %>.interaction_review_questionnaire, <%= assignment_questionnaire(@assignment, 'InteractionReviewQuestionnaire').to_json.html_safe %>.assignment_questionnaire, <%= questionnaire_options(@assignment, 'InteractionReviewQuestionnaire').to_json.html_safe %> );
- app/controllers/tree_display_controller.rb
def goto_interactionreview_rubrics node_object = TreeFolder.find_by_name('Interaction Review') session[:root] = FolderNode.find_by_node_object_id(node_object.id).id redirect_to :controller => 'tree_display', :action => 'list' end
- menu_items - Add interaction review rubrics with the name /manage/questionnaires/goto interactionreview rubrics
- nodes - Insert the QuestionnateNode and FolderNode for Treefolder "Interaction review"
- tree_folders - Insert a row for Interaction Review with the child_type as QuestionnaireNode
- controller_actions - Mention the action goto_interactionreview_rubrics in it
- interactions - Stores the interactions saved
- interaction_weights - Stores the weight associated with each interaction review
Repository for reference
You can use the repository (https://github.com/aswin89thee/expertiza.git) as a reference. Use the E722 branch under this repository. (https://github.com/aswin89thee/expertiza/tree/E722) bur be careful that code in this repository is not fully functional and a lots of views have been changed in the latest expertiza which are not present in this repository.