Posts tagged ‘computing education’
Survey for CS Faculty on use of Evidence-based Instructional Practices: Guest blog post from Scott Grissom
Clearly an important topic — I’m sharing this here, with thanks to Scott.
The SIGCSE Committee on Evidence-based Instructional Practices is investigating the most commonly used teaching practices in CS education (such as classroom activities, student learning goals and assessment techniques). We are replicating a study from physics education that surveyed over 800 faculty. We have already used the validated instrument in a pilot study with twelve institutions and have received 160 responses so far.
Rather than simply send a survey link to this mailing list that might create a skewed sample, we are inviting entire CS departments to survey their members. Our goal is to survey instructors from many 2-year, 4-year, private, public, research and teaching institutions.
The project will allow us to accomplish three important objectives:
- Provide a baseline of instructional practices used in CS higher education.
- Compare CS instructional practices with other STEM disciplines.
- Inform efforts to reform CS education by increasing the adoption of evidence-based instructional practices.
WILL YOU INTRODUCE US TO YOUR COLLEAGUES?
Best survey practices have shown that an introduction from a trusted colleague increases response rates. This is where you can help! Are you willing to support the CS education community by introducing us to your colleagues and encouraging them to complete the survey?
Please contact Scott Grissom BY FRIDAY APRIL 15 if you are willing to help, and we will provide more information about what we will ask you to do.
SIGCSE Committee on Evidence-based Instructional Practices
– Scott Grissom, Grand Valley State University, email@example.com
– Sue Fitzgerald, Metropolitan State University, firstname.lastname@example.org
– Renée McCauley, College of Charleston, email@example.com
– Laurie Murphy, Pacific Lutheran University, firstname.lastname@example.org
Brian Drayton has now written a couple of posts critical of the CS for All initiative (one is linked below, and here’s another one), and his points are well taken. In my book on Learner-Centered Design of Computing Education, I consider several possible reasons for teaching CS to everyone. I prefer the same ones that he does, and I agree that much of the initiative is poorly justified. I do not believe that we should put CS into all schools in order to make high school graduates “job-ready” (see the White House release using that phrase).
I agree that “everyone should code” is both unrealistic and poorly justified, as it has currently been advocated. I think we could make more progress (both in expanding people’s understanding of computer science or computation, and in empowering people to adopt such knowledge as a valuable tool for growth, creativity, and employment) if we did a better job envisioning what we’d like a classroom to look like that is deeply conversant with the tools and the insights of computer science in the same way that the classroom is already deeply infused with the tools and insights of literacy and numeracy.
NYPost: The folly of teaching computer science to high school kids–CS teaching and the teacher shortage
I’ve raised my concerns about where we’re going to find enough teachers for the NYC initiative (see blog post here). I found it interesting that the New York Post is raising the a related concern. They’re going one step further than I did. In general, we have a national shortage of teachers. Will growing CS teachers be stealing teachers away from math and science?
For instance, who the heck is going to teach it? There is already a shortage of qualified math and science teachers across the country. And let’s stipulate that the pool of people able to teach computer science is much smaller than those who can teach biology. And then there’s this: What kind of recent graduate with any knowledge of computer science would volunteer to teach in the New York public schools? They make oodles more money in business and get oodles more respect and opportunities for merit-based advancement in a private or parochial school.
Welcome back from Memphis and SIGCSE 2016! At this year’s conference, we heard many stories about skyrocketing student interest in computer science and the difficulty many colleges and universities are having in meeting that demand. For several years now, evidence has been building that academic computer science is heading toward a capacity crisis in which the pressures of expanding enrollment overwhelm the ability of institutions to hire the necessary faculty. Those signs are now clearer than ever.
The challenges involved in developing the necessary capacity are not easy. Fortunately, they are also not entirely new. Academic computer science has faced similar capacity crises in the past, most notably in the mid 1980s and the late 1990s. Each of those periods saw an increase in student interest in computer science at a pace so rapid that universities were unable to keep up.
For better or worse, I have had a ringside seat during each of these enrollment surges. In the mid 1980s, I was chairing the newly formed department of Computer Science at Wellesley College. During the dot-com expansion in the late 1990s, in addition to directing the undergraduate program at Stanford, I was a member of the ACM Education Board and a contributor to the National Academies study panel convened to address the situation.
In the current crisis, I have been asked to offer my historical perspective in many different venues. I was one of the authors — along with Ed Lazowska at the University of Washington and Jim Kurose at the National Science Foundation — of a talk on this issue at the 2014 Snowbird Conference and the National Center for Women in Information Technology’s 10th Anniversary Summit earlier that year. Along with Tracy Camp, who is the cochair of the Computing Research Association’s committee to study the impact of rapidly increasing enrollments and who presented a panel discussion at this year’s SIGCSE, I have been appointed to the National Academies’ Committee on the Growth of Computer Science Undergraduate Enrollments, which holds its first face-to-face meeting in two weeks.
After listening to the audience comments at the SIGCSE panel on the CRA effort, it is clear that many people struggling to keep up with the increased enrollments are still having trouble convincing their administrations that the problems we face are real and more than a transient maximum in a cyclical pattern. In many ways, the difficulty administrators have in appreciating the severity of the problem is understandable because our situation is so far outside what is unfamiliar to most academics. It is hard for most people in universities to imagine a field in which the number of open positions exceeds the number of applicants by a factor of five or more. Similarly, it is almost impossible to imagine that a faculty shortage could become so extreme that universities and colleges would be forced to cut enrollments in half, despite high demand from both students and prospective employers. Both of those situations, however, are part of the history of academic computer science. The crisis our field faces today is at least as serious as it has been at any time in the past.
It occurred to me that it might help many of you make the case for more resources if I shared a white paper on the history of the crisis that I wrote earlier in the year, originally to make the case at Stanford but now also to support the deliberations of the National Academies’ committee. I have put the white paper on my web site, both as a single PDF report and as a web document with internal links to facilitate browsing. The two versions of the document are:
- PDF document http://cs.stanford.edu/people/eroberts/CSCapacity.pdf
- HTML document http://cs.stanford.edu/people/eroberts/CSCapacity/
I welcome any comments that you have along with ideas about solutions that I can share with the full National Academies’ committee.
Charles Simonyi Professor of Computer Science, emeritus
Another of the breakouts that I was in at the recent Dagstuhl seminar on assessment in CS learning focused on how we teach and assess in CS classes social and professional practices. This was a small group: Andy Ko, Lisa Kaczmarczyk, Jan Erik Moström, and me.
Andy and his students have been studying (via interviews and surveys) what makes a great engineer.
- They’re good at decision-making.
- They’re good at shifting levels of abstraction, e.g., describing how a line of code relates to a business strategy.
- They have some particular inter-personal skills. They program ego-less-ly. They have empathy, e.g., “not an asshole.”
- Senior engineers often spend a lot of time being teachers for more junior engineers.
Since I’ve worked with Lijun Ni on high school CS teachers, I know some of the social and professional practices of teachers. They have content knowledge, and they have pedagogical content knowledge. They know how to teach. They know how to identify and diagnose student misunderstandings, and they know techniques for addressing these.
We know some techniques for teaching these practices. We can have students watch professionals, by shadowing or using case-based systems like the Ask systems. We can put students in apprenticeships (like student teaching or internships) or in design teams. We could even use games and other simulations. We have to convey authenticity — students have to believe that these are the real social and professional practices. An interesting question we came up with: How would you know if you covered the set of social and professional practice?
Here’s the big question: How similar are these sets? They seem quite different to me, and these are just two possible communities of practice for students in an intro course. Are there social and professional practices that we might teach in the same intro CS — for any community of practice that the student might later join? My sense is that the important social and professional practices are not in the intersection. The most important are unique to the community of practice.
How would we know if we got there? How would you assess student learning about social and professional practice? Knowledge isn’t enough — we’re talking about practice. We have to know that they’d do the right things. And if you found out that they didn’t have the right practices, is it still actionable? Can we “fix” practices while in undergrad? Maybe students will just do the right things when they actually get out there?
The countries with low teacher attrition spend a lot of time on teacher on-boarding. In Japan, the whole school helps to prepare a new teacher, and the whole school feels a sense of failure if the first year teacher doesn’t pass the required certification exam. US schools tend not to have much on-boarding — at schools for teachers, or in industry for software engineers (as Begel and Simon found in their studies at Microsoft). On-boarding seems like a really good place, to me, for teaching professional practice. And since the student is then doing the job, assessment is job assessment.
The problems of teaching and assessing professional practice are particularly hard when you’re trying to design a new community of practice. We’d like computing to be more diverse, to be more welcoming to women and to people from under-represented groups. We’d want cultural sensitivity to be a practice for software professionals. How would you design that? How do you define a practice for a community that doesn’t exist yet? How do you convince students about the authenticity?
It’s an interesting set of problems, and some interesting questions to explore, but I came away dubious. Is this something that we can do effectively in school? Perhaps it’s more effective to teach professional practices in the professional context?
It’s not obvious that professional programmers are the best people to answer questions for beginners, yet that’s often recommended as a strategy for providing support to CS students when there are too few teachers. The below article gathers some stories about user experience, and offers advice on how to make the interaction of programming professionals and beginners more successful.
Where is the most obvious place to ask a programming question? Stack Overflow.
Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a minute. Join the Stack Overflow community to: Ask programming questions, […] — Stack Overflow (the front page)
It sounds like exactly the right place to be. It even sounds friendly. But actually asking questions on Stack Overflow is often far from friendly, for a beginner programmer.
“I gave up programming after the last time I asked a question on StackOverflow.”— commenter on reddit
Stack Overflow users ands moderators are quick to downvote and close questions, for a multitude of reasons. These reasons are often surprising to first-time users.
I’m going to pick on Stack Overflow as an example in this article, because it is the most obvious place to ask questions, but the same problems can be seen anywhere that beginners ask questions.
“I must have gone to a couple dozen IRC rooms, whatever online communities I could find. Everywhere I went people shat on me, and I never got an answer to a single question.”— commenter on reddit
SIGCSE 2016 Preview: Parsons Problems and Subgoal Labeling, and Improving Female Pass Rates on the AP CS exam
Our research group has two papers at this year’s SIGCSE Technical Symposium.
Subgoals help students solve Parsons Problems by Briana Morrison, Lauren Margulieux, Barbara Ericson, and Mark Guzdial. (Thursday 10:45-12, MCCC: L5-L6)
This is a continuation of our subgoal labeling work, which includes Lauren’s original work showing how subgoal labels improved learning, retention and transfer in learning App Inventor (see summary here), the 2015 ICER Chairs Paper Award-winning paper from Briana and Lauren showing that subgoals work for text languages (see this post for summary), and Briana’s recent dissertation proposal where she explores the cognitive load implications for learning programming (see this post for summary). This latest paper shows that subgoal labels improve success at Parson’s Problems, too. One of the fascinating results in this paper is that Parson’s Problems are more sensitive as a learning assessment than asking students to write programs.
Sisters Rise Up 4 CS: Helping Female Students Pass the Advanced Placement Computer Science A Exam by Barbara Ericson, Miranda Parker, and Shelly Engelman. (Friday 10:45-12, MCCC: L2-L3)
Barb has been developing Project Rise Up 4 CS to support African-American students in succeeding at the AP CS exam (see post here from RESPECT and this post here from last year’s SIGCSE). Sisters Rise Up 4 CS is a similar project targeting female students. These are populations that have lower pass rates than white or Asian males. These are examples of supporting equality and not equity. This paper introduces Sisters Rise Up 4 CS and contrasts it with Project Rise Up 4 CS. Barb has resources to support people who want to try these interventions, including a how-to ebook at http://ice-web.cc.gatech.edu/ce21/SRU4CS/index.html and an ebook for students to support preparation for the AP CS A.