Teaching Soft Skills

I think I write about this a lot because I think it’s honestly the most important thing we can teach.  Soft skills mean different things to different people.  Some think of them as skills like critical thinking and collaboration.  Some think about them as being resilient (or having grit).  Anya Kamenetz outlined some of these different skill sets in an article a few months ago.  Likewise, schools have implemented programs to specifically teach some of these skills.  Louisville Collegiate School created The Edge, outlined in this NAIS article with classes taught by the Administrative Team.

Recently, we’ve been updating our standards for our curriculum map.  As part of that, we, too, outlined a set of soft skills that we think should be included.  We had some discussion about whether to actually put these into the map as something teachers would list.  Some in the room said that it should just be a given that you’re doing these things and that they would be checking every soft skill box for every lesson.  Or some said it should be relegated primarily to advising.  And I sort of agreed, but as I worked with my two CS classes this week, I started to think that 1) not everyone teaches these skills or has these skills in mind when they’re teaching and 2) there are ways to explicitly teach these skills or set up assignments in ways that teach them.

For example, we have on our list Reflection as a skill.  We mean, of course, reflecting on the past in order to make an action plan for the future.  And this can be reflecting on what your learned, on how much you studied for the test, or how many extracurriculars you signed up for and thinking about whether or not that was a good idea.  I can’t imagine that every lesson includes this.  Or maybe not even every unit.  You have to create the space for students to do that reflection, in written form, through class discussion, or through one-on-one conversation.  It has to be intentional.  You can’t assume.  I’m having my students do this in blogs, which can be found here and here.

Some of our other skills include

  • Self-assessment
  • Perseverance
  • Resourcefulness
  • Flexibility
  • Self-regulated Learning
  • Internal Motivation

I specifically assign things that require students to assess themselves.  And perseverance and resourcefulness are just par for the course.  I often jump into teaching things I know little about.  My project-based learning approach basically requires all these things in order to be successful in the project.  I don’t outline the steps to take or give them every resource they’re going to need or tell them if what they’re doing is right or wrong.  What I tell them I grade is the process they go through, which they document for the blog, and I tell them I’m looking for all these things in the whole of their process.  I’m looking for them to not just be going through the motions, but to be really asking themselves hard questions and sharing their successes and describing how they got there that shows what they learned and what they had to overcome to get there.

Yesterday, as we were laser cutting some recursively-created designs, one of my students said, “Yay, it didn’t work!  Now I have something blog about!”  (Check out our blogs for more on that.)

So while I think most teachers have these concepts in the back of their minds and may think they’re approaching their lessons in a way that incorporates them, I think it’s worth being explicit about it and really asking yourself as a teacher if the lesson, the unit, or the whole course is really structured to teach these skills and if not, what pieces could be added so that they’re included.

On not being the expert

Back in my first year of teaching, I didn’t know anything.  Sure, I’d been teaching for close to 20 years, but I’d never taught middle school or high school and I’d never taught CS.  I’d taught a “boot camp” but not a full length course.  And rather than teach what I’d taught in that boot camp, I did my research and selected a language that I hadn’t learned yet, but that the research showed was a good first language.  That first year, I learned alongside my students.  I had spent the summer doing online courses, going through books, so certainly I knew more than they did, and conceptually, I knew a lot more.  But I wasn’t an expert, and that meant that I didn’t always have the answer.

And that still happens to me, because rather than have everyone do the same assignment, they choose what they want to do, and inevitably, they choose things that I’ve never done.  I just said a couple of days ago in my CS II class to a group that was struggling to figure something out, “You remember I told you I’d never done this before, right?”  Even in my web design class, which is truly an area of expertise for me, I was looking at a student’s CSS and I said, “I don’t think you can do that.” And she said, “It’s in the book.” And sure enough it was, and sure enough, she saved her code, refreshed her page, and I said, “Cool! I learned something new.”  And it happened again about 5 minutes later.

Not knowing everything about your content can be unnerving, but it can also be enlightening, and you can be a good model for your students.  You’re showing them that learning doesn’t end; it’s always happening and will continue to happen for them, hopefully all their lives.  And you can empathize with them more.  You know what it’s like to struggle to understand something.  This is a common theme for me, because I’ve yet to have a year where I’m not teaching something that’s brand new to me.  That’s how I roll.

I was reminded of this whole feeling by a post from Teaching Humans by Meghan Paris. She writes about how not knowing everything has brought joy back to her teaching:

For the first time in my professional life, I enjoy the act of teaching. Most freeing of all, perhaps, is the feeling of not knowing exactly what I’m doing while actively doing it.

The next two paragraphs are worth reading.  We ask our students to learn everyday, to struggle to understand, to keep learning even when it’s hard.  When we do that alongside them, it’s so much better for us as teachers, but more importantly, it’s better for the students.


Best thing that happened in class

This is our last week of classes.  Monday and Tuesday, my students will present their final projects.  We didn’t have quite enough time to do another intense programming project, so I decided to let them do something a little different.  They had to pick a concept they learned in Computer Science and demonstrate it in a multimedia project.  Although I didn’t require any programming, some students have used programming anyway, because that was the medium they wanted to use.  The projects I’ve seen so far have been creative and fun.  And I think some of them will be useful for showing other students why Computer Science is a great thing to do.  One of my favorites so far is a painting by a sophomore:



I love some of the subtle references like the echoes of a circuit board and the icons and the brain.  I can’t wait to frame it and hang it somewhere prominent! I am always trying to get my students to think outside the box, and so far this project seems like it’s pushing them to do that.  I’ll share more as they come in.  Seeing them is the best thing that’s happened this week!


Getting through the end of the year

This time of year is always hectic for teachers and students.  Students are finishing final projects, taking tests and preparing for exams.  Teachers are helping students through those tests and projects, creating exams, and then there’s the grading.  And there are meetings, lots of meetings, because everyone suddenly thinks, “Oh, the end of the year is coming and I need to meet with x committee.”  Here are some ways I’m finding to get through the craziness.

1. Take it one day at a time.  Don’t think about all the stuff you have to do or that you will have to do next week.  Just work on what you need to get done now.

2. Take breaks.  Luckily this time of year usually coincides with lovely weather.  Go for a walk. Have a cup of tea.  Play a quick game of Candy Crush.  Just don’t think about work.

3. Celebrate! Think about your successes and your students’ successes.  This is the time of year when we’re doing that anyway, and it makes all the work feel worth it!

Goal Setting

In our official evaluation calendar, this is the time of year when faculty set goals for next year.  Often these goals get tweaked in the fall, but basically, by now, we start reflecting on how the year went, and how we could improve things for next year.  We’ve received feedback from department chairs and divisions directors, and even students.  Armed with that feedback, we will decide what to prioritize.

Next year, I will have some lofty, school-wide goals.  I am still working on that, but I have some ideas.  I will still be teaching two classes (3 really, 1 year-long, 2 semester classes), so I have been thinking about how to approach them.

Introduction to Computer Science went well this year.   I had 28 students split into 2 sections.  We went a little slower as I spent a lot of time helping people in class.  I really want to find a way to further encourage self-dependence rather than everyone waiting for me.  Honestly, the projects where folks did not get a lot of help turned out better than the ones where I had to hand-hold a lot.   The feedback from the students was that they wanted a few more structured lessons on the concepts.  I agree, but I also think partly they don’t really grasp the concepts when I teach them and then when they’re trying to use them in a project, they realize they didn’t grasp them.  They liked the videos I created, so I think I will do more of those.  I’m not satisfied with any of the textbooks I’ve tried, so it’s all on me, I guess.  I’m thinking about moving the robot stuff to the end of the year and opening up the possibility of building robots instead of or in addition to working with pre-built ones.

CSII kind of worked, but we lost a lot of time to snow.  I also struggled more than usual keeping them on task.  Last year, I had 3 students compared to 10 this year, so that was a very different experience.  I’m considering starting in Python and shifting to Processing for CSII.

Mobile Computing was new.  We used Stencyl, and it worked fairly well.  But I think I’m going to look for something that’s a little less buggy and a little more CS-y.  I’m thinking about TouchDevelop, but I know very little about it, so we’ll see.  The structure of the course worked fairly well, so I will keep that and just change up the language/tool.

Creative Computing was an experiment in the Middle School.  I’ve enjoyed it, and I think the students got a fair amount out of it.  Frankly, I didn’t put enough time into developing this.  It won’t be offered next year as we changed our schedule, but I got to try some new things and got some ideas for other classes.  I learned how to laser cut so that was good.

So there’s work to do over the summer!

Have you thought about goals for next year yet? Reflecting on this year? I think I’ve reached the point where I’m ready to wrap this year up. It’s so close!

Teacher Appreciation Week

Last week was Teacher Appreciation Week.  Around my school, nothing much happens.  This time of year, we’re all just keeping our heads down until we get to the finish line.  That said, we did end the week with our annual faculty/staff/trustee party last night.  There’s food and drinks and awards are given out.  There’s a special trustee award that I actually received last year and it went to two great people this year, one of whom I had nominated.   I got to talk to some colleagues I don’t normally get to talk to and that was nice.  The day before I led a session on design thinking for my colleagues and we tackled an actual problem and came up with ideas.  Those two events combined left me feeling very appreciative of my colleagues.

Then after the party, I went to another work-related party for parents of the class of 2017.  Some of my favorite parents were there, and I never see them because none of us tend to go to many parent events.  We had a great time talking, and many people told me what a great teacher I was for their daughters, which was nice to hear.   I heard things about how taking my class made their daughters think differently. It made me feel like I was doing *something* right at least.  I think that’s the hardest part about being a teacher.  It’s hard to tell if you’re making a difference.  Hearing that you are from others happens so rarely.  I hope that other teachers out there heard words of thanks and appreciation this week.  I got lucky, and am thankful for being surrounded by other teachers who inspire me every day, and for students who challenge me and make me want to always do right by them.

Why teaching not coding

Every once in a while someone asks me why I’m not a professional programmer.  I think they wonder why the heck I wouldn’t want to get paid six figures. It’s a long story, of sorts, which makes me have to confess I have no CS degree (which wouldn’t preclude me from being a professional programmer, but always feels weird to say).  I’ve never been a professional programmer.  As I sometimes explain to people, working with technology is how I paid the bills while I pursued my humanities degree.  In all my jobs, I’ve toyed with code, mostly via the command line.  I built one small thing with PHP once before I got the teaching job that I have now.  I honestly don’t know if I’d like being a professional programmer or coder.  I suspect maybe.

But I consider myself a professional teacher.  I’ve been studying and working on my teaching skills as long as I’ve been poking around in a computer (well over 20 years now).  And I get a lot of joy out of teaching.  And, I’ve taught poetry writing, composition, literature, and now computer science, and teaching computer science is by far the most fun.  There is something so cool about watching a student get it for the first time, or make something super cool using code, especially when, as is often the case, they didn’t think they could.  I love finding ways to help students remember and understand complicated ideas.  And I love supporting them as they go beyond the classroom to do even more.  It’s problem solving of a different kind, I guess.

I also like middle and high school teaching way more than college teaching.  These students are so open to learning and discovering new things where many college students have already decided what they’re going to be and that it doesn’t involve you or the thing you’re teaching them.  I may be jaded by the fact that I taught a required course. Those who’ve actually taught CS in college may have a different experience.  I taught a Gender and Technology course once that was a hoot and a half.  I revised that for my high school students, and it was even more fun! Just saying.

So teaching is my thing.  And I do like to code, but given free time, you’re just as likely to find me reading a book about teaching or designing a lesson as you are to find me coding something.  They’re both fun, but the former has more draw for me.

Robots in love (and other robotic truths)

My CS I students are finishing up their first big projects.  It’s a pretty open-ended project that’s intended to have students use the skills and concepts they’ve learned over the last few weeks in a larger and more complex context.  I’ve been thoroughly impressed with the things they’ve come up with so far.  I’ve got a robot tour guide, a robot hide and seek project, an art museum docent/aspiring artist, several varieties  of word games, and a robot musical.

A popular project is the robot dance.  One might think that would generate boring are all the same kinds of projects, but it doesn’t.  Some of my students, even, are a little worried that they haven’t done enough, but I’ve assured them that they’re just fine.  Here’s just one example of the kind of thing they’ve done.  It really is super fun. (And sorry to my Twitter followers who’ve seen this!)


A great #makered week

Last week, things really started to gel for both my 8th grade Creative Computing class and my CS II class.  On Thursday’s #makered chat, I posted this:

This is an 8th grade student going to town with a Hummingbird Kit.  The assignment was to create something physical with a Halloween theme.  And while her robot probably will only loosely be Halloween-y, she’s ready to work on this for the next few weeks.

8th Grade Student and her 3Doodler success
8th Grade Student and her 3Doodler success

Another student wanted to make a Haunted House, so she laser cut the front of a house, and then used a drill to cut out the windows and then started using the 3Doodler to enhance some of the details on the front.  She asked if this house could be a prototype for a whole city.  Um, yeah, I said, That would be awesome.  She said, oh man, this is what I’ve always wanted, to be able to do stuff like this.

Meanwhile in CS II, I’ve been trying to corral what is a pretty feisty group of students.  There are only 7 of them.  They have been bonded through their experience in CS I, and they have a tendency to want to goof off; however, this week, they finally got to work on some object-oriented programming, again with a Halloween theme.  Below are two of the projects.  My CS II class is at the end of the day, and is followed by a free period for students. Many of my CS students just stay and keep working.  It’s pretty cool.  At the end of last week, I was feeling pretty darn good about my students.  And I have more good student news to share.  Stay tuned!


On Learning Something New

I’m a week in to learning to play the guitar.  My index and middle finger hurt and I can safely say that I pretty much suck.  But, I’m a week in.  I know I shouldn’t expect to be playing like Taylor Swift by now.  And that, in itself, is something to recognize, for both students and teachers.

I’ve observed a couple of things so far in my practice.  First, I recognize that it would probably be easier/better if I had a teacher, preferably someone who’s an expert at both playing the guitar and teaching.  I’m not getting the same kind of feedback from the app that I would get from a person.  I get no tips for finger placement or holding the guitar.  I’m getting no, “That was good. Try to keep doing it that way.”  So I’m probably a) learning slower and b) creating some not so great habits.

Second, I’ve noticed how foreign all of this is. Music is not foreign to me.  I can actually read music.  I sang in my church choir.  I played piano a little, and at one point I tried to learn to play the harmonica.  But I’ve never played a stringed instrument.  I’ve never had to tune my own instrument.  I don’t have a feel for how to move from one chord to another or even sometimes how to strum.

Someone posted to the SIGCSE mailing list reminding people of how much students have to learn in order to start learning to program.  So much of the inner workings of the computer are hidden now and we have to expose them and teach them.  Plus they’re learning a new language, new software, a new way of thinking.  It’s like approaching learning an instrument.  You have to learn how it works and its language (musical notes).  Try learning something entirely new sometime, and feel the discomfort and utter foreignness of that.  Then you’ll have a sense of how your students feel.