Tuesday, April 10, 2018

A Good Reminder

I have enjoyed the responses I got to my "Teaching CS IS Hard" post, thanks to links by some great CS ed colleagues out there. Can I say colleague as a noob? :)

The frustrations I have been feeling at trying to figure out how to do all my things better to help my students learn and improve have been rampant lately. I know I can still do some things differently here in the last six weeks of the school year, but I also know a lot of this will have to be put to thought, consideration, and much planning this summer. This school year isn't "lost" but it will feel like I'm just slugging it out and limping to the finish line.

So it was very refreshing to read Gina McCarley's blog post on AbstractingCS today, "Keep Your JOY, Know Your WHY, and DON'T BREAK THEM". It was a timely and needed reminder that the reason we do all of this is greater than all the little minutiae of the content. Here is the tail of her post, which sums it up quite well:

At this sometimes stressful time of year, my advice to you:
  • Know from where your joy comes. No one can take it you have to give it away.
  • During your battles, remember your WHY. I have shared my WHY, you need to know your WHY.  What keeps you going?
  • And a big one, DON’T BREAK THEM (students) and MAKE THEM HATE COMPUTER SCIENCE! What we are teaching is foundational skills.  Big Ideas, algorithms, abstractions, syntax, protocol, and a lot of other stuff.  I bet there is a selection (IF/Else) statement in UT Austin’s cancer detection pen.  If you are from UT Austin, let me know. Our classes are stepping stones to bigger and better things.  Don’t let your students feel your stress trying to get everything in before the finish line.  Don’t make them hate Computer Science.  Do what you can as the clock clicks down to the exams. What you teach is important!
Remember your why, reflect, keep what’s good, fix what didn’t work and do even better next year.  The struggle is real but the rewards are worth it.  Running, walking, and sometimes crawling.

Thursday, March 15, 2018

Quick Thought For The Ides Of March

So we start spring break next week, and today and tomorrow (we are on a block schedule) I'm having my CS Essentials classes look at the function/procedure event that handles the placing the wavefront numbers into the 2D array. They are looking at it ON PAPER. I am asking them to comment lines and mark it up in whatever way their brains are seeing this, so I can try and get a bead on how they might be thinking about code. This is something I think I need to work into my classes more - reading code and trying to make sense of it away from the computer. I think too many of my students just go through trial and error instead of going into deep thought about the algorithms in the code itself.

Wednesday, March 14, 2018

Teaching CS IS Hard

Well we have hit the wavefront algorithm assignment in my curriculum, which ultimately will be used to navigate our little VEX self driving vehicles. And for probably 90% of my students in CS Essentials, welcome to what my PLTW CS colleagues on the PLTW forums have termed "code shock" with students.

I think one of the hardest things to manage in designing a curriculum is how to dial the difficulty up at a proper pace for the "center mass" of the class skill level. And in this new curriculum from PLTW this particular unit starts out manageable, but suddenly shoots up rapidly, thus the "code shock" mentioned above. I also have the challenge of having a lot of kids in class who simply don't want to interact in class when, for instance, I'm working through pseudocode on the board.

The good thing for me is it has really illustrated how much more I need to emphasize getting the students off the computers, and crunching out the problem in flow charts or pseudocode. Many of them just want to do everything while in the code editor, and I keep telling them (and trying to show them as well) to solve the problem first, THEN translate your solution into code, and then get into the debugging process.

For my audience of few to several out there, I welcome any insight or input you might have!

Tuesday, February 6, 2018

Good Grief Have I Been This Busy?

Wow, it has been four months since my last post! I guess things got busier than I thought. In addition to the normal grind of teaching here is what has been filling my time:
  • Finishing up the leading of a PLTW online training in their new CS Essentials curriculum
  • The holidays (fa la la la la)
  • The flu over break (blarf)
  • Starting up a new semester at school
  • Trying to get the CSTA Kansas chapter reboot up and running
I have been dutifully reading my favorite bloggers in CS education, and it is good to know that to one degree or another, it seems we contend with many of the same issues. For me, I have been wrestling with whether or not the PLTW CSP curriculum is the right fit for my students. We are a NMSI (National Math and Science Initiative) school, and with the grant that comes with that is a lot of training and support, which is great! In addition to me getting to go and work with colleagues three times a year, they send a person to my school on three Saturdays to help my AP students prepare for the AP exams and performance tasks. All great for their learning as well as mine.

What is becoming more clear to me, though, is the fact that the PLTW CSP curriculum, while quite good in and of itself, isn't really tailored towards the AP stuff as much as others. Yes, I know there are strong negative sentiments out there about the AP, but the reality for me is the fact that my school is highly committed to AP classes that fall under the NMSI flag, and considering the grant is well into six figures I understand why.

The guy who comes in here for the Saturday Study Sessions uses the code.org curriculum, and has used some of their materials for these sessions. I do use certain elements from the code.org CSP curriculum to fill the gaps I perceive in the PLTW CSP materials, and I do pull a few activities from other sources as well. What I am trying to figure out is whether or not using the code.org CSP as my primary curriculum would better prepare my students for our school's intended target, success on the AP. I would probably supplement the code.org version with programming in things outside of their JavaScript in Code Editor, most likely in Python and App Inventor, since those are the two things with which I have the most familiarity.

And of course, in addition to trying to build my programming skills in general, there is the never ending quest for best ways to teach CS. I'm looking forward to hopefully building up a stronger network of the CS teachers here in Kansas so that we can share and chat and work towards common goals in Kansas, and of course look very forward to going to CSTA in Omaha this summer.

Feels good to be back blogging again!