Recently, I spoke at the SXSWedu conference in Austin about the opportunity to teach coding across university disciplines. Computer programming is quickly becoming an expected 21st century literacy, but coding is no longer limited to the realms of computer and information sciences. Technology can be used to solve problems across a range of fields, but only if we have people in those disciplines who understand how to apply it.
Here are a few of the realities we’ll need to consider before we can effectively introduce coding across the curriculum.
Computer science doesn’t necessarily mean coding education. Computer scientists proudly proclaim that their curriculum isn’t meant to teach tools. It’s designed to introduce algorithmic thinking and problem solving agnostic of any specific technology. While that is a reasonable stance in theory, in practice learning to solve problems requires one to DO SOMETHING. And to do something, you have to apply the technologies at hand. Yes, one must exercise judgment in selecting and applying the proper technologies and continue to develop and learn over time, but it’s ultimately what one does with technology that demonstrates competency. While there is merit to the theoretical approach, its pure application seems less relevant to the specific needs of many disciplines.
Computer science is also primarily concerned with the development of large systems and languages that can support the solution of big problems. Web and mobile development, which can be applied to a range of problems requires a different set of knowledge and tools. But I think if computer science departments recognize the need for coding across the curriculum, they can serve as an important hub for contextualized coding education.
Different disciplines require specialized context and support in delivering coding education. While everyone who codes needs to understand the basics – data types, variables, loops, functions and the art of an algorithm – the ways in which these features are applied vary across disciplines like communication, the arts, humanities and science. Coding may be used to develop a customizable data visualization, design an interactive work of fiction or develop an immersive museum experience. It can be used to create simulated learning environments or to explain difficult concepts. It can be used to seamlessly navigate the virtual and the physical, taking cues from surroundings, past experiences and your social network. If we are going to take advantage of these opportunities, we’ll need to teach coding in the contexts that support these applications and more. But students (and faculty) in these disciplines may not feel they have the background or mindset to code.
We’ll need specialized support – which may mean small lab environments, personalized instruction and discipline-specific learning communities – in order to meet these broad-ranging needs.
By introducing coding in different disciplines, we’ll be exposing different types of students to these important skills. I have written in the past about the opportunity to reach women by teaching programming in journalism and mass communication. By adding coding education to a range of disciplines, we will reach students from different backgrounds and perspectives than those who have traditionally studied computer science.
Collaborations are hard. Cross-discipline efforts don’t come easily in the university environment. Different missions and goals prevent natural integrations across departments. And expecting one discipline to teach another discipline its specialized coding context is unreasonable and untenable. But just because collaborations are hard doesn’t mean they aren’t worth pursuing. Communication across departments to understand roles and expectations will be necessary to forge productive partnerships. Collaborations in the professional community are another avenue to pursue in seeking support for programming curriculum.
Coders won’t be hired to support journalism, storytelling, art or science. They will be the journalists, storytellers, artists or scientists.
That’s the goal. Programming will be a part of what the leaders and innovators in our fields can do.
Coding knowledge will be perceived as a spectrum, not something you either can or can’t do. There will be a range of coders – people who understand enough to know what is possible, those who are increasingly able to solve their own problems with technology and the uber-coders – those who can forge new solutions with technology in specific areas. But everyone will be expected to participate on collaborative, technology-oriented teams. Ignorance won’t be an option.
Code schools are filling the gaps that the academe has left wide open. These for-profit entities – like General Assembly, MakerSquare or The Iron Yard – have popped up around the country over the past few years, charging students in excess of $10,000 to learn to code in a few weeks. They have jumped at a market opportunity. While no university department could or should take up the exact model of these code schools, we can close the gap by defining the coding knowledge relevant to graduates entering our professions.
Curriculum will need to change. Whether it’s new course modules, new majors or new collaborations, the integration of coding across the curriculum will require educators to rethink the ways a university education is delivered. Programming is simply a part of a larger disruptive trend in education, as evidenced by the four provocations described in the Stanford 2025 project.
We’ll need educators in every discipline who can teach coding. That doesn’t mean we need completely new people. It means we need people who recognize the opportunity and are curious about learning new approaches. It means we have people who are O.K. with what they don’t know, but committed to giving their students the best possible introduction to coding skills that are meaningful and relevant in their field. It means learning as we go and not always having all the answers, but modeling the ways in which we find the answers. It means redefining what it means to be an educator.
The result will be that we have a range of people understanding and solving different types of problems with technology. They are in demand right now. We can’t afford to wait.
My presentation slides are available at http://www.slideshare.net/cindyroyal/coding-across-the-curriculum. And check out my students’ coverage of SXSW Interactive at SXTXState.com.
Cindy Royal is an associate professor in the School of Journalism and Mass Communication at Texas State University, where she teaches Web design and digital media topics. During the 2013-2014 academic year, she was in residence at Stanford University as a Knight Journalism Fellow, working on a platform to teach programming skills to journalists. In 2013, she was awarded the Charles E. Scripps Journalism and Mass Communication Teacher of the Year, presented by the Association for Education in Journalism and Mass Communication and the Scripps Howard Foundation. More information can be found at cindyroyal.com.