{"id":859,"date":"2009-10-13T22:54:42","date_gmt":"2009-10-14T03:54:42","guid":{"rendered":"http:\/\/mikeconley.ca\/blog\/?p=859"},"modified":"2023-12-20T16:25:18","modified_gmt":"2023-12-20T21:25:18","slug":"treasure-hunting-and-research-idea-4","status":"publish","type":"post","link":"https:\/\/mikeconley.ca\/blog\/2009\/10\/13\/treasure-hunting-and-research-idea-4\/","title":{"rendered":"Treasure Hunting, and Research Idea #4"},"content":{"rendered":"<p>Remember <a href=\"http:\/\/mikeconley.ca\/blog\/2009\/10\/04\/coming-up-with-interesting-research-questions-and-idea\/\">those<\/a> <a href=\"http:\/\/mikeconley.ca\/blog\/2009\/10\/05\/research-question-idea-2\/\">research<\/a> <a href=\"http:\/\/mikeconley.ca\/blog\/2009\/10\/06\/research-question-idea-3\/\">questions<\/a> <a href=\"http:\/\/www.third-bit.org\">Greg<\/a> had me and <a href=\"http:\/\/zuzelvp47uoft.wordpress.com\">Zuzel<\/a> come up with?\u00a0 He&#8217;s asked us to select one, and find some tools that could help us in an experiment to answer that question.<\/p>\n<p>Originally, my favourite question was my second one:\u00a0 in the courses where students work in teams, why aren&#8217;t the instructors providing or encouraging code review tools?<\/p>\n<p>I&#8217;ve already received <a href=\"http:\/\/mikeconley.ca\/blog\/2009\/10\/05\/research-question-idea-2\/comment-page-1\/#comment-578\">two<\/a> <a href=\"http:\/\/mikeconley.ca\/blog\/2009\/09\/13\/do-peer-code-reviews-seem-incompatible-with-the-traditional-classroom\/comment-page-1\/#comment-586\">answers<\/a> to this question from instructors here at UofT.<\/p>\n<p>Greg has warned me that this line of inquiry might be a bit too shallow.\u00a0 He warns that it&#8217;s possible that, when asked about code review, they&#8217;ll shrug their shoulders and say that they just don&#8217;t have time to teach it on top of everything else.\u00a0 <a href=\"http:\/\/mikeconley.ca\/blog\/2009\/10\/05\/research-question-idea-2\/comment-page-1\/#comment-578\">Karen Reid&#8217;s response<\/a> echos this warning, somewhat.<\/p>\n<p>And maybe <a href=\"http:\/\/mikeconley.ca\/blog\/2009\/09\/13\/do-peer-code-reviews-seem-incompatible-with-the-traditional-classroom\/comment-page-1\/#comment-586\">Steve Easterbrook<\/a> has a point &#8211; that code review is hard to assess as an assignment.\u00a0 <a href=\"http:\/\/www.cs.toronto.edu\/~sme\/CSC444F\/assignments\/A3-inspections.pdf\">It seems he&#8217;s at least tried it.<\/a> However, it appears that he was using fragments of Fagan Inspection reports as his measuring stick rather than <em>the reviews themselves.<\/em> I assert that this is where light-weight code review tools could be of some service: to actually <em>see the conversation<\/em> going on about the code.\u00a0 To see <em>the review<\/em>.\u00a0 I also assert that such a conversation is hard to fake, or at least, to fake well.<\/p>\n<p>So, just go with me on this for a second:\u00a0 let&#8217;s pretend that Steve is going to teach his course again.\u00a0 Except <em>this <\/em>time, instead of collecting fragments of Fagan Inspection reports, he uses something like ReviewBoard, Crucible, or Code Collaborator to collect reviews and conversations.\u00a0 Would it be worth his time?\u00a0 Would it benefit the students?\u00a0 Would they see the value of code review?<\/p>\n<p><a href=\"http:\/\/pyre.third-bit.com\/blog\/archives\/1828.html\">Reading this blog post<\/a>, it seems that the <a href=\"http:\/\/www.basieproject.org\">Basie<\/a> folk first got on the ReviewBoard band wagon because Blake Winton set a good example as a code reviewer.\u00a0 I remember talking to Basie developer <a href=\"http:\/\/twitter.com\/bkonrad\">Bill Konrad<\/a> this summer, and him telling me that he&#8217;d never go back after seeing the improvement in code quality.<\/p>\n<p>Because that&#8217;s the clincher &#8211; getting the students to see the value.\u00a0 You can&#8217;t make a horse drink, and you can&#8217;t get students to use a tool <em>unless they find it useful<\/em>.\u00a0 And how do you show that to them?\u00a0 How do you show them the value without having to call in Blake Winton?\u00a0 How do you make them see?\u00a0 And how do you make the process painless enough so that instructors don&#8217;t have to worry about teaching a new, confusing tool?<\/p>\n<p>One of the comments on Greg&#8217;s post says the following:<\/p>\n<blockquote><p>My feeling is that the easier it is to review code, the more interest you\u2019ll see from students.<\/p><\/blockquote>\n<p>Maybe that&#8217;s really all you need.<\/p>\n<p>So, how about this for an experiment &#8211; take a class of students who are working on group assignments, and set them up a copy of a light-weight code review tool.\u00a0 Get one of the first assignments in the class to involve a review so that they need to use the software at least once.\u00a0 Now track the usage for the rest of the semester&#8230;do they still use it?\u00a0 Do some use it, and not others?\u00a0 If so, do the ones who use it tend to receive higher grades?\u00a0 Or is there no difference?\u00a0 What is the quality of their reviews when the reviews are not being marked?\u00a0 What will the students think of review tool once the course is completed?<\/p>\n<p>I think it&#8217;s simple enough, and I can&#8217;t believe I didn&#8217;t think about it earlier.<\/p>\n<p>Some of the software I could use:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.review-board.org\/\">ReviewBoard<\/a><\/li>\n<li><a href=\"http:\/\/smartbear.com\/codecollab.php\">Code Collaborator<\/a><\/li>\n<li><a href=\"http:\/\/www.atlassian.com\/software\/crucible\/\">Crucible<\/a><\/li>\n<li><a href=\"http:\/\/code.google.com\/p\/rietveld\/\">Rietveld<\/a><\/li>\n<li><a href=\"http:\/\/codestriker.sourceforge.net\/\">CodeStriker<\/a><\/li>\n<li><a href=\"http:\/\/groogle.sourceforge.net\/\">Groogle<\/a><\/li>\n<li><a href=\"http:\/\/code.google.com\/p\/jupiter-eclipse-plugin\/\">Jupiter Eclipse Plug-in<\/a><\/li>\n<li><a href=\"http:\/\/malevich.codeplex.com\/\">Malevich<\/a><\/li>\n<\/ul>\n<p>Quite a few choices for the review tool.\u00a0 And I wasn&#8217;t even digging that deeply.\u00a0 Perhaps I should do a quick survey across all of them to see which one would be the best fit for a CS course.\u00a0 Perhaps.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Remember those research questions Greg had me and Zuzel come up with?\u00a0 He&#8217;s asked us to select one, and find some tools that could help us in an experiment to answer that question. Originally, my favourite question was my second one:\u00a0 in the courses where students work in teams, why aren&#8217;t the instructors providing or [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[454],"tags":[501,503],"class_list":["post-859","post","type-post","status-publish","format-standard","hentry","category-code-reviews","tag-code-review","tag-research"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/prmTy-dR","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/comments?post=859"}],"version-history":[{"count":5,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/859\/revisions"}],"predecessor-version":[{"id":3213,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/859\/revisions\/3213"}],"wp:attachment":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/media?parent=859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/categories?post=859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/tags?post=859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}