Thursday, September 30, 2010

APCS Principles Pilot Off to a Great Start

There are so many interesting things to talk about....

I sat in and observed the APCS Principles pilot class kickoff at UCSD and it was pretty darned amazing. A large lecture hall of (non computing major) students fully engaged with the class and participating. Beth Simon (instructor) ran the class like a pro. As previously discussed in this blog, she is using Peer Instruction in order to get students actively involved and boy did it ever work.

Hanging out in the back of the room I could both see and hear what was going on and the students were talking talking  - about the material. A typical sequence of events was that after discussing some material which the students had done work on prior to class, Beth flipped a question up on the screen  and started a count down timer everyone could see - GO! Students had about a minute to use their clicker to respond with their answer - which Beth could see coming in.  Virtually every eye was glued to the screen thinking about the question and then making their selection.

When time was up (a big colored "DONE" appeared just to make things more fun), Beth announced that they should now turn to their pre-assigned team of 3 and discuss a group answer - consensus required - GO! And the talking burst forth as each group discussed among themselves what they thought was the right answer. Up front on the screen the timer was counting down adding a certain degree of excitement (I kid you not). Before time was up each group had to submit their group response. Again, Beth could see the answers coming in and encourage groups to respond if they had not yet done so.

To make things even more interesting, a group of coaches had been assigned to the student teams and they were zipping up and down the aisles checking in to see if anyone was stuck or had questions. Not only that, they carried wireless microphones and if a student had a burning question, the coach was able to register to Beth the request to speak.

The interaction was so dynamic that it was fascinating. Listening in, I heard serious conversations about why such and such an answer was correct.

Finally, when group response time was up, Beth flipped up onto the screen a histogram of the class responses. There was virtual silence as every eye was glued to the diagram to see if they had chosen the correct answer. Beth asked the class to  volunteer comments, questions, and to defend what their team had chosen (not having yet shared the correct answer). And the requests for microphone time shot up - an incredible number of students wanted to speak.

Students were handed a microphone, and everyone could hear them. Beth discussed whatever they had to say and once again virtually everyone was listening.

As needed, Beth took the time to go over a question that many students had answered incorrectly and by writing on the overhead in her brightly colored pen (swoops, swirls, notes, arrows, diagrams) tried to make sure everyone understood the point.

And then it was on to the next round....

A lot of material was covered - certainly enough to keep anyone's brain processing away. Yet there was a feeling of "if we need to talk about it we will take the time and do so".

I did not see the usual "start to pack your bags 5 minutes early" activity that can signal students are ready to move on at the end of class. In fact, Beth and the coaches were swarmed after class with students wanting to keep talking.

wow.

Friday, September 24, 2010

Bicycle That Helps People and the Environment

The September issue of CACM (Communications of the ACM) has an interesting article on the development of a computing driven bicycle that helps people, cities and the environment. It has truly interdisciplinary application, including roles as an augmented exercise device, rider safety enhancer, social networking tool, aid to urban planning and a possible tool to help fight climate change. The bike, which recharges itself when the rider brakes, is loaded with technical goodies.

There is a Bluetooth device in the wheel hub and a smartphone on the handlebars. Information can be communicated to the rider about different routes, problem areas to avoid, potholes, etc. The rider can also communicate with other riders who are using the same type of bike - mobile computing goes mobile in a whole new way.

But the really cool technology is a group of sensors that collect information on carbon monoxide, nitrogen oxides, temperature, humidity and noise. The data is stored for review later (presumably so the rider doesn't crash from trying to read it while moving).  The data can be transmitted to city planners, urban designers and scientists working on climate change. Here is a brief snippet giving a glimpse of how the data can be used:

"The data can be cross referenced with information about land use at various points along the routes...help urban planners identify heat islands...pinpoint areas suffering from noise pollution or a concentration of exhaust fumes"

Not coincidentally, the bike, which is currently being piloted in Copenhagen, was introduced at the Copenhagen Climate Conference as part of a project to decrease auto ridership and increase bicycle commuting. It is very exciting to see that one of the primary concerns of the developers is to address an environmental problem.

Wednesday, September 22, 2010

APCS Principles Pilot: Ready to Go!

Day 1 of the pilot APCS Principles class is tomorrow and things are pretty much ready to go. This leaves instructor Beth Simon with a moment or two to reflect and wonder about something: just how are students in this unique and exciting class going to experience the class? In other words, where will the easy and tough spots be?

Other ways that Beth is thinking about this issue are - there is a wide demographic of students in her class. Some may major in ... well, you name it, someone will surely major in it! The student body is very different from what one finds in a standard CS1 course. It is a very interdisciplinary group. What will the best resources turn out to be for these students? The key items to make this the best computing experience they have ever had? (It may also be their first experience, which would make a very nice double win for  all).

It is easy to keep thinking about these questions from different angles. Aside from many in-place methods of getting to know students, working with them, and encouraging their efforts, Beth is considering having a student conduct some random interviews with members of the class, especially right at the beginning of the term, to see what she can learn. Within a few weeks, the use of Peer Instruction and the clickers will start identifying some of the places to pay additional attention to, but meanwhile, holding some friendly low key interviews student to student seems like a good way to get the word on the ground.

Friday, September 17, 2010

How Do You Understand if Students Understand???

Wow. Class starts in six days and we are down to the wire on some hard questions for our APCS  Principles pilot course. We have some very nice labs shaping up (we think. we hope). We have some very nice homework assignments shaping up (we think. we hope). We have some awesome lectures shaping up (we think and hope). But arrrrggggggggg. We will want to know, really want to know, if the students understand what they are doing! And we want to know it right away. Silly desire huh? Why would we care about THAT?

There are going to be some well tested uses of Peer Instruction in lecture, which will provide one mode of rapid feedback to us and them (and some other nifty lecture related in-class assessment activities). Good. Good. Good.

BUT....

But what about those labs and homeworks? Let's just talk labs although a similar principle applies to homework. There was a loooooooong and painful** discussion today about how to assess the labs not just for a grade, but to really understand and to help the student understand if they understand. Do they understand the "while loop" construct or not? Conditional expressions - understand or no? or parameters - understand?

Especially for the purpose of this pilot offering we want to find out what is going on cognitively - immediately.  Not just after an exam or a week or so later. But while it is still fresh. And to transmit that in a formative way to the students. So a score or a checkoff sheet may produce a grade (recall: 4 assistants per 40-46 students in a 2 hour lab) but we want more. In itself this is not new - it is always a pedagogical goal to have assignments not only produce a grade, but produce deep learning that both student and instructor can be aware of.

For our project data gathering purposes the goal is even more important. We are considering asking a set of questions as the last part of each lab that will serve as formative feedback and thought provocation for the student and give us some concrete info to pore over.

Set aside the large numbers of students for a moment. What exactly do we ask in this short list of questions? This is not the kind of question we ask our CS1 students. ("Do you really and truly and in a deep and meaningful way understand what you just did? Write an answer that thoroughly convinces us one way or the other please")

We are in uncharted territory. But we understand that.

** PAIN: definition provided by the Merriam-Webster Online Dictionary b : acute mental or emotional distress or suffering

Monday, September 13, 2010

APCS Principles Pilot Course: Designing Meaningful Labs for Humungous Classes

In the ongoing conversation about the APCS Principles course pilot project, today I am thinking about labs. I have been creating away... Lab creation, when a goal is to encourage creativity and exploration while making sure that design and coding content is covered  appropriately, in a given time frame, and in a way that can be assessed  (all of those 750 students....). Labs last two hours and pretty much run 5 days a week, all day. There will be 14 lab sections, with a 40-46 : 4 student - assistant ratio. The "assistants" are 1 graduate Teaching Assistant and 3 undergraduate tutors per lab. Students must attend the lab that they are registered for (no floating) which will help with keeping track of student progress and also with students getting to know their assistants. In a large class, that relationship can prove invaluable and needs to be encouraged. I envision a logistical nightmare if students were able to attend any lab on any given day or week. (Migraine anyone?)

With these kinds of numbers, every little detail has to be taken into consideration when writing the lab. Lab assignments are being designed with the intent that they be completed during the two hours. However, in discussing learning style issues, we are debating the pros and cons of posting the lab assignments in advance - what subtle messages would that send and is that productive or not? Is it fair?.....Does it make life easier or more stressful for the student?.....

Some students will  more readily "run with the ball" than others - a learning style issue rather than an ability issue. So the labs are being designed with two options of equal difficulty. One option will list the program code minimum requirements and let them loose, with a few reminders and suggestions about how to stay on task and not get lost in the technical weeds. The second option will provide a backdrop for the students to work within, and a scenario to use (for example: help a person to escape from a Southern California wildfire). The program code requirements are the same as with Option 1. We are taking great care to make each option be equally difficult/easy. And we want it to be FUN. (another scenario involves having fish swim around neutralizing ocean pollution).

After the very early labs that are fairly structured, the labs tasks will open up and encourage more and more freedom and creativity. The idea here is to support the general Alice philosophical approach of encouraging experimentation and "play" while learning. That makes creating them  both a challenge and fun. If it takes me 4 hours to complete my own lab idea, well then...hmmm. Too difficult. If I find Option 1 easier than Option 2, is that an accurate perception? hmmmmmm How many hints are appropriate and where to place them? hmmmmmmmmmmm.

There will also be an extra credit option for any student who whizzes through the primary part of the lab and has time to spare. The extra credit will put the pedal to the metal so to speak: add in something unusual, new, thought provoking. These exercises will not necessarily be harder in content; sometimes they may be harder in terms of design, or some other factor that we are trying to emphasize.

It will be interesting to see how students react to these two options. We intend to keep track of which labs students choose, if there is any pattern, if our intent for the level of challenge and "fun factor" plays out as intended.

This afternoon I was tasked with taking some time out to think again and more about assessing these labs. So now, I'm off going hmmmmmmmmmm about that. Stay tuned.

Saturday, September 11, 2010

The Post That Almost Didn't Get Written

So it seems a little weird to be writing a post about curriculum development on the anniversary of 9/11. I am thinking that in the greater scheme of things the AP exams are so...not important. And yes, that is true, they are not.

But ... There has been heavy media coverage about the rise of religious and racial prejudice. And recently (as I posted in Facebook) someone called me (in an intended to be nasty way) a "socialist" for suggesting to a third person that there was a historical reason why social safety net programs were put in place in the United States in the 1930s. Name calling is a traditional, old as history, method to intimidate someone and try to shut them up. There seems to be way too much ignorance. So I am writing a post today. Because today is *not* the day to separate my profession from bigger global issues.

One of my goals in life, professionally and personally, is to make the world a better place. That isn't news - I put it in my Blog Header. Thus I work to infuse social issues into curriculum development. In an academically sound and defensible way that aligns with content and standards goals.

The anniversary of 9/11 reminds me of a lot - including how important it is for those of us who teach to not silo off our content and ignore the world around us. What good is being the slickest programmer on earth if you have no clue what is going on in the world and how your code (whatever it is) affects it? What good is it to be able to develop the most sophisticated architectural designs if you have not thought about the different ways that they can potentially be used? I'm not saying don't code; don't design. I'm saying: think about the bigger picture too.

This is all about not sticking our heads in the sand. The next time someone infers (or out right states) that social issues are separate or secondary to technical academic content, I hope that whoever they say it to reminds them that it is technology, computing technology, that underlies almost every mode of transport (subways, airplanes, cars) we depend upon. Generally, these are good items, but as we painfully know, each can be compromised. And I just picked on transportation, because of what today is and what it makes me think of.

So what do we do? That is the point - we need to talk about it as part of our courses. And not just on the anniversary of a terrible event. So that each person can become more informed and then develop their own awareness and make professional decisions with that breadth of knowledge.

Computing can be used to help overcome barriers to communication between cultures, and to keep people informed about what is really going on in the world so that they don't have to rely upon anecdote and name calling.

Enough said.

Tuesday, September 7, 2010

UCSD APCS Principles Pilot Course: Lectures

Following up on my previous post about the UCSD implementation of the pilot APCS Principles course under Beth Simon, here is an on the ground report into some of our most recent discussions about lecture development, and with that, more background material about the approach the course will take:

Lectures: As I reported, Beth will be delivering interactive clicker based Peer Instruction (she reminds me that I can refer the interested reader to additional information on the use of clickers).  Beth is looking at different ways to integrate societal concerns into her lectures - this is going to be fun and challenging at the same time. You see, ideally, the lectures will include excellent examples of computing applications (among other possibilities) that are being used for good or ill (balance is desired) and that will plug into the course content on a given day. Beth has been doing some digging into previously published material. Another area that we may draw upon is the research I have been doing recently into computing centric, socially beneficial "real world" projects. Alternately, we may look for inspiration to other schools' curricular implementation of projects in "Computers and Society" courses. Or........as you can see, the conversation is just beginning. What is the most fruitful way to smoothly integrate societally interesting (from the students pov) issues into the lecture material?

Speaking of the material, I should mention that our base applications will be Alice for about 2/3 of the term, followed by Excel for approximately the last 1/3 of the term. These applications were chosen after several years worth of meetings (started prior to the APCS Principles project coming into existence) with the divisions who traditionally require this course for their students.  Psychology specifically requested Excel for their majors, and representatives from a wide range of perspectives that represent the freshmen decided that Alice should work nicely for the non computing (so far :)  first-years. Alice, smoothly transitioning into Excel while following the ideals of the APCS Principles project. And don't forget those 750 students :)

Next posts will continue most likely, with some discussion of labs and assessment development.

Friday, September 3, 2010

APCS Principles Course Development at UCSD

In an earlier post I discussed the new APCS Principles Course and the terrific opportunities it provides for integrating interdisciplinary subject matter and social issues with computing - aimed at a broad audience.  One of the pilots of the course is being conducted this year by Beth Simon at The University of California San Diego. I have agreed to work with Beth on this project. Although I will be collaborating wherever needed, my particular emphases are currently in two areas: lab development and evaluation / assessment.

This pilot poses some exciting challenges. First of all, Beth will be delivering twice weekly lectures to approximately 750 students. Yes, 750. The students will be from two very different audiences: one group will be upper division Psychology students and the other will be freshmen who may end up majoring in any area.  Most have not currently expressed a preference for computing (otherwise they would likely be enrolled in the CS1 course). All of the students are required to take this course. Students will be seated in three adjacent lecture halls. Using various pedagogical techniques that Beth has been refining over several years, including innovative use of clickers to create dynamic interchanges between student and instructor, this pilot will aim to demonstrate that the Principles course can be scaled to the largest of classroom audiences.

Among other things, Beth and I have discussed the need to integrate social and ethical issues into the course rather than take a typical and known to be ineffective approach of tacking them on somewhere such as the last week of class. This is an area where I will be heavily involved, starting with the labs I am developing. I intend to write a weekly update of our progress with this course. Although I will discuss anything interesting that comes up, I shall often focus on our progress with including interdisciplinary and societal issues within the course.

Wednesday, September 1, 2010

Cool Idea: Online Exchanges That Build Community

I'm not sure how often anyone aside from sociologists think about the negative effects of a society where people don't know their neighbors and aren't involved in their local community. That is us - we are often fractured. I'm sure the effects range from economic to psychological (this got me thinking....) I just read about a way that computing is being used in a really ingenious way to  engender and encourage community.

The idea is online gadget and service exchange, share, rental services. But not from some unknown entity that drops out of the virtual sky from who knows where. You sign up for something you'd like to borrow, or a service you'd like, and then you connect with someone local who has that to offer. For a small fee you get the object (or service) for a short period of time - to use, to test out. Then you return it (the object or the person :).  In the process you meet people who live near  you because you have to meet F2F to exchange the item or arrange for the service to take place. This nifty arrangement serves a need (obtain an item or service much cheaper than if you bought it outright) and in the process gets people to meet other people. There is incentive for everyone to be friendly - we both win.

I think that this is a very creative idea. It tackles a societal problem that many of us just take as "the way life is" because we are so busy. (Who lives downstairs? When was the last time I talked with people in my neighborhood?)

I'd love to have a Roomba for a day. Get this place clean and have fun at the same time. In fact I could use a Roomba, a Blackberry, an iPod, an iPhone, a newer model printer, a Kindle... I would love to check them out and play with them  to see how they  work real time. And who knows what fascinating people I'd meet! Much more fun and productive than reading a bunch of online reviews. Cool Idea!