Monday, September 24, 2012

Starting week 6

Well, time flies when you're busy...  I haven't written here for a little over two weeks, and there has been more good and bad in that time - but mostly good, I think. I was frustrated last time with students not doing the pre-lab reading before coming into the lab, and a pretty substantial portion of the class took my admonishments to heart. I've graded the 4th lab now, and there's a substantial improvement: of the 80 points that come from lab activities (20 are from a post-lab quiz), fifteen students - about half the class - earned 70 or more points.  That's great! Unfortunately, there are a few students (around 7) that clearly were not understanding the basic concepts and either didn't turn in anything or turned in something so incomplete that it earned 10 or fewer points. I've pointed out resources for these students (posted solutions and walkthroughs, tutors, office hours, etc.), but those suggestions haven't been very effective. For my students that might read this, you need to take the initiative for your own success - don't give up!

Overall class averages aren't stellar due to the difficulties with earlier labs, but of the 31 students only 8 are currently failing. While I don't want any students to fail, that failure rate is pretty typical for introductory computer science classes - maybe it's even a little better/lower than freshman science and math classes in general. I still take it as a personal challenge to bring at least some of those students up from a failing grade to the point where they have a better grasp of the material and pass the class - I know that can be done!

This week we start talking about algorithms, which I think is a lot of fun. We'll see if the students find this as fascinating as I do - hopefully at least some of my enthusiasm about studying algorithms will rub off. And then from this point on, we'll start looking at a lot of higher level and fascinating things in computer science: concurrency, distributed computing, cloud computing, artificial intelligence, security, and more. I'm personally looking forward to talking about big issues, and spending less time on low-level details of BYOB. Let's look at the cool stuff!


Saturday, September 8, 2012

Week 3: The good and the bad

Three weeks down, and some good and bad experiences this week. It was a short week due to Labor Day, so we only had one lecture and one lab. The good part was the lecture - we went through a solution from last week's lab (for Activity 3), and I showed the students a solution "walk-through" for Activity 4 that can be accessed in Blackboard. I pointed out that this week's lab depends on the Activity 4 solution, so if people who didn't get that finished last week they need to go through the walk-through carefully so they understand the solution before Friday's lab. It seemed like everyone was following this, or so I thought. We talked about Lab 3 and how things have been rearranged in the writeup, so that there is pre-lab reading that covers the concepts, more focused activities to do in the lab, and then the follow-up discussion/quiz. We went through everything that students should be doing outside of class, and everyone seemed to understand this: they needed to do the pre-lab reading by Friday, reading reflection for Blown to Bits Chapter 2 by next Tuesday, and Homework 1 by Friday. Then in the remaining time on Wednesday we did the planned lecture on abstraction, and for once the timing was spot on - good discussion, and ended up right at the end of the class period. So all in all, I was in a pretty good mood after Wednesday - things went really well!

Then we get to the lab on Friday. If this description sounds like I'm frustrated, I am. It's clear that students did not take the pre-lab reading seriously, and almost none of them did it. Many students were also in the dark about solutions to last weeks lab, and probably no one went through the solution walkthrough. One of the first things I asked in our discussion at the beginning of the lab was for someone to name the three kinds of blocks in BYOB. This was the whole point of this lab, and the pre-lab reading was all about the different kinds of blocks and how to build your own block of each type. The most basic of all things was the three types of blocks, and every single student should have been able to answer that question immediately: command blocks, hat blocks, and reporter blocks. If you couldn't answer that, then you didn't do the reading - or you weren't paying attention as you read. There is simply no way on earth anyone could have mentally processed the pre-lab material and not known that answer immediately, because the pre-lab reading was all about making different kinds of blocks. For my students that are reading this, here's the point: If you don't do the pre-lab reading, you will almost certainly NOT be able to finish the lab in the allotted lab period.

Since this class is primarily new freshmen, we talked earlier about differences between high school and college, and one of the main differences is how much learning takes place in class versus outside of class. Two-thirds of your time on a course will take place outside of the classroom - if you don't do the readings and other things you are supposed to do outside of class, you will fail. It's really that simple.

OK, frustration mode off...  next week we have an upper-class student starting to work with this class. He will be a liaison between my class and the high school version at Weaver Academy, and since he also works as a tutor in the CS/Math lab, he will be able to help people out who are struggling. I'll try (it's really just a matter of time, but that is a big issue these days) to create some additional practice problems for students who are struggling with BYOB. I'll do what I can to help students learn this stuff, but what I won't do is back off and lower standards or in some other way reduce what we do. And students need to stand up and take some responsibility, and make sure they are doing what they are supposed to outside of class - and if the material or pre-lab reading isn't clear, ask questions. There is the class discussion forum, my office hours, email, and more. There's no reason anyone should be unclear on the concepts involved before coming to lab.