Showing posts with label Computing Education Research. Show all posts
Showing posts with label Computing Education Research. Show all posts

Tuesday, November 4, 2014

My Spider Plant Made Me Write This.

Now what? An Outer View

I can't blame the foliage, but it's because I want to stop dictating blog posts to a piece of greenery at 4am that I'm breaking my unplanned silence. I've been dictating blog posts to the Spider Plant. Ok fine, but they haven't been getting from there to here. What gives?

In a recent Twitter message, someone pointed out that science bloggers write when they just can't stop thinking about something.* But I have been thinking non stop, at speeds that defy measurement, for months now. I have been radiating ideas, any one of which could have become, but haven't become, a great blog post. For example:

The Computer Science Education Research class I'm teaching this Fall provides endless opportunities to discuss what happens when you have undergraduate CS students conducting real, not toy, research on real, not toy, human beings. The qualitative research methods we use cause the computer science  and social science worlds to collide. No number crunching here. One of my favorite quotes from a student discussing his experience conducting a research interview "...and then my brain exploded". Hearing what people are really thinking in an unfiltered way can do that to you sometimes. It's one reason I love qualitative research. It's one reason I love this class.

My other class, Great Papers in Computer Science, is no less stimulating. Unlike a traditional "Great Papers" class, we wrap our heads around the non-technical factors that aided and abetted a seminal paper having the impact that it did. Just yesterday, when someone asked what an example of a psychological factor would be, we found ourselves discussing how McCarthyism bred fear, and  speculating how that fear likely led to certain kinds of research and publications being supported while others were suppressed. On a lighter note, and in another era, someone jested that Hippies might have had a connection to the development of Unix. Maybe not Hippies per se, but I can envision formulating an argument that there was a direct relationship between the Civil Rights Era mindset and the later Open Source Movement.  I love that class!

In my work as a Independent Evaluator for education research projects, I have been crisscrossing the country quite a bit recently and each trip fills my head with ideas. For example, just last week I found myself thinking, not for the first time, about how early childhood development relates to the ability to acquire computational thinking skills. How early can children learn to code? What constitutes coding anyway? How does teaching computational thinking morph eventually into teaching computer science? What role do teachers play in this transition? What do teachers need the most to succeed? What are the critical leverage points?

Those examples from my teaching and research are only for starters. Why hasn't it all come out in blog posts?

For the past few months I have been focused on People and Process. Relationships. In itself nothing new, but perhaps more than ever; it's like a fire under my feet and burning up and out. Among other things, ever since I stumbled on the Science Communications community a few months ago I have wanted to know where computing and technology fit in. Can fit in. Should fit in. Why aren't we there? 
My mind was like this
Yesterday in class, one of my students said something to the effect that it could be hard to speak up in class when there was so much going on, so much being discussed, so many stimulating ideas, that you could get lost in a sea of potential.

That's it! My radio silence wrt blog posts hasn't been about writer's block or lack of ideas. The process of writing, assuming there ever was "a process", is, yes, about being unable to stop thinking about something, but that something isn't always directly a technology or science issue. Perhaps I thought I had nothing to say to my predominantly tech audience because I was being consumed by thoughts of the importance of people, process and relationships.

What ever was I thinking? I'm going to go fertilize the Spider Plant right now.


*Thank you Paige Brown Jarreau @FromTheLabBench for aiding and abetting the foliage


Tuesday, September 16, 2014

ACM Education Council Meeting - Day 1

Ceiling Lights with an Encoded Message?

What a wonderful brain sucking invigorating day at the ACM Education Council meeting. We hit the ground running with a stimulating discussion of Data Science and Computing Education and barely slowed down until many long hours and too many sugary cookies and bad coffee later, we ended with a discussion of the current status of the Ensemble Computing Portal. In between we heard about and discussed the latest on AP CS Principles, (I learned what a "MOOClet" is*), code.org 's education, advocacy and outreach activities, goings on with the CSTA, various ACM SIGs with education initiatives and ....

I happily tweeted about it all day, performing a spontaneous ear to brain to finger transfer of interesting goings on. (twitter handle : @lisakaczmarczyk) You can check my feed for a dynamic view of the day. It crosses my mind I could go back, pull those tweets and create a poem from them. I'm putting it on my To Do list for when I need  a mental break . I feel creatively inspired.

Unofficial theme of the day: interdisciplinary. The discussion of Data Science, presented by Heikki Topi from Bentley College, was an exciting way to start the morning and get us off on a brain stretching foot. Data Science is an intersection of statistics, IS, CS, Math, Informatics, and various domains of practice. Methodologies in use include those found in machine learning, data management, data visualization, statistics, sensors, programming, scalable hardware and software systems. We find Data Science in the environmental, physical, and social sciences. None of this would be possible without significant contributions of the computing disciplines.

The above begs the question: how should computing education be involved?  Not a straightforward question and the answer deserves deep and broad consideration. We barely started the conversation this morning. For example, consider this: Should there be universal learning objectives?  

A conversation to be continued! As Heikki pointed out, there is an opportunity (an imperative?) for interdisciplinary collaboration, with a goal of our contributing to achieving a high quality of [education] programs. 

I have come to think of active and engaged teamwork and team building as an interdisciplinary enterprise. Teamwork opportunities and challenges came up often today. For example, we heard a report on the [deep breath long name coming] Partnership for Advancing Computing Education Research (PACE) Workshop hosted by the National Academies and funded by the NSF. Attendees represented a range of computing sub-communities and, among other things, revisited the truth that they have common interests across computing education (e.g. the pipeline problem). An important question becomes: What can we do to build structural mechanisms that enable these computing education research sub-communities to work together?

The most intense part of the day for me came when we broke into sub groups to make actionable education priorities for the Education Council. The groups were: Diversity, International, Cybersecurity, Curriculum (there was one more but I'm blanking on what it was). Each group's task was to come up with two concrete recommendations for the Council and Board.

I joined the Diversity group. It was a challenge - we rapidly found ourselves discussing the recent media storm around the revelations of poor diversity numbers in tech companies, the violence that takes place in some online communities  and the fact that even when URM groups make it through a degree program unscathed, they all too often encounter a culture that causes them to leave. The word "ugly" came up more than once. At moments it was painful. The long and the short of it was that we decided to take the initiative to form a task group and further discuss how we can work for cultural change.  We felt we had so much to say and so many ideas for consideration as action items. I'm proud of our group for deciding to take this on. 

I don't want to end this post on that note. It is an unfinished story and there will be more. I'd rather note that across the several SIGs we heard from 

(SIGCAS - computers & society, SIGCHI - human computer interaction, SIGGRAPH - siggraph..., SIGPLAN (formerly OOPSLA), SIGITE - Information Technology, and SIGCSE - computer science education ) 

we heard over and over again about the intersection and overlap of education concerns, even within separate sub-contexts. People want to find common ground and combine forces on many concerns and initiatives. Someone pointed out that we (computing education) have come a long way in a short 4-5 years. It is heartening and exciting when you step back to look at the big picture. 

Tomorrow, we continue. My twitter feed will continue. I'll be doing my part to get the word out and incidentally generating material for my future poem.


*a small MOOC

Wednesday, August 14, 2013

ICER Day 3: Theory in Practice via Food

When the inside of the brownies are uncooked it is theoretically much easier to not eat them. Unlike for pepperoni, the theory that removing the bits of sausage from the surface will result in the elimination of the meat from the pizza proves to be incorrect. Fortunately, three days of incredibly stimulating theoretical and applied discussions at ICER have prepared me to apply my newly primed computational thinking skills to the task of applying some of the theoretical constructs we learned in a greater context.

Were I to assess the brownie/sausage learning experience via an Active-Constructive-Interactive Framework (attributed to Chi and discussed as part of Quintin Cutts talk) in conjunction with Peer Instruction (PI) I would have to design a PI-centered analysis such that we moved through the Passive Stage (stare at the offending food items) to the Active Stage (cautiously pick up the offending food items) to the Constructive Stage (wrap the pizza around the brownie taco-style) to the Interactive Stage (turn to my friend and offer to trade my sausage brownie taco for her broccoli) while sending an unhappy message about the brownie via Clicker to the Dining Services food database. The pizza mess up was totally my own doing.*

If I assess the brownie/sausage learning experience while holding a Theory View of food choices I would decide that whether or not to eat raw dough and invisible sausage bits was only relevant if the problem was not NP Complete. If, conversely, I held a Programming View I would write a Python program to compare and contrast the tradeoffs of not eating at all vs. eating food that bordered on the undigestible. If however, I held a Broad View, I would pause and evaluate at length the possible origins of the dough, the sausage, the intermingling of ingredients as the two situate on the same plate, and the effect upon the ecosystem if they pass through my body or go straight into the trash bin.**

In the event that I approach the entire episode from an experiential perspective and applied the Zones of Proximal Flow theory (as presented in Alex Repenning's talk) I would take stock first of the momentary Anxiety I felt after I swallowed the solid lump of dark dough and felt the greasy sausage remainders sliding down after it. Then, as I became accustomed to this challenging experience and realized I could perhaps leverage the unwanted protein and sugar in new ways, I would make a mental note that I was in Vygotsky's ZOPED (Zone of Proximal Development). With the assistance of an experienced wise person, I could be scaffolded into a state of Flow (as made famous by Csikszentmihalyi), buzzing along with full attention on the post-lunch presentations and discussions - totally unaware of the nutritional experience taking place below. Much later, after I had fully mastered the experience of the afternoon I might find myself Bored. I'm happy to say that never happened. Although if I had I might have been challenged to eat something even more offputting and start the whole process over again.***

And so it goes. It was no doubt the depth and solidity of much of the research we heard over the last three days that led to so many members of the audience feeling happily brain fried. Whether presenting quantitative statistical results or rigorous qualitative analyses, or while engaging in dynamic give and take with a sometimes hard core questioner, the bar remained high.  Ray Lister, who is known for his willingness to say it like it is, made the point quite well when he said how much he hates claims that begin with "In my experience...." Ray called this The Yoda Argument. Brownies aside, Yoda was not present at ICER 2013. Yet we had a heck of a lot of fun while we learned - good pedagogical theory seen in action.

*(with sincere apologies to Quintin Cutts who, I hope, will forgive these unwarranted extensions of his rigorous and compelling work on engagement in the university computing classroom)
**(with full apologies to Mike Hewner who presented these Views of Computer Science as the heart of his research results, with absolutely no intention they be applied in this manner)
***(more apologies, this time to Alex Repenning who gave an incredibly  fascinating and solidly supported research talk on integrating computing into the middle school classroom with absolutely nothing remotely resembling unsound nutrition)

*****Overall the food was wonderful!!!!! Just want to make sure I said that***** 

Tuesday, August 13, 2013

ICER Day 2 - Variables Are Hard to Grasp?


One thing I love about ICER is the format: it is designed for interaction. We don't just sit there, sliding progressively lower in our seats as the days go on, hoping for the next coffee break. We listen to a speaker and we discuss the talks and we have spirited Q & A sessions.There were quite a few radical ideas tossed out in today's presentations. In great part because the speakers were, for the most part, energetic and comfortable with uncertainty. I can't count how many times I heard something along the lines of "and these results [just presented] leave us with more questions than answers". At which point we all would happily leap into the discussion fray with each other and the presenter. And no one seemed to take offense, as I have seen in some other research conferences when presenters take themselves a bit too seriously.

Cognitive learning theories were at the heart of the first two talks and there was some radical stuff here. For example, in the first talk of the morning Linda Seiter spoke about her work with computational thinking and primary school students. Not high school, not middle school, but primary school. 2nd grade, 4th grade, 6th grade. We don't hear about research on computing in kids this young very often - not by computer scientists at least. That in itself made me sit up in my seat.

One of her fascinating results started with the discovery that kids have an easier time learning computational concepts that we take as given to be harder, and that kids have a much harder time with concepts we assume are easier and thus teach first. For example, multi-threading, blocking, and synchronization come much easier than variables. It turns out that the concept of variables is really really hard - it isn't a natural concept at all. Young kids just don't grasp variables. Whereas they do grasp those OS related terms I mentioned.

Hold that in your head and then add in this: Linda  also said that 8th graders have similar computational thinking skill abilities as the college students she teaches and they run into the same problems. So although there are periods of predictable cognitive leaps as kids develop (4th - 5th grade seems big) , in terms of skill acquisition ability in computational thinking, there doesn't appear to be much change between 8th grade and freshman year of college.

If that is the case, should we rethink our decades old accepted wisdom about what concepts we teach first and what is necessary as foundational? The work we were hearing about focused on K-12, but what about university computing curricula? We have been beating our heads on the wall for decades on some of the same CS1 and CS2 problems - what if, instead of continuing to rework, tweak, re-present the same basic set of introductory concepts in the hopes of getting them across better - what if instead we look at upending the entire curriculum and putting the so-called hard concepts first? What if many of these aren't really the conceptually hard concepts at all? Conversely, what if the stuff we think of as easy and fundamental gets pushed out much later? Junior year? Senior year?

Why, for example, do we teach variables right off the bat anyway? Because we always have? Because all the textbooks are written that way? Because everyone does it that way? Because they are obviously simpler concepts? Because this is so fundamental to our belief system that we don't question it? Because it would be scary as heck to throw it all out the window? We can come up with lots of reasons why this paradigm shift (as it most definitely is)would be impractical to try. But when have true paradigm shifts ever been comfortable or without large speed bumps along the way?

Here is one of my favorite quotes from this morning: 

"As a teacher you need to forget everything you know and think like a first grader"

Although directed at teachers and researchers working with first graders, I think that it would be healthy for all of us to periodically think like a first grader. Before we have internalized so many fixed notions of how the world works, and, to quote back from yesterday's post, before we have developed Functional Fixations.


Monday, August 12, 2013

ICER Day 1: An Unexpected Foray into Learning & Design

A Layout

Synchronicity can be a freaky and wonderful thing. Within the first two hours of the ICER conference today I realized that I had not left Design behind (see my last several posts), and that a book I am currently reading (and will eventually post about) on egotistical versus empathic people in the corporate world was directly relevant to pedagogy and computing education.

The keynote speaker today was Scott Klemmer, who, in spite of what that link says, has just moved here to UC San Diego, apparently split between the Cognitive Science and Computer Science departments. He was originally trained as a designer and it showed as he took us on an interesting adventure around UI design from the back end - code in other words. He started out with the statement "View Source is a great example of UI design". That got my attention - to spend the next hour talking about the UI (UX) aspects of something users never see (code) but computer scientists see day in and day out. How very very cool.

In contrast to the industry-oriented conference I reported on a few weeks ago, ICER is an academic conference. Thus, Scott's talk was loaded with wonderful theoretical backup, explanations, references and citations, thought provoking ideas and suggestions that researchers love to roll around in. It was great.

So when Scott said "intuition is a difficult thing to teach students" it was the opening volley into wide ranging but highly focused and well supported discussion about using examples to aid learning, to generate creative design, to generate effective design, to arrive at quality prototypes while building group (i.e. team) rapport. One theme: sharing and adapting examples is good technically and good for learning purposes. But in a much deeper way than you might think. The discussion then rolled on into the role of peer assessment in design and how it can be used in software tools. Drool.

One of the interesting areas Scott has worked on is researching single vs. parallel design development. We know (the "research We" for those not used to the lingo) that people become ego attached to their own ideas and are loath to let go of them, even sometimes to their own detriment. It is called Functional Fixation and was written about back in 1945 by a guy named Dunker. But, we are learning that this ego attachment is reduced significantly if people develop multiple ideas in parallel. It becomes much easier to hear critique and drop one idea for another if you have several ideas to compare and contrast. As opposed to if you have only one idea and you are completely invested in it's success or failure.

Lots of very practical application along with some wonderful theory - established theory and theory being built. Some of what Scott spoke about was targeted at formal pedagogy but I can easily see it adapted without too much effort to an industry setting. For example, he spent some time on how to incorporate self-assessment and peer assessment into the development of designs and prototypes in the computing classroom. One of the big challenges, as educators are all too painfully aware, is that novices aren't always very good at providing useful feedback. Even when the faculty supplies an assessment rubric as guide, all sorts of issues arise - if the rubric is too specific, it can stifle creativity and lead students to just check off the boxes without any deep thinking; yet if the rubric is too abstract it can lead students to have no idea what to do with it and either flail or provide random, not very helpful, feedback.

Here comes the useful research note that provides insight into not only the classroom, but the business world too (I refuse to say "the real world", because schooling is real; where ever you are at any moment in time is your real life).

Novices have a very hard time with abstract rubrics. The question becomes how to operationalize a rubric for the particular level of students you are working with? (CS1, CS2, an upper division course)? We have research about how novices become experts and how along the way they gradually become more able to deal with abstraction. Thus, the rubric that works for a sophomore level software engineering class is probably not the same one you'd use for a senior level software engineering class or for a newly hired software engineer or for a seasoned developer.

A technique, one that Scott is working with, is to create the rubric such that up to a certain point it is fairly concrete (i.e. you can get 90% of the possible points) and after that it is more abstract (you want an A, then you have to go above and beyond). What he didn't discuss, but where my thoughts were going, was that you could take the same (or similar) rubric and start shifting that abstraction point downwards as you work with more advanced students or professionals.

Fascinating idea to consider. Fascinating idea to strategize, design, prototype, implement.

Tuesday, December 11, 2012

M & M s

Definitely Not A Hot Topic

Two puzzling phenomenon have been running around in my head for some time and I'm wondering if there is a connection between the them. If there isn't, let's make one.

I spend a lot of time working with researchers in the computer science education community, and I have at least one of my limbs firmly planted in computing education policy circles. There is, I suspect, no computing educator or affiliate who is not familiar with "the MOOC question". One of computing education's favorite topics of conversation for several years has been the Massive Open Online Course. Things are only heating up. Who is involved in their creation and propagation, who is not? Where is the quality and where is it lacking? What is the potential and what is the threat? How do we respond?

There are probably those who would rather sit this one out. In response to that and other burning MOOC issues, in my next column for the ACM Inroads Magazine, due to appear in March, I go on for about 1000 words about the importance of engaging  creatively with MOOCS. I don't hear too many people vocally advocating for ignoring MOOCS. That would be inherently contradictory.

The point is: in computing education circles, the hottest topic of the day is, arguably, MOOCS.

Not so in the private tech sector. I also spend a lot of time with people in the private sector and many of them barely know about MOOCS. Or they simply don't feel it is of concern to them. Having done a bit of asking around, I hear, and am told by well-placed friends as well, that the private tech sector isn't all that engaged with the MOOC question. There are a whole host of reasons why they should be engaged with it. Maybe I'll write a column about that...

On the other hand, one of the hottest topics in high-tech is Mobile. Mobile is not The Future. Mobile has Arrived, as one of my UX (User Experience) colleagues reminded me recently. The markets are hot, hot, hot in all sorts of places related to hardware, software, services based upon Mobile. If you aren't into Mobile you are behind the innovation curve. Those industry colleagues I know who aren't working with Mobile in some respect say, either aloud or quietly, they wish they were. Or, at the very least, think they should be. Whether for personal interest, professional mobility (ouch), or simply for not being perceived as behind the times.

As with the MOOC issue and computing educators, it is an endangered species of high-tech employee that will advocate for ignoring Mobile.

On yet another hand, computing educators and in particular computing education researchers don't seem to be doing much with Mobile. The primary discussions about Mobile are about how to get students to unglue from their devices and pay attention to their education.

Which brings me to the burning desire to ask:

What are the possibilities for getting the greater high-tech industry more actively engaged with MOOCS in creative positive ways? 

What are the possibilities for getting the computing education / research community more actively engaged with Mobile in pedagogically creative ways?

Mobile MOOCS? 
Not a far fetched thought at all. 
What else?

Tuesday, November 20, 2012

What Do Elections and University Lectures Have in Common?

If you said "Ug" or something to that effect, you are not alone. Countless voters and students would agree with you. Making the effort to vote and the prospect of attending large lecture classes engender similar non-plussed reactions in many people.

I have been percolating on a relationship between the challenges of encouraging active, informed participation in a democratic electoral system and the challenges of encouraging active, informed participation in a traditional large college lecture course.

No doubt the alignment popped into my head earlier this month. Not only was it the waning days of a long painful national election, but I was simultaneously onsite with a university team that is developing an innovative model for increasing intrinsic motivation. Their focus is on those huge lecture courses often seen in large public institutions. The electorate, like the student body nationwide, may feel "I'm just a number, what does it matter, I have no real voice". Why bother to pay attention?

All of which leads to an electorate declining to vote, and/or voting without digging into the facts and implications of individual candidates and issues. Similar perhaps to students declining to attend class, and/or turning in homework and projects without truly engaging with them. Cynics stand back! because participation really does matter.

Hmm...

In a local election one's vote can make a visible difference, just as in a small intimate class one's voice will be more easily heard. In neither case will things always come out the way one wants but receiving feedback that one is making a difference often leads to increased intrinsic motivation. More participation follows, more positive learning results.

Some of the similarities don't cross over as well. Small intimate classes tend to be better attended than large impersonal ones, whereas local elections sometimes experience worse turnout than regional or national elections. Of course, attendance in a small class can occur because one loves the class or because one doesn't want to be called out for skipping. Be that as it may, avoiding punishment is an extrinsic motivation and doesn't lead to greater learning for the long haul.

Sad to say, I have no immediate implementable-today suggestions about how to tackle the problem of an electorate that lacks an intrinsic motivation to vote.

However, the educators and researchers I am working with in the Engineering School at the University of Illinois at Urbana Champaign are creatively tackling the intrinsic/extrinsic motivation challenge in the large lecture class.  For those of you not familiar how tough the situation is, consider these typical factors, which represent only part of the complicated picture around the country:

- Several hundred students are enrolled in a class with just one faculty member assigned to teach the course
- Class meetings are scheduled several times a week in a large impersonal lecture hall
- Smaller breakout sessions (sometimes called labs, study sessions, 'sections') are held once a week, and led by a graduate student teaching assistant
- The faculty member has little formal training in state of the art pedagogical techniques and no resources or ability to seek it out

On the other hand,

- The faculty member truly cares about her or his students' learning and wants students to succeed
- Teaching assistants also care about student learning and may have an eye on a future teaching career
- There is much well supported research about the factors that motivate or demotivate people towards creativity and towards going the extra mile. We know a significant amount about what does and does not encourage intrinsic motivation.
- Much of this research has been conducted on individuals or small groups.

I've given you some big hints about what the team at UIUC is up to. What do you think they might be doing?

Wednesday, May 23, 2012

Source Code Commenting is Writing

An Example of Poor Commenting Practice
As part of a research project I am involved with* I have been pondering the problem of computing students not liking to include comments within their source code. This is an old problem, well known within the computing education community. I suspect that over the years there has been much head banging on the part of faculty who despair of getting their students to take source code comments seriously, and much head banging on the part of students who just don't see the point. At times the problem appears intractable.

Why do so many people dislike writing? Because we are talking about writing and it isn't just source code comments. Many people (not only students!) will go out of their way to avoid natural language** writing, or will throw something together and spend minimal time making it comprehensible to others. If writing was taken more seriously, then perhaps articles, white papers, grant applications, reports, presentations wouldn't be procrastinated to the last moment such that "there wasn't time" to create kick-butt effective prose. If you have ever served as an NSF panel reviewer or for that matter a peer reviewer for ... well, anything... we feel each others pain.

**Natural language refers to languages such as English, French, Arabic, etc.

The idea that writing code and writing natural language have parallels is not new, but there has not been significant pedagogical research delving into the comparisons. There is much literature on teaching writing which is read by those who teach in departments such as English or Literature. There is a somewhat sparse literature in the computing education community about parallels between developing source code and natural language prose.  

Good source code comments take thought and consideration just as good articles and reports do.

As far as I know there is no literature evaluating the similarities and differences between code commenting and natural language writing*** There are many possible reasons, such as the possibility that there aren't that many people who are pedagogical experts in both coding and natural language writing.

***If you know of any literature on the topic, if you have written any, please let us all know! 

Meanwhile, let's toss out some thoughts to grease the cognitive wheels, shall we?

Natural language involves using words from a spoken language. Source code comments involve use of words from a spoken language. What are the similarities between a well constructed natural language sentence and a well constructed source code comment?

Natural language writing involves developing a logical narrative (in most cases). Source code comments  clarify a logical narrative derived from the source code. What procedural lessons can be gleaned from the extensive literature on structuring logical essays and applied to source code comment development?

Students who like to write code often go out of their way to shortcut or altogether avoid writing comments. Students who like to write code often go out of their way to shortcut or altogether avoid writing papers, essays, etc. Students who have never seen a line of code often go out of their way to shortcut or altogether avoid writing papers, essays, etc. Motivation motivation - what leads to someone developing a healthy respect for a well written article and how can we apply the same psychological principles to source code commenting?

While I was teaching a computer science course at UT Austin I took advantage of a grant funded initiative, provided by the university writing center, to spread pedagogical best practices in integrating writing across the curriculum.  I learned there is an enormous body of literature detailing effective strategies for teaching and learning writing. Equally important, it became clear to me that Coding is a lot like Writing...er, Coding is Writing.

Now I would add: Source Code Commenting is Writing.

After you get over the blindingly simple obviousness of that statement, think about the potential implications for the challenging task of encouraging programming language learners to produce more and higher quality source code comments.

I'm wondering how often pedagogical writing professionals hang out with pedagogical computing professionals. If they do, do they talk shop? What about comparing notes on pedagogical writing strategy? They ("They" being the non-computing members of the conversation) have many decades (centuries!) of experience to draw upon and share. I suspect there is an opportunity as well for knowledge transfer from computing to natural language writing. We share many of the same challenges (improving: motivation, quality, quantity, process, evaluation techniques, perceived value).

It might take some time to become comfortable with the different cultures and to develop common communication. That's nothing new for interdisciplinary computing buffs. Let's start the conversation.


*Comments in this post are my own creations and do not represent the official views of the COMTOR project or its team members!

Sunday, March 4, 2012

SIGCSE 2012: Robots, Mobile Apps, Visualization & More


Oh, wishing once again I could have been in several places at the conference at once! Perhaps someone out there can develop a Conference Clone. Saturday, although only a 3/4 length day, was as packed with events as the prior days. The torrential downpour in the morning played in my favor, as, in spite of sleep deprivation, by the time I walked the .8 mile to the convention center I was happily soaked and feeling full of life. Nature has a way of doing that.

First up were the presentations by finalists in the Undergraduate Student Research Competition. There were 5 students and all of them had done very nice work and made equally nice presentations. One of them was about "green computing" and energy consumption. The student was Stephanie Schmidt (Sonoma State University) and her research title: "Modeling the Power Consumption of Computer Systems with Graphics Processing Units (GPUs)". Another excellent presentation and body of research was presented by Elizabeth Skiba from SUNY Geneseo : "Experimentally Exploring Algorithmic Descriptions of Three-Dimensional Geometry". I had visited her poster the day before. Although I know very little about the subject matter (some serious physics here) I was able to follow her talk quite well and was not at all surprised when she subsequently won 2nd place in the competition. I believe Elizabeth is graduating soon - I hope she gets some great job offers.

Due to the lack of that Conference Clone, I was unable to attend the paper presentation "Mobile Apps for the Greater Good: A Socially Relevant Approach to Software Engineering" by Victor Pauca (Wake Forest University) and Richard Guy (University of Toronto) but I read the paper and was very excited by its contents. They write words close to my heart  about the potential for exciting more students about computing and career possibilities by presenting them with real life socially relevant projects to tackle. Strange coincidence, but the day before I left for the conference I turned in my next Inroads Magazine column (it will appear in about 3 months) which specifically targets mobile devices for innovation in the classroom. The SIGCSE paper discussed the authors' implementation of a software engineering class where students created assistive technology iOS apps for people with disabilities; student teams used the Scrum methodology in their projects for real clients. The authors bring up the challenge of intellectual property questions, which was also a hot topic at the conference (see yesterday's post about Hal Abelson's talk). Their work will be something to keep an eye on, especially if you teach and are interested in developing socially beneficial curriculum.

There was the Robot Circus which was so much fun!!! One of the little robots (shown here on the left) kept crossing over the official boundary and heading straight for my feet. Somehow, it always turned at the last moment. But then it came back. I think it liked me :)

If you were at the conference and attended Saturday lunch you heard the fascinating talk about data visualization by Fernanda Viegas and Martin Wattenberg from Google. They are interested in lay uses of visualization and visualizations as social catalysts. An interesting point they made was that the visualizations are not an end in themselves. Creating a fascinating visualization of wedding invitation data for example, is not just for observational purposes, but leads to action on the part of the wedding planners. I have virtually no formal musical training, but when they showed how their visualization tools could extract structure from musical scores I was able to immediately grasp complex differences between Led Zeppelin, Scott Joplin, Beethoven, John Coltrane and Clementine (yes, that simple little folk song!). And then there was the eye opening visualization of personal ads written by men. You would be amazed how often "I am married...but" "I am married...and" appear!

The conference is over and I am already looking forward to attending next year!

Friday, December 16, 2011

Challenges to STEM Education: Is it About Sex?

I am disturbed by what I read today in the book "Nerds - How Dorks, Dweebs, Techies and Trekkies Can Save America* and Why They Might Be Our Last Hope". If you have a background in education, or simply opinions about the current state of STEM education (who doesn't?) the author's beliefs about where "reform" is needed are eye opening. (Hint: we need to pay attention to kids thinking about sex)

Anderegg (the author) builds a convincing argument that kids start learning at a very young age that "nerds" are social misfits, unattractive and bound to be sexual failures. Agreeing with this thesis leads to the conclusion that all the emphasis in the world on testing and assessment, all the attempts to show the economic benefits (good job, high pay) of a career in STEM will fall on mostly deaf ears, because: kids aren't making their decisions based on our adult logic. Kids make their decisions about what to study and feel proud of based upon social cues and a driving desire to fit in. By the time they are old enough to realize the innacurracies of the nerd stereotype it is too late.

Unless we are heaping criticism on a public figure, we don't like talking publicly about things like sex. (Does the idea of discussing sex and computing education bother you at all?) 

American cultural anti-intellectualism  is looking very guilty right now with regard to our problem attracting students into, and into doing well in, STEM classes. 

If you buy this argument, it is no wonder we have such difficulty making computing careers attractive. Worse, because computing is everywhere we have a looming national crisis when large numbers of students turn away from computing education.

Although Anderegg does not (so far; I am still reading) separate computing out from science and math, I think we should do so for purposes of problem solving. For example,  he writes that biology is as shunned as other sciences. He bases his arguments in great part on his clinicial practice as a developmental psychologist. 

Computing educators and researchers see another set of data. Computing educators have amassed significant evidence that certain populations of students (e.g. women) are frequently drawn to biology. Showcasing the role of computer science in biological  careers can put CS in a better light (from a student's perspective).  I have written in the past about educators who are making connections between computing and the arts, music, social sciences (and other sciences) too. Students like these connections and revise their perceptions of computing because of them.

So on the one hand I am incredibly disturbed to see the evidence pile-up in "Nerds" telling us that we are approaching STEM education with blinders on.

On the other hand, and you really should read the book "Nerds" yourself to decide, I am incredibly relieved to read something that not only sheds new light on how serious the computing education challenge is, but provides a way forward.











Friday, October 7, 2011

Ada Lovelace Day: Thank You Nell Dale

Today is Ada Lovelace Day, and there was a call put out to write about someone who has made a difference in your life. After thinking it over, I decided that I want to write about someone who through a act of kindness, trust and a willingness to take a risk completely changed the course of my career.

I'm speaking of Nell Dale, who is well known to almost everyone in the ACM SIGCSE community and many people beyond it.

In the 1990s I was working full time as a computer science instructor at a wonderful community college - Chemeketa Community College in Salem, Oregon. I was in charge of all aspects of the transfer program. The position was wonderful, exciting and stimulating, with significant responsibilities - in some ways a dream job.  I was developing all the transfer courses and teaching all of them, I was running around the state of Oregon creating articulation agreements with the Universities, I was doing....many things. I could see the direct results of my work on students' lives. I had an inkling that I was interested in research so I just started doing it by the seat of my pants. I certainly had no formal training in it at that time. It was exciting.

However, as not only the only woman in the department, but the only CS faculty member who had a formal computing background (I'm pretty sure) and the only one interested in research as well as in teaching, it was sometimes a bit lonely.

Along the way I heard about the ACM Special Interest Group on Computer Science Education (SIGCSE) and I joined the listserv and conversations. It was wonderful to have others to exchange ideas with.

Somehow, through that channel Nell, who was on the computer science faculty at The University of Texas at Austin, learned of my existence. One day I received an invitation to be a member of a panel she was putting together for the next SIGCSE conference. I had no idea Nell was so well known and highly regarded or that she was right smack in the center of everything SIGCSE. I had no idea that SIGCSE was a conference loaded with people who I would eventually come to think of as family. All I knew was that I received this invitation from a complete stranger, asking if I'd like to be on a conference panel and I said Yes. The panel was accepted, and the next thing you know I went to San Jose and met Nell Dale in person shortly before we gave our presentation!

I was in the "wow wow wow" stage, and showing my newbieness by trying to get my hands on every free textbook that I could and stuff them into my exploding suitcase. During one of the conference lunches, Nell and I were talking and I said something about my interest in conducting research. Nell said: "You should come to Austin. The University of Texas at Austin has a computer science education research group". I didn't know much about UT and I knew nothing about Austin - or Texas for that matter. Both are now places very dear to my heart. During and after that lunch I thought about Nell's comment. Long story short, a few years later I picked up and went back to school for my doctorate, where Nell indeed was leading a wonderful group of people all interested in computer science education. Participating in that group was a wonderful experience, full of synergy, exciting ideas, passion. I had found a home. One thing led to another and I eventually created an interdisciplinary dissertation and coursework that spanned computer science, psychology, science education and math education. My education and the supportive relationships I formed in those almost-7 years were incredible.

None of this would have happened, the snowball would never have started rolling, if Nell hadn't reached out one day over a listserv to a complete stranger and asked if she wanted to join a panel. I have always remembered those acts of generosity to a newbie and have tried to emulate her actions in my own.

Thanks Nell.

Tuesday, August 9, 2011

Computing and Studio Based Design in Industry, Fine Arts and Architecture

One of today's most food for thought-ish ideas at the ICER conference (from my pov) started with the presentation of a paper by Chris Hundhausen from Washington State University entitled "Prototype Walkthrough: A Studio-Based Learning Activity for Human-Computer Interaction Courses" (HCI). Chris pointed out that studio models have been used for years in Architecture (of buildings and other structures) and Fine Art. The idea of experimenting with a studio model in computing courses is not in itself new. Studio courses have been tried in lower division computing courses and a few other places in the curriculum.

What really got my attention was when Chris, who worked for a few years at Microsoft Corporation as a Useability Engineer, claimed that industry uses a design model very much like the studio model and thus there was an added reason to teach computing in this way. His belief is that we should be able to take ideas from Architecture and Fine Arts pedagogy and apply them to the design phases of HCI pedagogy. My ears perked up. Another possible bridge point between industry and academia (the topic of several of my recent posts)? Architecture, Fine Art, Computing, Hi-tech industry...?

Chris broke down his study into great detail about the stages of design and how stakeholders talk to one another about design and several times referred back to industry practices.Very interesting and well grounded in details that sounded like they came straight from his industry experience.

Someone I was sitting with at my table referred me to another member of the audience who had experience in the studio model and a significant knowledge of design and Architecture and so, for another perspective, I went and spoke with this person. I asked her for ideas about how the pedagogical studio model techniques could be transferred from Architecture and/or Fine Arts to computing. To my surprise she told me in no uncertain terms that the studio model would *not* work in computing. She told me that the way a true studio model works is that the classroom is handed over to a professional who brings in a real project s/he is working on and the students work on it under the direction of the professional. The inverse I note, of sending students out to a client on a service project. In the studio model, according to my conversant, the professional comes to the students and the professor steps out of the way.

She claims this model will not work in computing because the cultures are very different between Archtecture and Fine Arts and that "you can't stand around a compiler and critique it". Is this true?

What do you think? A very thought provoking question. If yes, how? If not, why not?

Chris appears to believe (I'm doing some extrapolation here) that you can - or at least that there are significant fundamental tenets of the professional studio model that can be used in the design of HCI software.

Stretch your mind - can you bring a professional from the high tech industry into the classroom with a real project that they are working on and have them lead the class in a studio model inspired design process?

Monday, August 8, 2011

Programming, Body Language and Poetry

I had the most interesting discussion (here at the ICER conference) today with a doctoral student from the University of California Berkeley: Colleen Lewis. She gave an overview of her dissertation work called: "Integrating Prior Knowledge Into Pedagogy". As part of her work Colleen provides students with code and asks them to talk aloud about the code. Colleen believes that successful students are integrating non programming knowledge from other fields into their programming. Her mention of the humanities got my attention so I went over and spoke with her and asked for some detailed examples of what she has observed.

Critical Reading Skills. Most of you have likely been involved in discussions of code or sat in when someone was describing code. Colleen told me she hears students not simply saying what the line of code is or what it does, but explaining it in terms of what it means in a greater context. She told me when she listens to successful students she hears a story. She used the words "narration" or "narrative" repeatedly. Although she didn't say it in so many words, what I was hearing / interpreting from Colleen's narrative was that as she listens to successful students she hears a story much like the one I am writing here. Not just a sequence of statements, or an algorithmic description, but a more holistic contextualized explanation. Interesting.....Have you ever thought about code as a story?

Gestures and Body Language. Colleen took American Sign Language in college and perhaps this is what disposed her to notice that when she asks students to trace code aloud, some students actively use their body as part of the description. For example they might speak like this: "n equals 1; ok, now n equals 2; now n equals three..." while using their arms to show the movement. Colleen demonstrated by starting with her right arm out, palm up on "n equals 1", then placed her left arm inside her right arm, palm up, then moved her right arm inside her left arm, then the left inside the right again, while explaining "they are saying and showing: 'the code moves from here [right arm/palm], to here [left arm/palm] to here [right arm/palm] to here [left arm/palm]' ". These students not only narrate with words, they narrate with physical movement.

The discussion of movement caused us to look up. There were several of us standing together; Colleen and I were in motion and two others were standing, listening, with arms crossed. We then observed how some people are more physically demonstrative than others. Colleen and I for example use our bodies a lot (even while furiously taking notes, I was not standing still).  Two other people commented that they tend not to use their limbs as much when they talk...what might this mean for coding?

Watch people in action as they talk or listen - it is very interesting to tune into. Psychologists know about the messages body language sends - it isn't something we talk about as much in computing.

Poetry. This is where conferences are such wonderful synergistic experiences. I asked Colleen for yet another example and she started describing a process she observes where programming students read a challenging chunk of code, rephrase it in their head, re-read it, and re-read it, and think it through some more. At that moment another conference participant, Nanette Vielleux from Simmons College, spoke up to say that the process sounded like studying poetry when you are having trouble with a poem. She suggested that perhaps some techniques used to teach poetry could be used to teach programming. Now that is a fascinating idea.

I got an immediate visual of a page of code in a language I don't know well sitting next to a page of poetry from a writer whose style is alien to me (I often find poetry challenging). I have found that if I read poetry aloud several times and roll it around in my head I have a greater chance of making personal sense of it. If some students successfully use the same process with challenging code....wow. Cool idea. I have no idea how poetry is "taught" in the classroom. Wouldn't it be interesting to apply selected poetry pedagogy to the study of existing code and see what happens?


Friday, August 5, 2011

Off to ICER - What Shall I Find?

Saturday I take a red-eye to Providence, Rhode Island (east coast USA) for the ICER conference. This is a small, intimate, very interesting conference focused on computing education research. The papers are generally quite interesting, have been through a blind peer review, and are eventually published in the ACM Digital Library.  There is a doctoral consortium to encourage up and coming researchers in the field. Quite a few years ago I was a participant in the doctoral consortium (several times) and I remember it fondly - although some of those faculty discussants did their best to politely but firmly pin us to the wall until we answered their questions!

There appears to be plenty of work being presented related to my professional work in assessment/evaluation and in learner misconceptions. Beyond looking at that work, this year I am more than ever interested in ferreting out any active research involving interdisciplinary and social issues in computing. So far, I see in the abstracts a lightening talk about work in the HFOSS Project (the Humanitarian FOSS Project: Building Free Open Source Software for Society).

None of the full length papers jump out at me just from the titles (I have not yet obtained access to them because of a s/w glitch) however I know that several of the authors are involved in socially relevant work and are quite innovative people.

I intend to go on the hunt and track down all the interesting work and incubating ideas I can find and report on them here.

Stay tuned!

Tuesday, April 19, 2011

IFF Computing == Cabbage

I am periodically asked "what is it like to write a book?" If you have written a book you may be having a small laugh to yourself all of a sudden. A sort of evil chuckle. Because you know, .... well, I don't need to tell you. It takes you over in strange and wonderful and unexpected ways.

You probably also know that no matter what you say it may not convince the conversant that conceiving cognitively comprehensible and convivial concepts takes considered concentration. Even if you say "it is Computer Science!" (people often assume fiction for reasons I know not why) there is ofttimes a clinging to the concept that you must spend much of your time continuously cavorting. Come again? If we waited to compose for when we felt suitably inspired by The Muse ... my Editor could conceivably consider calling out the Costa Nostra (uh, just kidding...right, Randi and John?)

Perhaps my more-often-than-usual far away look, prompted not by my new glasses so much as by a looming deadline, brings on the question with greater frequency lately. However, I find myself contemplating a different question: "How do you know when you are really and truly becoming one with interdisciplinary computing?" (with which topic my book most certainly is concerned).

I have the answer. It came to me this evening as I took a break and sat looking out over a neighborhood canyon just breathing calmly. Even in stillness, everywhere I looked I saw things that reminded me of a computer. "Canyon - how lovely...oh, Canyon starts with the same letter as Computer." "Critter poo on the sidewalk leading up to the bench....Critter reminds me of Computer". "I Cannot see the stars because there are Clouds in the sky. Clouds? Computer!" "Concentrate on your breathing ...Concentrate. Concentrate. Computer Computer Computer".

A Colleague gave me a red Cabbage from their garden. Oh my gosh that was good - a fresh Cabbage tastes like Candy Compared to Cabbage from the grocery store". Candy? Compared? More "C" words! Cabbage. Is an excellent source of Vitamin C and beta-Carotene. Consuming large amounts of Cabbage reduces the Chances of getting Colon Cancer because it Contains Chemicals that protect Cells against free radicals. All those words Commence with the same letter as COMPUTER! Perhaps I have passed the threshold and am now officially (Crazy?) Coalescing with interdisciplinary Computing and Computer science and Computational thinking.

The Cabbage Convinced me. Computers are truly everywhere. All you have to do is Consider it.

Thursday, March 10, 2011

International Women's Day Spawns Important "Science Magazine" Post

I have a "new and different" blog post in the wings that I hope to post tomorrow - I am waiting for confirmation of some information I'm very excited about.

Meanwhile, I want to reference an interesting blog entry in the Science Careers Blog (part of Science Magazine online) posted yesterday as part of acknowledgment of International Women's Day.

The post discusses the significant positive improvement in retention of women when applied contexts, in particular real world social contexts are presented as an integral part of computer science coursework. Given that this is Science Magazine, there is more to the post than unsupported opinion and commentary. I quote a few lines:

" "The faculty initially did not think that the students who dropped out could hack it," Huang said. "But, on closer examination... they found that women had lost interest because they did not see what algorithms were good for or why they needed to learn how to design a variety of complicated algorithms." The faculty decided to focus the first session of the course on how algorithms may be used to help social causes. [my added emphasis]" Once this began, the retention rate for women increased so much so that now all professors spend the first class introducing their courses by discussing the applied relevance of the material that will be presented," she added. "I admit, I was really relieved to find that the women could hack it." "

(I wonder if there was an intended play on words there. Probably not.)

The post goes on to report that the male students did not respond in the same way. Interesting, however a very intelligent response followed:

"Assuming that men and women continue to have predominantly different interests in how their research is applied later in life, here's my thought: There are differences between individuals of the same gender of course, but couldn't women scientists use these differences to find a niche for themselves that their male colleagues may not necessarily have thought of? It is still difficult for women to work in male-dominated fields in many ways, but the culture has changed drastically in the last several decades and there is now more space for new ideas and individuality."

All I can say is YES. There is space. There will continue to be more space. I happen to think that there may have always been space for new ideas and individuality but that it was not sufficiently recognized or acknowledged or supported. I am so glad to see this recognition coming along. I am even more glad to see research in support of the notion that including social relevance in computing coursework is good for the computing field itself.

Computing faculty, what do you think in reaction to this?

Full Science Careers Blog Post: http://blogs.sciencemag.org/sciencecareers/2011/03/a-genderbiased.html

Saturday, January 8, 2011

What CS Gains From Interdisciplinary Computing

Following up on last night's post about the reasons why many people engage in interdisciplinary computing work, I'd like to briefly list off some examples that came out in our meeting discussion today. At one point we decided to get specific and share examples of how the computer science discipline has directly benefited from interdisciplinary collaborations.

Here are some of them, written as close to verbatim as I could take notes on the fly. I'm certainly not expert in many of them, so anything I say that is missing an important or interesting piece hopefully someone will chime in and amplify for me. However! this is a classic facet of interdisciplinary collaboration - no one individual can know multiple fields at the same depth and accuracy. That is part of why it is such productive work!

The Folding at Home project involves experts in bio-medicine, distributed computing, bio-technology, high performance computing. As the site implies, computer science has been stimulated in HPC (high performance computing), algorithm development, networking, and simulations. We have expanded boundaries of computational understanding in all these areas.

Distributed computation not only in that project but in other very large scale projects has pushed the boundaries of computational efficiency to new levels as we develop the necessary algorithms to tackle ever more seemingly intractable problems, that are not necessarily so intractable.

Online auctions. I missed the intro to this conversation, but when I picked up, the discussion was about the movement from manual to electronic auctions requiring a change in how economists worked on what turn out to be NP-hard problems. Computer science theory is making advances so that these auctions can function properly. I could use someone helping to fill me in on what I missed in this conversation because it sounds very interesting!

Working with the film industry has driven both the development of 3D graphics and User Interface development. Many of the "old" rules of thumb (meaning circa early 90s) no longer apply and computer science has stepped up to revamp our understanding of what we can do with graphics at very fundamental levels. User Interface theory and application has evolved right along with it. For example, imagine how far we have come from Star Wars  (1977) to  Toy Story (1995) to Avatar (2009).

These advances in computer science from interdisciplinary work with the film industry in turn spurred development on the side of GPUs (Graphic Processor Unit), which were then deployed in so many areas of computing from games to simulations and beyond that they cannot be easily itemized.

Music downloads - the virtually ubiquitous desire to stream music in one form or another, has led to advances in basic streaming technologies and support algorithms that now are used in far flung applications such as digital image processing in medicine and transfer of image data (MRIs for example) to medical service providers on short notice across long distances. There was mention specifically of recognition algorithms as a subset of algorithms that have advanced, - I could use some supplementary information on this one!

Just a few ideas to whet your appetite. Speaking of appetite, I may not have one for a week. Two days of intense cognitive load and equally intense gastric load have left me with wonderful memories and a bit of a tummy ache. Brings a new meaning to "Brain Food".

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.

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.