Posts tagged ‘SIGCSE’

Exploring the question of teaching recursion or iterative control structures first

Someone raised the question on the SIGCSE Members list: Which should we teach first, iteration or recursion?

I offered this response:

The research evidence suggests that one should teach iterative control structures before recursion, IF you’re going to teach both.  If you are only going to teach one, recursion is easier for students.  If you teach recursion first, the evidence (Kessler & Anderson, 1986; Wiedenbeck, 1989) suggests that it becomes harder to learn the iterative control structures.

The push back I got was, “Surely, we have better data than 30 year old studies?!?”  Here was my reply:

I agree that it would be great to do these studies again.  Given that we have an experiment and a successful replication, it could be an MS or advanced undergrad project to replicate one of those earlier experiments.

For myself, I don’t expect much difference.  As you say, student brains have stayed the same.  While the languages have changed, the basic iterative control structures (for, while, repeat) haven’t changed much in modern languages from what they were in C and even Pascal.  Curriculum may be a factor, and that would be interesting to explore.

Two directions that I think would be great to explore in this space:

(1) The Role of Block-Based Languages: As you say, the previous research found that iterative control structures are syntactically complicated for novices.  But multiple studies have found that block-based iterative structures are much easier for novices than text-based versions.  What if we went recursion->block iteration->text iteration?  Would that scaffold the transition to the more complicated text-based iterative control structures?

(2) The Role of High-Level Functions: I don’t know of any studies exploring high-level functions (like the ones that Kathi Fisler used to beat the Rainfall Problem, or even map/reduce/filter) in the development of understanding of recursion and iterative control structures.  High-level functions have a fixed form, like for/repeat/while, but it’s a simpler, functional form.  Could we teach high-level functions first, to lead into recursion or iterative control structures?  Or maybe even teach recursion or iterative control structures as two different ways of implementing the high-level functions?

In general, there are too many questions to explore and too few people asking these questions with empirical data. We might rely on our teaching experience to inform our answers to these questions, but as Neil Brown showed us (see CACM Blog post this month that talks about this result), higher-education CS teachers are actually way off when it comes to estimating what students find hard.

SIGCSE-Members, please consider asking some of these questions on your campus with your students. There are well-formed questions here that could be answered in a laboratory study that could be encapsulated in a single semester.  The students will get the opportunity to do empirical research with humans, which is a useful skill in many parts of computing.

March 9, 2018 at 7:00 am 9 comments

SIGCSE 2018 Preview: Black Women in CS, Rise Up 4 CS, Community College to University CS, and Gestures for Learning CS

While I’m not going to be at this year’s SIGCSE, we’re going to have a bunch of us there presenting cool stuff.

On Wednesday, Barb Ericson is going to this exciting workshop, CS Education Infrastructure for All: Interoperability for Tools and Data Analytics, organized by Cliff Shaffer, Peter Brusilovsky, Ken Koedinger, and Stephen Edwards. Barb is eager to talk about her adaptive Parsons Problems and our ebook work.

My PhD student, Amber Solomon, is presenting at RESPECT 2018 (see program here) on a paper with Dekita Moon, Amisha Roberts, and Juan Gilbert, Not Just Black and Not Just a Woman: Black Women Belonging in Computing. They talk about how expectations of being Black in CS and expectations as a woman in CS come into conflict for the authors.

On Thursday, Barb is presenting her paper (with Tom McKlin) Helping Underrepresented Students Succeed in AP CSA and Beyond, which are the amazing results from the alumni study from her Project Rise Up effort to help underrepresented students succeed at Advanced Placement CS A. When Barb was deciding on her dissertation topic, she considered making Rise Up her dissertation topic, or adaptive Parsons problems. She decided on the latter, so you might think about this paper as the dissertation final chapter if she had made Rise Up her dissertation focus. Project Rise Up grew from Barb’s interest in AP CS A and her careful, annual analysis of success rates in AP CS A for various demographics (here is her analysis for 2017). It had a strong impact (and was surprisingly inexpensive), as seen in the follow-on statistics and the quotes from the students now years after Rise Up. I recommend going to the talk — she has more than could fit into the paper.

On Friday, my PhD student, Katie Cunningham, is presenting with her colleagues from California State University Monterey Bay and Hartnell College, Upward Mobility for Underrepresented Students: A Model for a Cohort-Based Bachelor’s Degree in Computer Science.  The full author list is Sathya Narayanan, Katie, Sonia Arteaga, William J. Welch, Leslie Maxwell, Zechariah Chawinga, and Bude Su. They’re presenting the “CSin3” program which drew in students from traditionally underrepresented groups and helped them earn CS degrees with remarkable success: A three year graduation rate of 71%, compared to a 22% four-year graduation rate, as well as job offers from selective tech companies. The paper describes the features of the program that made it so successful, like its multi-faceted support outside the classroom, the partnership between a community college and a university, and keeping a cohort model. The paper has been recognized with a SIGCSE 2018 Best Paper Award in the Curricula, Programs, Degrees, and Position Papers track.

On Friday, my colleague Betsy DiSalvo is going to present at the NSF Showcase some of the great work that she and her student, Kayla des Portes, have been doing with Maker Oriented Learning for Undergraduate CS.

On Saturday, my EarSketch colleagues are presenting their paper: Authenticity and Personal Creativity: How EarSketch Affects Student Persistence with Tom McKlin, Brian Magerko, Taneisha Lee, Dana Wanzer, Doug Edwards, and Jason Freeman.

Also on Saturday, Amber with her undergraduate researchers, Vedant Pradeep and Sara Li, are presenting a poster which is also a data collection activity, so I hope that many of you will stop by. Their poster is The Role of Gestures in Learning Computer Science. They are interested in how gesture can help with CS learning and might be an important evaluation tool — students who understand their code, tend to gesture differently when describing their code than students who have less understanding. They want to show attendees what they’ve seen, but more importantly, they want feedback on the gestures they’ve observed “in the wild.” Have you seen these? Have you seen other gestures that might be interesting and useful to Amber and her team? What other kinds of gestures do you use when explaining CS concepts? Please come by and help inform them about the gestures you see when teaching and learning CS.

February 21, 2018 at 7:00 am 1 comment

Will be missing my friends at SIGCSE 2018 — Preparing for What’s Next

I am not going to SIGCSE 2018.  I haven’t missed SIGCSE in a lot of years, and I’m sorry to miss it this year.  SIGCSE is the biggest computing education conference in the world, and it’s the best place to hear what’s going on in CS classes and the United States — and to possibly influence what’s going on.  I’m particularly sorry because I owe Owen Astrachan a beer and dinner.  I lost our bet about Code.org and CSP Curricula.  I have to find another time to pay up.

I’m not going because it’s a time of change for me.  I don’t know for sure what I’m going to be doing next. This post is another in the (perhaps wearisome) series of posts where I explored what a post-full professor should do and my failure CV.

There are two forcing functions for the change:

  • My wife and research partner, Barbara Ericson, is finishing her PhD on adaptive Parsons problems.  She is going to shift her emphasis from being Director of CS Outreach to more research.
  • Our role in ECEP is ending in September.  From “Georgia Computes!” to ECEP, we have been doing work in Broadening Participation in Computing (BPC) for over a dozen years.  We want to move on. Others will carry ECEP further.  I started doing work in BPC as a natural next step from my research on making computing education for a broader audience (e.g., Media Computation).  Different kinds of research and leadership are important for the next steps of BPC Alliance work.

SIGCSE may not be as big a part of my academic life, depending on what comes next for me. I may do more Engineering Education Research in the future.  I may get more involved in preparing future CS teachers. My research directions are changing. I will continue to work towards Computing Education for All, and I’m interested in studying and developing different ways of getting there. The proposals I’m submitting these days are about doing work that looks like Bootstrap. I’d like to do more in applying computing (specifically, programming) as a notation and tool for learning in disciplines other than computer science. Venues other than SIGCSE may be the right places for this kind of work.

It’s going to be a great SIGCSE, and I’m thrilled that my student, Katie Cunningham, is co-author on a paper that will be receiving a Best Paper Award. Sorry I won’t be there to see all my SIGCSE friends this year.

 

February 2, 2018 at 7:00 am 3 comments

SIGCSE 2017 Preview: Ebooks, GP, EarSketch, CS for All, and more from Georgia Tech

I have written individual blog posts for each paper or other contributions at conferences like ICER or SIGCSE. Then sometimes, like this year, that’s just overwhelming. So please excuse me for talking about a bunch (I may not even get all of it) of Georgia Tech related CS Education work at SIGCSE 2017 this year. (Conference website is here, and program is here. The on-line program is really nice, which is here.)

Workshop 101: GP: A General Purpose Blocks-Based Language

Wednesday 7-10 pm: Room 618-619

I’m helping to organize a workshop with John Maloney, Yoshiki Ohshima, and Jens Mönig on GP. I blogged about GP here, and about the use of GP for Media Computation in a minimal manuals structure here. The workshop will be the first SIGCSE activity with GP. The plan is to move it into a public form next summer, and the team is looking for people who want to start using it for their classes.

Panel: The Role of CS Departments in The US President’s “CS for All” Initiative

Thursday 10:45-12: Room 6E

I was part of an effort at last year’s CRA Conference at Snowbird to get CS departments to participate in President Obama’s “CS for All” initiative (see blog post here). This year, Barbara Ericson, Rick Adrion, and Megean Garvin will tell us about how their CS departments are working to promote CS for All. I’m the moderator.

EarSketch: A STEAM-based Approach for Underrepresented Populations in High School Computer Science Education

Thursday 1:45-3:00: Room 615

Brian Magerko and Jason Freeman will present on EarSketch, which I just blogged about here. They are also presenting on Creativity in Authentic STEAM Education with EarSketch on Friday 1:45-3 in Room 612. And then again Saturday 10-10:45 as a demo, EarSketch, a web-application to teach Computer Science through Music

CS Principle Ebooks for Teachers and Students building on Educational Psychology Principles

Thursday 3-4:30 pm: NSF Showcase in Exhibition Space

Barb, Miranda Parker, and I will present our ebooks. I blogged about our ICER 2016 paper on ebooks here and our WiPSCE 2015 paper here).

BOF: Researching the K–12 Computer Science Framework

Thursday 5:30-6:20 pm: Room 613-614

I’m part of a BOF led by Pat Yongpradit of Code.org with Leigh Ann DeLyser of CSNYC and Kathi Fisler at Brown. The BOF session will allow researchers to discuss opportunities in K-12 CS ed research within five areas related to the implementation and future of the framework:

  • Equity and access
  • Learning progressions
  • Pedagogical content knowledge (Knowledge teachers need to teach CS)
  • Facilitating learning in other disciplines
  • Policy and implementation within K–12 education systems

Workshop 310: Using and Customizing Open-Source Runestone Ebooks for Computer Science Classes

Friday 7-10 pm: Room 612

Barb, Brad Miller, and Paul Resnick will present on the Runestone platform that we build our ebooks on. Brad built Runestone, and Paul uses and extends it frequently for his Informatics course at U. Michigan. This is the first time that they’re teaching others how to use the platform, which is a great sign of the maturation of Runestone — from researcher and early-adopters into something that all CS educators can use.

Designing and Studying of Maker Oriented Learning to Transform Advanced Computer Science
Saturday 10-11:30, NSF Showcase area in Exhibitions

Zane Cochran, a student of my colleague Betsy DiSalvo, will present some of his work on using maker spaces to improve CS education.

Concepts and Practices: Designing and Developing A Modern K12 CS Framework

Saturday 10:45-12: Room 611

My PhD student, Miranda Parker (who has been working on privilege issues and on the SCS1), and Leigh Ann Delyser (of CSNYC and CS for All fame) will present on the new K-12 CS Framework (see blog post here) and the research support for it.

Workshop 401: Evidence Based Teaching Practices in CS

Saturday 3-6 pm: Room 618-619

Briana Morrison is leading the effort with Cynthia Lee, Leo Porter, Beth Simon, and me to present CS teaching practices for which we have an evidence-base. We’re drawing a lot on our New Faculty Workshops material.

Workshop 404: How to Plan and Run Effective Teacher Professional Development

Saturday 3-6 pm: Room 612

(YES! Dueling workshops!)

Barb is working with Rebecca Dovi and Ria Galanos on how to teach CS teacher professional learning opportunities. Barb is using a lot of the material that she’s developed for “Train the Trainer” sessions as part of ECEP.

March 8, 2017 at 7:00 am 4 comments

Where are the Python 3 Libraries for Media Computation

My Blog@CACM post for this month is on JES, the Jython Environment for Students, which at 14 years old and over 10,000 downloads, is probably one of the oldest, most used, and (by some definition) most successful pedagogical Python IDE’s.

The SIGCSE Members list recently had a discussion about moving from Python 2 to Python 3. Here’s a description of differences. Some writers asked about MediaComp. With respect to the Media Computation libraries, one wrote:

I’m sad about this one, because we use and like this textbook, but I think it’s time to move to Python 3.  Is there a compatible library providing the API used in the text?

Short answer: No. There are no compatible Media Computation libraries for CPython 2 or 3.

We keep trying. The latest attempt to build Media Computation libraries in CPython is here: https://github.com/sportsracer48/mediapy. It doesn’t work on all platforms yet, e.g., I can’t get it to load on MacOS.

We have yet to find a set of libraries in Python that work cross-platform identically for sample-level manipulations of sounds. For example, PyGame’s mixer object doesn’t work exactly the same on all platforms (e.g., sampling rates aren’t handled the same on all platforms, so the same code plays different speed output on different platforms). I can do pixel-level manipulations using PIL. We have not yet tried to find libraries from frame manipulations of video (as individual images). I have just downloaded the relevant libraries for Python 3 and plan to explore in the future, but since we can’t make it work yet in Python 2 (which has more mature libraries), I doubt it will work in Python 3.

I complained about this problem in my blog in 2011 (see post here). The situation is better in other languages, but not yet in Python.

  • I have been building Media Computation examples in GP, a blocks-based language (see post here).
  • Jeff Gray’s group at U. Alabama has built Blockly-like languages Pixly and Tunely for pixel and sample level manipulations.
  • Cynthia Lee at Stanford has been doing Media Computation in her classes in MATLAB and in C++
  • The Calico project supports Media Computation in IronPython (based on Python 3) and many other languages, because it builds on .NET/MONO which has good multimedia support.
  • We’re able to more and more in JavaScript-based Python implementations (like Pythy and Runestone), because JavaScript has excellent cross-platform multimedia support.

When we did the 4th edition of our Python Media Computation textbook, I looked into what we’d have to change in the book to move to Python 3. There really wasn’t much. We would have to introduce print as a function. We do very little integer division, so we’d have to explain that. The focus in our course (non-technical majors, first course) is at a higher level than the differences between Python 2 and 3. I am confident that, at the end of our course, the majority of our students would understand the differences between Python 2 and 3. As we move more to browser-based IDE’s, I can support either Python 2 or 3 syntax and semantics. Preparing students for industry jobs using exactly CPython 3 is simply not a priority in our course.

August 19, 2016 at 7:46 am Leave a comment

CS Teaching Faculty are like Tenant Farmers

There are many, many teaching jobs available in computer science right now. Scarcely a day goes by that there isn’t another ad posted in the SIGCSE Members list — sometimes for many positions at the same department. A great many of these are at Universities, with a clear statement that this is a Teaching track position, not a Tenure track position.

Many of these ads, when posted to SIGCSE Members, contain a paragraph like this (edited and hopefully anonymized):

(Highly-ranked University)’s full-time (without tenure) teaching faculty positions are called (pick one of:) Lecturers with Security of Employment, Professors of the Practice, or Teaching Professors, or Lecturers, or Instructors. These positions typically involve a teaching load of two courses each semester, advising responsibilities, and service (committee work) as well. (Highly-ranked University)’s computer science teaching faculty are NOT treated as second class citizens. We vote at faculty meetings, represent the department on university committees, and are generally well respected inside and outside the department. We currently are seeking more (see ad below).

From time to time, I write the person (almost always a teaching track faculty member) who posted the ad, to follow-up on the “NOT second class citizens” part.

  • Do teaching faculty get to serve on the hiring committee for teaching faculty? Usually yes.
  • Do teaching faculty get to serve on the hiring committee for tenure-track faculty? Usually not.  This question often results in a snort of laughter.  Why should teaching professionals be involved in hiring tenure-track faculty? That seemed obvious to me — teaching faculty are hired to be experts in teaching, and tenure-track faculty do teach.
  • Do teaching faculty serve on tenure-track promotion and tenure committees? Almost never, despite the fact that tenure track faculty are expected to teach and are supposed to be evaluated (at least in part) on that teaching. Shouldn’t professionals with expertise in teaching have a voice in evaluating teaching of tenure-track faculty?
  • Do teaching faculty have a voice/position at the Dean/Chair’s Cabinet/Executive Committee? I know of only one in the US.

Maybe I have been watching too much “Downton Abbey.” The treatment of teaching track faculty by tenure track faculty sounds like the relationship between the landed gentry and the tenant farmers. The University teaches as one of its primary roles, just as the estate survived through farming (and the sales and rent that were generated). The tenure track faculty (landed gentry) leave most of that to the teaching track faculty (tenant farmers). It’s a delegated responsibility, like custodial and lawn management services.  The teaching track faculty don’t own the department or programs (land). The tenure track faculty make the decisions about hiring and promoting the teaching track faculty. The teaching track faculty don’t make any of the decisions about tenure track faculty.  Of course, the greatest match with the analogy is that tenured faculty can’t be fired — like the landed gentry, they own their positions.  Teaching track faculty are rarely tenured.  One of the teaching faculty with whom I work has only a six month contract and can be fired with a month’s notice.

It is in our best interests for teaching track to be a profession. Teaching track faculty should be experts in teaching. Members should be expected to join professional organizations like SIGCSE (see previous post about the lack of membership in SIGCSE), to attend and present at organizational meetings, and to improve their practice. They should have a promotion path and evaluation as rigorous as the tenure-track promotion and tenure process.  I’m pleased to see these ads, because they suggest national searches for good teaching track faculty — as opposed to hiring (for example) graduate students and post-docs who don’t want to leave their home institution.

A first step towards professionalization of teaching track faculty is to treat them with the same respect as tenure-track faculty. Tenure track faculty are treated as experts in research.  Teaching track faculty should be treated as experts in teaching. If both teaching and research are important, then treat the teaching track faculty like the research faculty. There should be a comparable sense of responsibility, power, and ownership.

 

February 5, 2016 at 7:47 am 21 comments

The Inverse Lake Wobegon Effect in Learning Analytics and SIGCSE Polls

I wrote my Blog@CACM post this month about the Inverse Lake Wobegon effect (see the post here), a term that I coin in my new book (link to post about book).  The Inverse Lake Wobegon effect is where we observe a biased, privileged/elite/superior sample and act as if it is an unbiased, random sample from the overall population.  When we assume that undergraduates are like students in high school, we are falling prey to the Inverse Lake Wobegon effect.

Here’s an example from The Chronicle of Higher Education in the quote below. Looking at learning analytics from MOOCs can only tell us about student success and failure of those who sign up for the MOOC.  As we have already discussed in this blog (see post here), people who take MOOCs are a biased sample — well-educated and rich.  We can’t use MOOCs to learn about learning for those who aren’t there.

“It takes a lot of mystery out of why students succeed and why students fail,” said Robert W. Wagner, executive vice provost and dean at Utah State, and the fan of the spider graphic. “It gives you more information, and when you can put that information into the hands of faculty who are really concerned about students and completion rates and retention, the more you’re able to create better learning and teaching environments.”

Source: This Chart Shows the Promise and Limits of ‘Learning Analytics’ – The Chronicle of Higher Education

A second example: There’s a common thread of research in SIGCSE Symposium and ITICSE that uses survey data from the SIGCSE Members List as a source of information.  SIGCSE Members are elite undergraduate computer science teachers.  They are teachers who have the resources to participate in SIGCSE and the interest in doing so.  I know that at my own institution, only a small percentage (<10%) of our lecturers and instructors participate in SIGCSE.  I know that no one at the local community college’s CS department belongs to SIGCSE.  My guess is that SIGCSE Members represents less than 30% of undergraduate computer science teachers in the United States, and a much smaller percentage of computer science teachers worldwide. I don’t know if we can assume that SIGCSE Members are necessarily more expert or higher-quality.  We do know that they value being part of a professional organization for teaching, so we can assume that SIGCSE Members have an identity as a CS teacher — but that may mean that most CS teachers don’t have an identity as a CS teacher. A survey of SIGCSE Members tell us about an elite sample of undergraduate CS teachers, but not necessarily about CS teachers overall.

January 18, 2016 at 8:03 am 3 comments

Older Posts


Recent Posts

August 2018
M T W T F S S
« Jun    
 12345
6789101112
13141516171819
20212223242526
2728293031  

Feeds

Blog Stats

  • 1,538,499 hits

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 5,301 other followers

CS Teaching Tips