Showing posts with label discussion. Show all posts
Showing posts with label discussion. Show all posts

Tuesday, October 4, 2016

Discussion Board

Since SIGCSE last week several folks have asked about how I handle discussion boards for the CS Principles class.

I include discussion board topics to gauge how the students are thinking and learning about the topics we cover. It is so much easier to asses code, and it creates a big temptation to fall back on "just coding". The discussion board has been a great way to read along with their learning process.

For this to work we have to really structure it at the beginning. This is not a type of writing that high school students are used to. Add the natural joy they feel at hearing "Now we are going to write about..." it can take a while to get them going.

The first topics of the year year focused on how to effectively participate in a discussion board. Students do not know how to do this yet, so the skill must be taught. Lots of feedback and very clear guidelines are a must.

They must do at least three responses a week. I am very specific about what I am looking for, and what will not count. A response must:
  • Move the conversation along, not just rehash other posts
  • Add a new analysis or fact to the discussion
  • Ask a question ("I dont get it" doesnt count)
  • Respond to another students post ("I agree" or "LOL" is not a response)
Like most things at our level, if it is not graded they will not do it. Rules about language usage help. My students communicate online socially, not for education. I have learned that you must make this distinction very clear. Specifically we follow the 4-Ps:

  • No Profanity
  • No Plagiarism
  • No Paraphernalia (drugs, alcohol, etc)
  • Play nice - no bullying

I developed these when I was in college sponsoring a local high schools literary magazine and they work in lots of teen-related situations.

This can also be a good time to talk about their digital life. They dont often stop to think about the information they are leaving online for the world to see...this makes a great discussion board topic, in a self-reflexive kind of way.

Need more? This PDF from TeacherStream is one of the best resources on facilitating discussion boards I have found. Edutopia has a whole list of resources for online learning that can be helpful in a traditional classroom also.

Read More..

Wednesday, August 3, 2016

Why Teach Computer Science Facebook Discussion

So last week on Facebook I posted this link: Teach US Kids to Code. It brought up a really interesting discussion between some of my former students about computer science classes.


Now back when I taught these kids (now very much grown up and in their careers) my focus was mostly code, code and more code. I am happy to say my teaching has grown since then. Our discussion centered on the fact that many kids just dont "get" coding. They pointed out that half the kids in our classes never really moved beyond variables. And honestly this was my fault.

Without the broader context the abstraction of computer science can be overwhelming. Especially for an age group that has not necessarily hit the abstract thinking phase of development. Abstract thinking starts in early adolescence and continues until they are in their early 20s. And as teachers we cant control where they are in that spectrum.

What I can control are the activities and topics we do in class. By building a scaffolding through engaging activities you create a framework and a context for all these abstract things. Though practice comes understanding.

This leap from teaching code to teaching computer science has been the biggest development in my career.

NCIS
So here is what I wrote. It is the core of why I think every kids deserves computer science in school.


In a way it is asking the question from the wrong angle. For instance in Latin there is no expectation that every student become a master level linguist. There is an understood intrinsic benefit to studying something rigorous even if you do not hit mastery.

For too many cs classes we have a kind of Jedi master approach  You will either become expert, or get nothing out of the experience. I think there is a valuable middle. 

I assume all of my students will engage with some type of computing device in their professional lives. Having some experience with programming means they have a better understanding of what these devices can and cannot do.

Weve hit the point where cs is the magic trick...watch any old episode of NCIS to see that. For too many people you hit the button, magic occurs and answers appear. Any person with some cs experience knows how untrue that is, and how manipulative it can be.

We are at a point where you are either someone that understands this, or is getting tricked. It has become a basic literacy issue.

So no, many of my students will not master abstraction or recursion, but my classes also cover the culture of cs. They dont have to get every nuance of programming to understand some of the science behind what we do.

And that knowledge puts them on the stage with the magician, maybe holding the hat but still on stage, rather than in the audience. Cs should be more than a fun show. We depend on these devices so much that cs is a core part of being a literate person of influence.
Read More..