Posts tagged ‘computing education’

We should be emphasizing design of computing over teaching computational thinking

Alan Kay, Cathie Norris, Elliot Soloway, and I have an article in this month’s Communications of the ACM called “Computational Thinking Should Just Be Good Thinking.” (See link here, and a really nice summary at U-M which links to a preprint draft.) Our argument is that “computational thinking” is already here — students use computing every day, and that computing is undoubtedly influencing their thinking. But that fact is almost trivial. What we really care about is effective, critical, “expanded” thinking where computing can play a role in helping us think better. To do that, we need better computing.

It’s more important to improve computing than to teach students to think with existing computing. The state of our current tools is poor. JavaScript wasn’t designed to be learnable and to help users think. (Actually, I might have just stopped with “JavaScript wasn’t designed.”) We really need to up our game, and we should not be focusing solely on how to teach students about current practices around iteration or abstraction. We should also be about developing better designs so that we spend less time on the artifacts of our current poor designs.

Ken Kahn called us out, in the comments at the CACM site, suggesting that general-purpose programming tools are better than building specialized programming tools. I wrote a Blog@CACM post in response “The Size of Computing Education, By-The-Numbers.” We have so little success building tools that reach large numbers of students that it doesn’t make sense to just build on our best practice. They may all be local maxima. We should try a wide variety of approaches.

I got asked an interesting question on Twitter in response to the article.

Do you think @Bootstrapworld and @BerkeleyDataSci Data 8 modules both embody your philosophy?

I don’t think we’re espousing a philosophy. We’re suggesting a value for design and specifically improved design of computing.

Bootstrap clearly does this. The whole Bootstrap team has worked hard to build, iterate, test, and invent. If you haven’t seen it, I recommend Shriram Krishnamurthi’s August 2019 keynote at the FCRC. They solved some significant computer science design problems in creating Bootstrap.

Berkeley’s Data 8 is curriculum about existing tools, R and Jupyter notebooks. That’s following an approach like most of computational thinking — the focus is on teaching the existing tools. That’s not a bad thing to do, but you end up spending a lot of time teaching around the design flaws in the existing tools. I just don’t buy that R or Jupyter notebooks are well-designed for students. We can do much better. LivelyR (see link here) is an example of trying to do better.

We should be teaching students about computing. But computing is also the most flexible medium humans have ever invented. We should be having an even greater emphasis on fixing, designing, and inventing better computing.


Many thanks to Barbara Ericson, Amy Ko, Shriram Krishnamurthi, and Ben Shapiro who gave me comments on versions (multiple!) of this essay while it was in development. They are not responsible for anything we said, but it would be far less clear without them. The feedback from experts was immensely valuable in tuning the essay. Thanks!

November 13, 2019 at 2:00 am 3 comments

Come to the CUE.NEXT Workshop: Making computing education work for all undergraduates

I’m going to be the keynoter at the Dec. 5 workshop in DC. The workshop series is near and dear to my heart — how do we make computing education accessible to all undergraduates? Below is taken from the CRA website here.

CUE

CS Departments have seen significant enrollment increases in undergraduate computer science courses and programs. The number of non-majors in CS courses has also increased significantly, and many CS departments cannot meet the demand. One key reason for the increased demand from non-majors is the fact that computing and computer science have become relevant to undergraduate education in all disciplines. However, there is currently no consensus on how to design computing courses or how to structure curricula aimed at teaching the fundamentals of CS and computing to students who need to use computing effectively in the context of the other disciplines.

The goal of the upcoming CUE.NEXT workshops — organized by Larry Birnbaum (Northwestern), Susanne Hambrusch (Purdue), and Clayton Lewis (UC Boulder) — is to initiate a national dialog on the role of computing in undergraduate education. Computing educators and CS departments, as well as colleagues and academic units representing other stakeholder disciplines, will work together to define and address the challenges. Three NSF funded workshops are scheduled to take place in Chicago (November 18 and 19), DC (December 5 and 6) and Denver (January 2020).

November 11, 2019 at 7:00 am Leave a comment

Results from Longitudinal Study of Female Persistence in CS: AP CS matters, After-school programs and Internships do not

NCWIT has been tracking their Aspirations in Computing award applicants for several years. The Aspirations award is given to female students to recognize their success in computing. Tim Weston, Wendy DuBow, and Alexis Kaminsky have just published a paper in ACM TOCE (see link here) about their six year study with some 500 participants — and what they found led to persistence into CS in College.  The results are fascinating and somewhat surprising — read all the way to the end of the abstract copied here:

While demand for computer science and information technology skills grows, the proportion of women entering computer science (CS) fields has declined. One critical juncture is the transition from high school to college. In our study, we examined factors predicting college persistence in computer science and technology related majors from data collected from female high school students. We fielded a survey that asked about students’ interest and confidence in computing as well as their intentions to learn programming, game design, or invent new technology. The survey also asked about perceived social support from friends and family for pursuing computing as well as experiences with computing, including the CS Advanced Placement (AP) exam, out-of-school time activities such as clubs, and internships. Multinomial regression was used to predict persistence in computing and tech majors in college. Programming during high school, taking the CS Advanced Placement exam, and participation in the Aspirations awards program were the best predictors of persistence three years after the high school survey in both CS and other technology-related majors. Participation in tech-related work, internships, or after-school programs was negatively associated with persistence, and involvement with computing sub-domains of game design and inventing new applications were not associated with persistence. Our results suggest that efforts to broaden participation in computing should emphasize education in computer programming.

There’s also an article at Forbes on the study which includes recommendations on what works for helping female students to persist in computing, informed by the study (see link here). I blogged on this article for CACM here.

That AP CS is linked to persistence is something we’ve seen before, in earlier studies without the size or length of this study.  It’s nice to get that revisited here.  I’ve not seen before that high school work experience, internships, and after-school programs did not work.  The paper makes a particular emphasis on programming:

While we see some evidence for students’ involvement in computing diverging and stratifying after high school, it seems that involvement in general tech-related fields other than programming in high school does not transfer to entering and persisting in computer science in college for the girls in our sample. Understanding the centrality of programming is important to the field’s push to broaden participation in computing.  (Italics in original.)

This is an important study for informing what we do in high school CS. Programming is front-and-center if we want girls to persist in computing.  There are holes in the study.  I keep thinking of factors that I wish that they’d explored, but they didn’t — nothing about whether the students did programming activities that were personally or socially meaningful, nothing about role models, and nothing about mentoring or tutoring.  This paper makes a contribution in that we now know more than we did, but there’s still lots to figure out.

 

 

 

October 14, 2019 at 7:00 am 8 comments

An Analysis of Supports and Barriers to Offering Computer Science in Georgia Public High Schools: Miranda Parker’s Defense

Miranda Parker defends her dissertation this Thursday.  It’s a really fascinating story, trying to answer the question: Why does a high school in Georgia decide (or not) to offer computer science?  She did a big regression analysis, and then four detailed case studies.  Readers of this blog will know Miranda from her guest blog post on the Google-Gallup polls, her SCS1 replication of the multi-lingual and validated measure of CS1 knowledge, her study of teacher-student differences in using ebooks, and her work exploring the role of spatial reasoning to relate SES and CS performance (work that was part of her dissertation study). I’m looking forward to flying down to Atlanta and being there to cheer her on to the finish.

Title: An Analysis of Supports and Barriers to Offering Computer Science in Georgia Public High Schools

Miranda Parker
Human-Centered Computing Ph.D. Candidate
School of Interactive Computing
College of Computing
Georgia Institute of Technology

Date: Thursday, October 10, 2019

Time: 10AM to 12PM EST

Location: 85 5th Street NE, Technology Square Research Building (TSRB), 2nd floor, Room 223

Committee:

Dr. Mark Guzdial (Advisor), School of Interactive Computing, Georgia Institute of Technology
Dr. Betsy DiSalvo, School of Interactive Computing, Georgia Institute of Technology
Dr. Rebecca E. Grinter, School of Interactive Computing, Georgia Institute of Technology
Dr. Willie Pearson, Jr., School of History and Sociology, Georgia Institute of Technology
Dr. Leigh Ann DeLyser, CSforAll Consortium

Abstract:

There is a growing international movement to provide every child access to high-quality computing education. Despite the widespread effort, most children in the US do not take any computing classes in primary or secondary schools. There are many factors that principals and districts must consider when determining whether to offer CS courses. The process through which school officials make these decisions, and the supports and barriers they face in the process, is not well understood. Once we understand these supports and barriers, we can better design and implement policy to provide CS for all.

In my thesis, I study public high schools in the state of Georgia and the supports and barriers that affect offerings of CS courses. I quantitatively model school- and county-level factors and the impact these factors have on CS enrollment and offerings. The best regression models include prior CS enrollment or offerings, implying that CS is likely sustainable once a class is offered. However, large unexplained variances persist in the regression models.

To help explain this variance, I selected four high schools and interviewed principals, counselors, and teachers about what helps, or hurts, their decisions to offer a CS course. I build case studies around each school to explore the structural and people-oriented themes the participants discussed. Difficulty in hiring and retaining qualified teachers in CS was one major theme. I frame the case studies using diffusion of innovations providing additional insights into what attributes support a school deciding to offer a CS course.

The qualitative themes gathered from the case studies and the quantitative factors used in the regression models inform a theory of supports and barriers to CS course offerings in high schools in Georgia. This understanding can influence future educational policy decisions around CS education and provide a foundation for future work on schools and CS access.

October 7, 2019 at 7:00 am Leave a comment

Upcoming NSF Computing Education Workshops from Jeff Forbes

Jeff Forbes has just moved back to the National Science Foundation — great news!  He’s asked me to share information on a set of workshops that has just been funded, relevant to this list. People can sign up for the RPP and BPC Departmental Plans workshops now — the rest will have registration information upcoming.

BPC Plans Department Workshop

Award abstract: https://www.nsf.gov/awardsearch/showAward?AWD_ID=1941413

CISE PIs are encouraged to include meaningful BPC plans in proposals submitted to a subset of CISE’s research programs. Nancy Amato (University of Illinois) is hosting a workshop about the development of departmental BPC plans. The workshop is schedule for Nov 13-15 at Univ of Illinois to bring together teams of 2-3 people/department. Register here.

Computing in Undergraduate Education Workshop

Three workshops to “spark a national dialogue about the role of computing in undergraduate education.” The workshops will likely be in Chicago, DC, and Denver. These workshops will hopefully inform the community and NSF as we develop programs like CUE.

See the award abstract for more information https://www.nsf.gov/awardsearch/showAward?AWD_ID=1944777

CS for All RPP Development workshops

http://nnerpp.rice.edu/csforall-workshops/

Career Workshops for Teaching Track Faculty

https://www.nsf.gov/awardsearch/showAward?AWD_ID=1933380

Data Science for All: Designing the Successful Inclusion of Data Science in High School Computer Science

NY Hall of Science will hold a workshop exploring the potential for including authentic data science curricula and hands-on projects in high school CS courses.

https://www.nsf.gov/awardsearch/showAward?AWD_ID=1922898

Women of Color in Tech

https://www.nsf.gov/awardsearch/showAward?AWD_ID=1923245

Workshop – BP in STEM, Computer Science and Engineering through improved Financial Literacy

https://www.nsf.gov/awardsearch/showAward?AWD_ID=1939739

 

September 19, 2019 at 7:00 am Leave a comment

What’s generally good for you vs what meets a need: Balancing explicit instruction vs problem/project-based learning in computer science classes

Lauren Margulieux has posted another of her exceptionally interesting journal article summaries (see post here). Her post summarizes recent article asking which is more effective: Direct instruction or learning through problem-solving-first (like in project-based learning or problem-based learning — or just about any introductory computer science course in any school anywhere)? Direct instruction won by a wide margin.

Lauren points out that there are lots of conditions when problem-solving-first might make sense. In more advanced classes where students have lots of expertise, we should use a different teaching strategy than what we use in introductory classes. When the subject matter isn’t cognitively complex (e.g., memorizing vocabulary words), there is advantages to having the students try to figure it out themselves first. Neither of these conditions are true for introductory computer science.

This is an on-going discussion in computing education. Felienne Hermans had a keynote at the 2019 RStudio Conference where she made an argument for explicit direct instruction (see link here). I made an argument for direct instruction in Blog@CACM last November (see post here). Back in 2017, I recommended balancing direct instruction and projects (see post here), because projects are clearly more motivating and authentic for computer science students, while the literature suggest that direct instruction leads to better learning — even of problem-solving skills.

Lately, I’ve been thinking about this question with a health metaphor. Let me try it here:

Everybody should exercise, right? Exercise provides a wide variety of benefits (listed in a fascinating blog post from Freakonomics from this June), including cardiovascular improvements, better aging, better sleep, and less stress. But if you have a heart problem, you’re going to get treatment for that, right? If you’re having high cholesterol, you should continue to exercise (or even increase it), but you might also be prescribed a statin.  If you have a specific need (like a vitamin deficiency), you address that need.

Students in computing should work on projects. It’s authentic, it’s motivating, and there are likely a wide range of benefits. But if you want to gain specific skills, e.g., you want to achieve learning objectives, teach those directly. Don’t just assign a big project and hope that they learn the right things there. If you want to see specific improvement in specific areas, teach those. So sure, assign projects — but in balance. Meet the students’ needs AND give them opportunities to practice project skills.

And when you teach explicitly: Always, ALWAYS, ALWAYS use active learning techniques like peer instruction. It’s simply unethical to lecture without active learning.

September 16, 2019 at 7:00 am 6 comments

Come talk about the Role of Authentic STEM Learning Experiences in Developing Interest and Competencies for Technology and Computing #STEMforCompTech

I’m on a National Academies committee to write a report about the role of authentic STEM learning experiences in promoting interest and ability in computing.  We’re having an open meeting/workshop (I don’t really know what it’s about yet) in November in DC. Visit this link for more information.

Save_The_Date__November_4th_Workshop- Role_of_Authentic_STEM_Learning_Experiences_in_Developing_Interest_and_Competencies_for_Technology_and_Computing

September 13, 2019 at 10:00 am Leave a comment

Older Posts


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

Join 7,099 other followers

Feeds

Recent Posts

Blog Stats

  • 1,709,383 hits
December 2019
M T W T F S S
« Nov    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

CS Teaching Tips