teachingopensource
LOGS
18:04:09 <kwurst> #startmeeting
18:04:09 <zodbot> Meeting started Wed Feb 29 18:04:09 2012 UTC.  The chair is kwurst. Information about MeetBot at http://wiki.debian.org/MeetBot.
18:04:09 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
18:04:19 <kwurst> #chair heidie
18:04:19 <zodbot> Current chairs: heidie kwurst
18:04:28 <kwurst> #chair mchua
18:04:28 <zodbot> Current chairs: heidie kwurst mchua
18:04:41 <kwurst> #chair rebelsky
18:04:41 <zodbot> Current chairs: heidie kwurst mchua rebelsky
18:04:57 <kwurst> #topic Managing students session
18:05:11 <kwurst> #topic Introductions
18:05:23 <kwurst> New people are introducing themselves.
18:06:16 <kwurst> Discussion topics
18:06:29 <mchua> #info this channel is being projected
18:08:28 <rebelsky> Question about openness of students.
18:08:39 <mchua> Karl: I have a hard time asking for help from the (FOSS?) community
18:08:53 <heidie> How do we get students to be "open"?
18:08:54 <mchua> Students are worried about feeling stupid
18:08:57 <rebelsky> Students are having trouble asking for help from the community.  Like faculty, they have difficulty asking for help.  Don't want to look stupid in front of peers.
18:09:11 <mchua> Greg: They don't have the professional habits of knowing they have to communicate with team members.
18:09:30 <mchua> Karl: I tell them, there are people in the community who've already done what you're trying to do.
18:09:35 <mchua> So you can ask them how to do it, and document whta they tell you.
18:09:43 <heidie> Competitiveness can be an issue.
18:09:56 <mchua> Idea: Say that "being open" and asking for help doesn't lower their grade, but instead raises it.
18:10:08 <mchua> Sam: We do pair programming, so our students may be more used to cooperating.
18:10:28 * mchua will stop keeping track of names, mostly, now
18:10:57 <mchua> some faculty members go "oh I'd never let my students use stuff another student put up on github"
18:11:24 <rebelsky> There's difficulty for students to navigate the world of academic honesty.  When is it okay to collaborate and when is not okay to collaborate?
18:11:27 <mchua> Ed Gehringer's poster on the wall -- he gave students extra credit for helping on another student's project
18:11:40 <mchua> they needed to be repeatedly told to help each other
18:11:45 <rebelsky> Ed notes that most students don't do it even though they get credit.
18:11:55 <rebelsky> It appears that they need frequent reminders.
18:12:10 <mchua> at the beginning they were focused on learning the (programming) language
18:12:58 <rebelsky> Students are conditioned not to help each other.  It's possibly through school.  Other departments condition them.
18:13:17 <heidie> "Some" students. This likely varies a lot from school to school.
18:13:33 <mchua> Teamwork is common in the engineering world, maybe liberal arts schools have less exposure to this?
18:13:57 <rebelsky> All the sciences do collaborative stuff.  But there's still conditioning from other departments.
18:14:30 <rebelsky> Mel collaborates that students need to be taught how to work in teams.  High school may have knocked it out of them.
18:15:02 <rebelsky> How do we teach all these different things ... the tools, the processes, the communication, the community, etc? Is it a full curriculum thing?  Seneca college as example.
18:16:25 <mchua> Sam: vertical integration is a whole department!
18:16:33 <rebelsky> Seneca story: Capstone course did open source.  Intro course adapted not to do open source, but to include all of the common stuff: Work on the Wiki, use git, do pair programming, etc.  Less is new in the capstone course.  A need for vertical integration.
18:16:53 <rebelsky> Institutionalizing things is hard.
18:16:55 <mchua> Greg: institutionalizing vertical integration is really hard!
18:17:29 <rebelsky> Cool idea: Verticalizing curriculum.  Upper-level students do broad design and farm stuff out to lower-level students.
18:18:40 <mchua> tension between teaching students collaboration and the academic integrity clauses at many schools
18:18:56 <rebelsky> Summary of our conversation: We need to repeat it across courses and throughout the course.  Also need to change broader conversation.
18:19:21 <mchua> anxiety and shyness is a huge barrier.
18:19:36 <rebelsky> Unless you require people to work on teams, there are a lot of people who don't want to.
18:19:47 <mchua> "if you make people cooperate, you require them to do more work."
18:20:14 <rebelsky> A better solution: You have *this project*.  You can do it by yourself, or you can do it in a team.
18:20:15 <mchua> Schedule conflicts are a frequent barrier to teamwork
18:20:39 <kwurst> #topic Grading
18:20:42 <mchua> grading is a big issue with teamwork too.
18:21:01 <rebelsky> One solution: Rotate the teams.  "You have to team with six people across the semester."
18:21:16 <mchua> "i feel grading is much fairer when you integrate FOSS"
18:21:25 <mchua> because you see individual code check-ins
18:22:00 <rebelsky> In team meetings, call out individual contributions within the team.  Everyone knows slackers and leaders.
18:22:40 <rebelsky> Some people come back from Posse saying "It takes less time for me to grade because I can see the time log."  Also, some people are good contributors, although not necessarily in lines of code.  Some refactor.  Some spend lots of time on documentation.
18:23:12 <rebelsky> Motivation: Publish status of all the teams.  Perception of how the projects are doing.  Everyone wants their bar to be the farthest out there.
18:23:19 <mchua> using multiple versioned systems to capture things like bug triaging, docs, etc. allows you to find students who are good contributors but just not lines-of-code productive
18:23:38 <mchua> (which is an equally vital part of the software ecosystem -- we need testers, managers, etc too!)
18:24:13 <mchua> tool: bitbucket
18:24:23 <mchua> othertool: github
18:25:14 <mchua> welcome back kis :) sam and I are taking notes here, want to join us?
18:25:17 <rebelsky> They look within each team.  Meet with the team for 30 minutes each week.
18:25:49 <rebelsky> But that requires instructor time.
18:26:07 <rebelsky> A solution to the prior problem: In these meetings, pay particular attention to the folks who have contributed and made it public.
18:26:14 <heidie> #link https://bitbucket.org/
18:26:16 <rebelsky> "If it's not public, it doesn't count."
18:26:43 <heidie> #link https://github.com/
18:27:07 <rebelsky> Use an outside evaluator.  Someone who doesn't know them as people.  Then fly them in, and they say, "I know you, I know you.  I have no idea who you are.  I know that you don't document."
18:27:33 <rebelsky> An alternative issue: "Show me the money."  Do we care about the process or the product?
18:27:50 <mchua> open source contributors are usually *really* happy to volunteer to be external evaluators *if* it's easy for them to see the work-products of students
18:28:07 <mchua> (i.e. "here's the link" not "I'll email you a zip file" or "you need to come to campus at 2pm on wednesday")
18:28:58 <rebelsky> A hard issue: What do you do with the students who give "baloney" answers?
18:29:07 <mchua> what we already do for students who are "stuck" and don't produce things: "What have you written down?"
18:29:16 <rebelsky> "I was stuck."  So document *something* - what are your questions, what did you try, etc.
18:29:23 <mchua> even if it's "I went down these paths and it didn't work"
18:29:52 <rebelsky> Disconnect between self-reflection document and the "tangible" evidence.  Students need to have the two things match.  [Side note from Sam: Is this a case where a portfolio strategy would work?]
18:30:17 <rebelsky> Ah!  Mihaela does use a portfolio model.
18:30:23 <mchua> rebelsky: hrm! we do harp on how FOSS builds a public portfolio, but we don't... actually pull it together into a portfolio in many cases
18:31:05 <rebelsky> "I didn't commit, and it's not on the wiki, and it's not on the blog, but here's what I did."
18:31:08 <mchua> (side note from mel: one project students could do is "make your open source portfolio" -- get a website up with your name, short bio, github links, pointers to code & docs, etc -- good stuff to take out to an interview)
18:31:18 <mchua> ( heidie ^^ would this have been useful for your seniors?)
18:31:49 <mchua> side note to suehle: so many conversations here are interesting but don't get captured and I'm not sure how to change that HALP
18:31:55 <heidie> mchua, Yes, this would be helpful! It would also give students a concrete goal towards getting a job.
18:32:06 <suehle> mchua: Just tell me what you need--more typing fingers? What would be helpful?
18:32:11 <rebelsky> Yet another contrast: Do you have a site template so that everyone's site is the same, and you can more easily extract info, or do you give them more freedom?
18:32:21 <suehle> I also don't know everybody's names, so hard to document who said what.
18:32:38 <mchua> suehle: I think there are *multiple* osdc articles living inside the heads of every prof at this table; what can do we do to get them out?
18:32:41 <rebelsky> suehle: I don't know everybody's names, either, so I don't attribute everything.
18:32:47 <mchua> suehle: (thinking longer-term, larger-scale)
18:32:52 <suehle> mchua: Repeatedly ask nicely for them to write them? :)
18:33:03 <mchua> heidie: could the portfolio have been a homework assignment or something for your senior class?
18:33:18 <mchua> or an independent study, or... an ACM club activity ("portfolio hackathon night!") or...
18:33:29 <mchua> suehle: we've tried that for 2 years? :D
18:33:43 <rebelsky> One of the tasks: Pretend that you're going to have someone join your team.  What do you need to get ready for them to join?  (Info about culture, etc.)
18:33:45 <mchua> "some students are doing really amazing things already"
18:33:53 <heidie> Probably something for the senior class.
18:34:21 <mchua> resource: CATME
18:34:21 <heidie> mchua, Might be able to incorporate it into a "senior seminar" experience where we try to install more professionalism.
18:34:40 <suehle> mchua: I wish I had a better carrot. It's not just the education channel that it would help.
18:34:43 <mchua> (side note from Mel: CATME is actually my department's project, happy to connect folks with the researchers who make it)
18:34:48 <rebelsky> #link https://engineering.purdue.edu/CATME
18:35:14 <kwurst> mchua: The tool he mentioned was TeamMaker
18:35:29 <mchua> CATME is available to anyone to use, it accounts for things like schedules & skillset too
18:35:36 <mchua> </shameless boilermaker plug>
18:36:23 <mchua> ed has part of a student's grade come from the ratings of his/her teammates
18:36:43 <rebelsky> Do you evaluate the evaluation?
18:37:00 <mchua> hislop: "I tell them if you evaluate everyone in your team the same, you'll get a bad grade for your own evaluation"
18:37:10 <mchua> (in order to prevent students from blowing off the "evaluate your teammates" assignment)
18:37:45 <mchua> question: how do you deal with slackers?
18:38:16 <mchua> "if they get within a standard deviation of the mean of each other, you can give the team the same grade - it's the outliers we're trying to catch"
18:38:58 <kwurst> #topic Balance between supervising/guiding and letting students explore on their own
18:39:22 <mchua> jay: I articulate the value, from a SE standpoint, of being able to drop into a large codebase and figure things out
18:39:41 <mchua> because that's actually a skill -- and we need to actually teach that, how you get oriented
18:39:58 <mchua> managing "being lost" is itself a skill
18:40:17 <mchua> hislop: there is a certain percentage of students that just HATE being lost
18:40:24 <mchua> and it comes out in the [teaching] evaluations
18:40:49 <mchua> no matter how much I say it at the beginning of the class that this is not going to happen
18:40:55 <mchua> er, that this is going to happen
18:41:00 <mchua> "look, this is design, there are not black and white answers"
18:41:09 <mchua> there are still students who don't get it and complain "instructor did not give me scaffolding"
18:41:52 <mchua> jay: explicitly say that this being-lost is good for you, but it's hard work
18:42:31 <mchua> heidi: study of new software engineers has shown that the ability to navigate new things, ask questions, etc. is critical for career success
18:43:24 <mchua> mel: is it possible to grade students based on how lost they allow themselves to become?
18:43:37 <mchua> alyce: one thing I do is make students do a project in a language they have never used before
18:43:38 <heidie> Beth Simon reference for skills for getting "unlost" impacting career: Andrew Begel and Beth Simon, Struggles of new college graduates in their first software development job, in Proceedings of the 39th Technical Symposium on Computer Science Education, ACM, New York, NY, USA, March 2008
18:43:48 <mchua> alyce: there are ways you can force a certain amount of lostness on everyone
18:43:57 <mchua> heidie: THAT IS GOLD.
18:44:01 <heidie> :-)
18:44:28 <mchua> suehle: maybe make the shameless plug for "hey, articles get you exposed to $LARGE_NO_OF_PPL from <groups>
18:44:32 <mchua> (...at the end)
18:45:09 <suehle> mchua: Actually the best quantitative motivator now is what you told us about how many more downloads the Plover site got after you post :)
18:45:30 <rebelsky> Really good students don't seem to get as lost.  So do we measure where they get or how far they traveled?
18:45:49 <rebelsky> Mel: "Get students comfortable with being uncomfortable."
18:45:51 <mchua> jay: if we measure the outputs at the end, it doesn't matter how lost people got on the way there
18:46:24 <mchua> there are some students who ask q's in class that indicate that maybe they don't know the answers, but they're actively seeking them
18:46:50 <rebelsky> More experienced or more successful students can pull others up by serving as an example.
18:46:56 <mchua> bonnie: what do you do when you have students who have very little confidence?
18:48:16 <rebelsky> Me: Sometimes students who are less confident in person are much more confident in text-based systems (like chat rooms).  Bonnie: No (implied ... not for these students)
18:48:20 <mchua> alyce: to some extent our discipline is a master/apprentice model.
18:48:30 <rebelsky> Alyce: Master/Apprentice model assumes some help with the master.
18:48:31 <kwurst> #topic How do you help students with anxiety or concerns about participating in FOSS?
18:48:42 <mchua> some students need more guidance/mentoring than others.
18:49:31 <rebelsky> Alyce: There are students who need some help getting started, but they can then learn to do it themselves.  If they were left to do it on their own, they will probably flounder and leave the course or the discipline.
18:49:32 <mchua> bonnie: what I do with these students is possible because we're all doing one thing together
18:50:12 <rebelsky> Bonnie: I usually guide my students with a set of labs/problems.  But what happens when they are doing different projects and things that I know less about.  [Implied: Like the model that Heidi was describing.]
18:50:47 <mchua> alyce: different contexts -- it makes a huge difference if you're talking about an intro course vs a senior level course
18:50:59 <mchua> kwurst: would love to hear re your first-year experience
18:51:13 <rebelsky> If we do this in a first-year course it has to be much more guided.
18:51:56 <rebelsky> Alyce: We need to give students a structure for how to learn.  (Scaffolding.)
18:53:06 <rebelsky> Mel: How much scaffolding must come directly from the faculty member?  Can there be peers who took the course in a previous semester or even peers from the same semester?  Should we be teaching people how to *ask* for help?
18:53:36 <rebelsky> Heidi: We have very different student backgrounds and student bodies.  It is difficult to generalize.
18:53:46 <mchua> heidi: i come from small lib arts -- teamwork is not a problem!
18:53:54 <mchua> ed: we have 1100 people in the department
18:54:02 <mchua> (ncsu)
18:54:36 <rebelsky> Ed: The grad students are generally from India, the undergrads generally from NC, but capabilities are similar.
18:54:48 <mchua> rebelsky: (we're running up on time, what do you want to do? ask people if they want to extend 30m?)
18:54:56 <mchua> heidie, kis, kwurst ^^
18:55:00 <mchua> (anybody in the room ^^_
18:55:01 <mchua> )
18:55:16 <rebelsky> HEY FOLKS!  DO YOU WANT TO CONTINUE THIS DISCUSSION?
18:55:30 <mchua> hislop: my students are more comfortable doing "technical things" -- they're fine coding, but if you ask them to blog...
18:56:26 <rebelsky> Decision: Push end time a few minutes out.  (Five, fifteen, whatever.)
18:56:35 <mchua> #topic how should students advertise their work?
18:56:36 <mchua> blogging!
18:56:37 <mchua> blog planets
18:56:50 <mchua> a planet is a blog aggregator
18:57:02 <rebelsky> TOS has a 'blog planet.
18:57:51 <rebelsky> Requires appropriate tagging.
18:57:51 <mchua> karl has his students blog - two purposes
18:57:53 <rebelsky> #link http://planet.teachingopensource.org/
18:57:57 <mchua> first, reflect on what you're doing
18:58:10 <mchua> second, make sure this stuff gets to the TOS community
18:58:19 <mchua> and we have it go to a departmental aggregator as well.
18:58:31 <mchua> in the hopes that some of the younger students will get to see what the older students are doing
18:58:46 <rebelsky> Question: Is anyone reading the 'blog?
18:58:58 <rebelsky> Mel: Seneca, RIT, and others have done this.
18:59:12 <rebelsky> Mel: Used that as a feeder.
18:59:29 <mchua> heidi: word of caution -- you need to read the blogs the minute they're up there
18:59:47 <rebelsky> Heidi: Word of caution.  Read the 'blogs the minute they are up there.  Within-team issues were being negatively posted on 'blogs.  Unprofessional.  Harmful to the team.  Bad PR.
18:59:53 <mchua> heidi: sometimes students write things that are unprofessional, shouldn't go public, etc.
19:00:25 <mchua> greg: this is an opportunity for students to learn professionalism too
19:00:41 <rebelsky> Take advantage of the key features in the open source world.  Teach them how to use them technically, but also teach them how to use them professionally.  Of course, it's not uncommon to see unprofessional behavior on a listserve.
19:00:58 <mchua> greg: watching people flame each other on a list, and then get moderated out, is a good case study for students to learn from.
19:01:20 <mchua> if students are participating in an existing project, the first place they should promote it is the community itself.
19:01:33 <rebelsky> Heidi: Use opensource.com.
19:01:59 <mchua> heidi: i had a situation where students were struggling to set up openmrs
19:02:11 <mchua> heidi: and they ended up using virtualbox, and taking snapshots at each level
19:02:18 <mchua> and i thought "how cool -- we need to write this up"
19:02:37 <suehle> and when you want stuff to go on opensource.com, I'm ruth@redhat.com :)
19:02:40 <rebelsky> Heidi: Good things should go beyond the 'blog.
19:03:02 <mchua> idea: have in-house servers and internal planets as a "safer" sandbox before things go out into the public world
19:03:24 <rebelsky> Q: Are there 'blog aggregators with moderation tools?
19:03:37 <mchua> karl: there is an aggregator plugin for wordpress, you could set it up this way
19:04:41 <rebelsky> Greg: If you have something really nice related to FOSS, opernsource.com is a great outlet.
19:05:05 <rebelsky> Ruth: If not every project will be interesting, but the aggregate is interesting, Ruth can help with that.  "Students always like credit."
19:05:25 <kwurst> #link http://feedwordpress.radgeek.com/ (This is the Wordpress aggregator plugin)
19:05:26 <rebelsky> Heidi: The turnaround time for opensource.com is really amazing.  It's a great place to try out ideas.
19:06:39 <rebelsky> Mel: Two notes on republicizing: If students are already talking about X, it's much better than when they come out of nowhere.  "Hey, they've been talking on the mailing list and stuff, I'll look at what they're doing."
19:07:25 <rebelsky> Mel: You don't need to keep it behind a screen.  Keep people posted on what you are doing.  Otherwise, you don't fit with values/structure.
19:07:36 <rebelsky> Mel: Lots of open source communities have events.
19:07:46 <rebelsky> Mel: Meet-ups, conferences, hack-a-thons.  Lots of fun.
19:08:53 <mchua> justis: and usually these local usergroups have slots for lightning talks -- students can give them!
19:09:11 <rebelsky> Justis: Goal is to part the curtain of professionalism.
19:09:16 <mchua> mel: some professors have even said "there is no class this week, your homework is to go to this user group meeting"
19:09:41 <mchua> justis: bringing your unfinished work to in-person events is a great way to get a boost to help finish it (energy, etc)
19:09:55 <rebelsky> If you've been talking about it on your twitter feed and seem excited, when you post the "Yay!  We have a release", people are more likely to follow the link.
19:10:05 <kwurst> #endmeeting