Let’s program in social studies classes: NSF funding for our work in task-specific programming languages

If we want all students to learn computer science (CS for All), we have to go to where the students are. Unfortunately, that’s not computer science class. In most US states, less than 5% of high school students take a course in computer science.

Programming is applicable and useful in many domains today, so one answer is to use programming in science, mathematics, social studies, and other non-CS classes. We take programming to where the students are, and hope to increase their interest and knowledge about CS. I love that idea and have been working towards that goal for the last four years. But it’s a hard sell. I told the story in 2018 (see post here) about how the mathematics teachers rejected our pre-calculus course that integrated computing. How do we help non-CS teachers to see value in computing integrated into their classes?

That’s the question Tammy Shreiner at Grand Valley State and I get three years to explore, thanks to a new grant from the US National Science Foundation in the research strand of the “CS for All” Program. Tammy teaches a course on “Data Literacy for Social Studies Teachers” at GVSU, and she (with her colleague Bradford Dykes) have been building an open educational resource (OER) to support data literacy education in social studies classes. We have been working with her to build usable and useful data visualization tools for her curriculum. Through the grant, we’re going to follow her students for three years: From taking her pre-service class, out into their field experiences, and then into their first classes. At each stage, we’re going to offer mentoring and workshops to encourage teachers to use the things we’ve showed them. In addition, we’ll work on assessments to see if students are really developing skills and positive attitudes about data literacy and programming.

Just a quick glimpse into the possibilities here. AP CS Principles exam-takers are now about 25% female. AP US History is 56% female exam takers. There are fives times as many Black AP US History exam-takers as AP CSP exam-takers. It’s a factor of 14 for Hispanic students. Everyone takes history. Programming activities in a history class reach a far more diverse audience.

I have learned so much in the last couple of years about what prevents teachers from adopting curriculum and technology — it’s way more complicated than just including it in their pre-service classes. Context swamps pre-service teaching. The school the teacher goes to influences what they adopt more than what they learned pre-service. I’ve known Anne Ottenbreit-Leftwich for years for her work in growing CS education in Indiana, but just didn’t realize that she is an expert on technology adoption by teachers — I draw on her papers often now.

Here’s one early thread of this story. Bahare Naimipour, an EER PhD student working with me, is publishing a paper at FIE next month about our early participatory design sessions with pre-service social studies teachers. The two tools that teachers found most interesting were CODAP and Vega-Lite. Vega-Lite is interesting here because it really is programming, but it’s a declarative language with a JSON syntax. The teachers told us that it was powerful, flexible — and “overwhelming.” How could we create a scaffolded path into Vega-Lite?

We’ve been developing a data visualization tool explicitly designed for history inquiry (you may remember seeing it back here). We always show at least two visualizations, because historical problems start from two accounts or two pieces of data that conflict.

As you save graphs in your inquiry to the right, you’re likely going to lose track of what’s what. Click on one of them.

This is a little declarative script, in a Vega-lite-inspired JSON syntax. It’s in a task-specific programming language, but this isn’t a program you write. This is a program the describes the visualization — code as a concise way of describing process.

We now have a second version where you can edit the code, or use the pull-down menus. These are linked representations. Changing the menu changes the code and updates the graph. Changing the code updates the menu and the graph. Now the code is also malleable. Is this enough to draw students and teachers into programming? Does it make Vega-Lite less overwhelming? Does it lead to greater awareness of what programming is, and greater self-efficacy about programming tasks?

We just had our first in-service teacher workshop with these tools in August. One teacher just gushed over them. “These are so great! How did I not know that they existed before?” That’s easy — they didn’t exist six months ago! We’re building things and putting them in front of teachers for feedback as quickly as we can, in a participatory design process. We make lots of mistakes, and we’re trying to document those, too. We’re about applying an HCI process to programming experience design — UX for PX.


If you know a social studies teacher who would want to keep informed about our work and perhaps participate in our workshops, please have them sign up on our mailing list. Thank you!

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

 

Do we want STEM education or do we want STEM learning?

I’ve mentioned a couple times that I’m working on using programming in teaching social sciences.  The goal is to teach STEM concepts (e.g., modeling, simulation, using graphical representations like charts, thinking about bias/skew and missing variables in big data, etc.), but in non-STEM subjects.  I argue that the “non-STEM subjects” part is key if you want diversity, if you want to draw in people who aren’t naturally going to show up in STEM classes.
I bounced this off an NSF program officer, and I got a pretty strong: “No.”  I’ll quote part of the response here.
While this is an intriguing idea, no, it would not be fundable in the XXX program as it does not involve the engagement of STEM faculty or their courses, assessments, or materials, or STEM majors.  (All of these are not necessary, but STEM is necessary, not just STEM learning.)
XXX is not just about improving or supporting STEM learning.  It is about improving STEM education.
There’s a distinction being drawn here between “STEM learning” and “STEM education.”  It’s an interesting and important distinction. I’m not at all saying that the officer is wrong.  This program officer is saying (paraphrasing), “It’s not just about learning STEM concepts. It’s about supporting the infrastructure and mechanisms through which we teach STEM.” (By the way, since this exchange, I’ve found other NSF officers in other programs that are more focused on STEM learning not just STEM education.)
That’s a fair concern. We do need STEM classes, curricula, assessments, and faculty. But if we really care about interdisciplinarity and broadening participation, we need to care about more than that.  We need to fund efforts to integrate STEM learning and use STEM thinking (e.g., Bacon’s Novum Organum) across the curriculum, to influence how we think about everything. We also need the infrastructure to support the institution of STEM education. The challenge is doing both.
There is an obvious connection to computing education.  We need more computer science teachers, curricula, tools, and classes. But we also need more students learning about computing, which might happen more inexpensively in mathematics, science, and social science classes. How do we prioritize?

Georgia Tech Launches Constellations Center Aimed at Equity in Computing

 

The Constellations Center was launched at a big event on December 11.  I was there, to hear Executive Director Charles Isbell host the night, which included a great conversation with Senior Director Kamau Bobb (formerly of NSF).

 

Constellations is going to play a significant role in keeping a focus on broadening participation in computing in Georgia, and to serve as a national leader in making sure that everyone gets access to computing education.

Georgia Tech’s College of Computing has launched the Constellations Center for Equity in Computing with the goal of democratizing computer science education. The mission of the new center is to ensure that all students—especially students of color, women, and others underserved in K-12 and post-secondary institutions—have access to quality computer science education, a fundamental life skill in the 21st century.

Constellations is dedicated to challenging and improving the national computer science (CS) educational ecosystem through the provision of curricular content, educational policy assessment, and development of strategic institutional partnerships. According to Senior Director Kamau Bobb, democratizing computing requires a “real reckoning with the race and class divisions of contemporary American life.”

See more here.

NSF Education Research Questions and Warnings for #CSforAll during #CSEdWeek

Joan Ferrini-Mundy spoke at our White House Symposium on State Implementation of CS for All (pictured above). Joan is the Assistant Director at NSF for the Education and Human Resources Directorate. She speaks for Education Research. She phrased her remarks as three research areas for the CS for All initiative, but I think that they could be reasonably interpreted as three sets of warnings. These are the things that could go wrong, that we ought to be paying attention to.

1. Graduation Requirements: Joan noted that many states are making CS “count” towards high school graduation requirements. She mentioned that we ought to consider the comments of organizations such as NSTA (National Science Teachers Association) and NCTM (National Council of Teachers of Mathematics). She asked us to think about how we resolve these tensions, and to track what are the long term effects of these “counting” choices.

People in the room may not have been aware that NSTA had just (October 17) come out with a statement, “Computer Science Should Supplement, not Supplant Science Education.”

The NCTM’s statement (March 2015) is more friendly towards computer science, it’s still voiced as a concern:

Ensuring that students complete college- and career-readiness requirements in mathematics is essential. Although knowledge of computer science is also fundamental, a computer science course should be considered as a substitute for a mathematics course graduation requirement only if the substitution does not interfere with a student’s ability to complete core readiness requirements in mathematics. For example, in states requiring four years of mathematics courses for high school graduation, such a substitution would be unlikely to adversely affect readiness.

Both the NSTA and NCTM statements are really saying that you ought to have enough science and mathematics. If you only require a couple science or math courses, then you shouldn’t swap out CS for one of those. I think it’s a reasonable position, but Joan is suggesting that we ought to be checking. How much CS, science, and mathematics are high school students getting? Is it enough to be prepared for college and career? Do we need to re-think CS counting as science or mathematics?

2. Teacher Credentialing: Teacher credentials in computer science are a mishmash. Rarely is there a specific CS credential. Most often, teachers have a credential in business or other Career and Technical Education (CTE or CATE, depending on the state), and sometimes mathematics or science. Joan asked us, “How is that working?” Does the background matter? Which works best? It’s not an obvious choice. For example, some CS Ed researchers have pointed out that CTE teachers are often better at teaching diverse audiences than science or mathematics teachers, so CTE teachers might be better for broadening participation in computing. We ought to be checking.

3. The Mix of Curricular Issues: While STEM has a bunch of frameworks and standards to deal with, we know what they are. There’s NGSS (Next Generation Science Standards) and the National Research Council Framework. There’s Common Core. There are the NCTM recommendations.

In Computer Science, everything is new and just developing. We just had the K-12 CS Framework released. There are ISTE Standards, and CSTA Standards, and individual state standards like in Massachusetts. Unlike science and mathematics, CS has almost no assessments for these standards. Joan explicitly asked, “What works where?” Are our frameworks and standards good? Who’s going to develop the assessments? What’s working, and under what conditions?

I’d say Joan is being a critical friend. She wants to see CS for All succeed, but she doesn’t want that to cost achievement in other areas of STEM. She wants us to think about the quality of CS education with the same critical eye that we apply to mathematics and science education.