Computing education research (CER), also known as computer science education (CSEd), is the study of how people learn computing and the invention of better ways to teach computing. This FAQ will teach you more about the field and how you might contribute to it.
What is computing education research?
First, CER is not teaching. Teaching is helping people acquire knowledge, skills, attitudes and beliefs. Research is discovery and invention. Teachers teach computing, whereas computing education researchers discover what is true about the teaching and learning of computing, and invent new techniques for teaching and assessing it (some pedagogical, some computational).
CER is also not educational technology. Computing education researchers often create educational technologies to support the learning and teaching of computing, but CER is not concerned with the broad use of technology in learning, teaching, and education. It's specifically concerned with the learning and teaching of computing.
It's also important to note that I construe "computing" broadly: it's not just about programming, or even just about computer science, but also about all of the phenomena surrounding computing (including privacy, security, information ethics, software engineering, etc.). This means that computing education and computing education research can and do cover far more than just learning to code. (It just hasn't historically).
How does computing education research compare to learning sciences, education research, and educational psychology?
I'm not the best person to answer this question, since I don't have deep exposure to these other three communities (yet!). However, I do collaborate with people in these other communities and have learned about their differences. Here's the best characterization I can give:
- Education research is broadly concerned with formal systems of education, how to make those systems effective and just, how to prepare teachers to make them effective and just. The field is interested in general theories of learning, education, interest development, and identity, and because of it's focus on formal education, is often focused on youth. The phrase "Computing education" uses the word "education" in this same way, but I believe is more broadly concerned with teaching and learning in any context (in principle, but much in practice).
- Educational psychology is focused on learning phenomena in the mind, such as learning, memory, development, intelligence, self-regulation, motivation, and self-concept. The field is also concerned with school psychologists who help students with their mental health. The field tends to be more quantitiatve than education research and learning sciences, following traditions of cognitive psychology. Computing education draws upon this field, especially in it's history of cognitive theories of program understanding.
- Learning sciences emerged in the 1990's as a reaction to educational psychology's inattention to the setting, culture, and context of learning. Combining perspectives from cognition, cognitive science, computer science, and design, like education research, it's much more concerned with the sociocultural factors that shape learning, and more than education and educational psychology, views design as a means to articulating theories, a way of shaping theories, and a way of testing theories. Because of the focus on context, in addition to being concerned with formal systems of education, it is also concerned with learning across the lifespan, at home, in families, and other settings.
How does computing education fit in to all of this? Like other discipline-based education research (DBER) such as math and physics education, it draws upon all three of the fields above, using theories and ideas from those fields. However, because it is focused on a discipline, it is specifically concerned with the content of the discipline, specific methods of learing and teaching that content. In this sense, it is more applied, bridging foundational ideas that span any human learning to applied ideas specific to the learning of specific ideas and skills. Obviously, I think applied sciences like this are critical: they are how we transate basic research ideas into applied ideas that can be used in the world.
What are the overarching research questions in CER?
As with any research discipline, research questions can and should be specific. However, there are some major overarching questions in this field that researchers have begun to investigate, including:
- How do people learn computing?
- How do teachers teach and assess computing?
- How can people learn computing more effectively?
- How can teachers teach computing more effectively?
- How can access to computing education be improved?
- How can computing education be delivered equitably to all?
- How can technology teach computing?
- How does computing education affect people's lives?
- What are the costs of computing illiteracy?
- What does it mean to know computing?
- What is computing?
- What can be taught about computing to learners of different ages?
While the "people" in the questions above could be anyone (youth, teens, college students, adults, and even teachers), the history of CER has primarily focused on teaching college students, because the faculty conducting research have found it easier to study the students they are teaching. This is changing as countries around the world begin to incorporate computing into all levels of school, and as private industry begins to create technologies and services that teach computing to all ages. For example, my research has investigated new ways to teach youth from age 8-18, as well as adults.
What are some exciting CER discoveries?
There are so many! Examples include:
- The field discovered that diversity in computing education is low because of the narrow, exclusionary nature of computing cultures, not because of inherent disinterest or inability on the part of diverse learners (e.g., Fisher & Margolis 2002, Margolis 2010).
- The field invented contextualized computing ed pedagogy (e.g., Mark Guzdial's media computation), which has greatly increased the diversity of computer science graduates, and spread to many universities.
- The field built upon the earliest structured editors like the Cornell Program Synthesizer, eventually maturing them into block-based editing environments like Alice, Scratch and Blockly. These editors greatly increased engagement in computing education, and greatly reduced barriers to learning programming languages.
- Seymour Papert, who was broadly concerned with learning, but also the learning of computing, contributed constructionism, a new theory of learning (Papert 1980).
- Alan Kay, one of the earliest researchers to investigate the learning of computing, helped build upon ideas of object-orientation from Simula, which inspired Smalltalk, which along with other languages such as C++, inspired the modern object-oriented programming languages and IDEs we use today.
The field's recent efforts to transform STEM education through computing, invent rapid new forms of learning online, and devise more equitable ways to teach should be equally, if not more impactful.
What kinds of jobs do computing education researchers do?
Most computing education researchers are faculty in universities. Many of these faculty are tenure-track faculty like myself, which means a substantial portion of our time (often 50%) is spent conducting research. However, there are also many instructors (who teach 100% of their time) who find additional time to do research on top of their teaching. Many of the original authors at ICER were once members of the Bootstrapping or Scaffolding groups (led by Fincher, Petre, and Tenenberg), who were CS teachers that started to do research in their own classrooms.
Not all computing education researchers are college faculty. Some work in industry creating educational technologies for teaching computing, applying their expertise to the research and design of educational software. Some work in non-profits, using their expertise to advocate for computing education in schools, while conducting research on factors that affect policy. Some work in school districts, helping to implement computing education curricula in schools, while studying and evaluating the effectiveness of the implementation. Others work in government, facilitating research funding. Others still become teachers themselves, both at universities and other schools.
Tenure-track faculty are in the best position to make advances in the field because a substantial portion of their time is dedicated to research. It is possible to do research in other positions, but it is often outside the scope of a job. Because of this, many non-tenure track faculty focus their research on settings that their job gives them access to, which can restrict which research questions they can answer.
How do I become a CER researcher?
The most effective route is to get a Ph.D. in computing education research at one of the many Ph.D. granting universities in the world. Ph.D. students learn to conduct research over the course of multiple years (generally 4 to 6) under the supervision of an advisor. Many undergraduates participate in research to help them learn about research, which can also help with admission to Ph.D. programs (especially if you publish, which demonstrates your interest and ability in conducting research).
Where can I get a Ph.D. in CER?
You need to find a university that grants Ph.D.'s and has tenure-track faculty who do research in CER on a topic that you're interested in. The alphabetical list below contains some of the many faculty who advise Ph.D. students on computing education research. Find them online and see what kind of research they're doing. (This list may be out of date, as faculty sometimes move universities, retire, go to industry, or change research areas, so be sure to check their website for the latest information).
One note about selecting advisors: their disciplinary affilitation is one indicator of the nature of the contributions they might make (people in CS departments might built learning technologies, people in colleges of education might focus on teacher training and pedagogy), but this is not a perfect indicator.
Another caveat: some of the faculty below have chosen their expertise descriptions, but others I had to extract from faculty websites wrote. I've put a * next to expertise that hasn't been chosen or agreed to by the researcher being described. These expertise tags are also likely to be perpetualy out of date, as researchers pursue new topics. The best thing to do is click on their name to visit their website and see what kinds of research they have published. That's the most direct indicator of their interests, the methods they use, and the types of contributions they want to make (other than just writing them and asking, which you can also do).
|Erik Barendsen*||pedagogy, literacy, computational thinking||Computing and Information Sciences||Open University||Netherlands|
|Tiffany Barnes||inclusion, educational games, tutoring systems, teacher education||Computer Science||North Carolina State University||USA|
|Austin Cory Bart||introductory computing, motivation||Computer Science||University of Delaware||USA|
|Brett Becker||novices, programming, compilers, errors||Computer Science||University College Dublin||Ireland|
|Tim Bell||CS unplugged, curriculum||Computer Science||University of Canterbury||New Zealand|
|Matthew Berland*||digital media, data science learning||Curriculum & Instruction
|University of Wisconsin-Madison||USA|
|Paulo Blikstein*||project-based learning||Communications, Media and Learning Technology Design||Columbia University||USA|
|Kristy Boyer*||intelligent tutoring systems||Computer Science||University of Florida||USA|
|Karen Brennan||constructionism, creativity, K-12 classrooms, teacher learning||Graduate School of Education||Harvard||USA|
|Jed Brubaker||how identity is designed, represented and experienced in socio-technical systems||Information Science||University of Colorado, Boulder||USA|
|Steve Cooper*||program visualization, spatial reasoning||Computer Science & Engineering||University of Nebraska, Lincoln||USA|
|Quintin Cutts*||pedagogy, assessment, work based learning and teacher learning communities||School of Computer Science||University of Glasgow||Scotland|
|Joshua Danish*||how people learn through activity||School of Education||Indiana University Bloomington||USA|
|Sayamindu Dasgupta*||youth, data science||School of Information and Library Science||University of North Carolina at Chapel Hill||USA|
|Adrienne Decker||pedagogy, assessment, efficacy of outreach||Engineering Education||University at Buffalo||USA|
|Paul Denny||collaborative learning, online learning, gamification, student-generated resources||Computer Science||University of Auckland||New Zealand|
|Kayla DesPortes*||computing as a medium for expression||Learning Sciences||New York University||USA|
|Sebastian Dziallas*||experiences in higher education CS||Fulbright University Vietnam||Vietnam|
|Betsy DiSalvo*||culture, informal learning||School of Interactive Computing||Georgia Tech||USA|
|Brian Dorn*||HCI, informal learning, teacher education||Department of Computer Science||University of Nebraska, Omaha||USA|
|Anna Eckerdal*||threshold concepts, MOOCs, learning in labs||Department of Information Technology||Uppsala University||Sweden|
|Steve Edwards*||software engineering, formal methods, autograding||Computer Science||Virginia Tech||USA|
|Barbara Ericson*||pedagogy, diversity||School of Information||University of Michigan||USA|
|Martin Erwig||programming languages, visual languages, explanations, story programming||Electrical Engineering and Computer Science||Oregon State University||USA|
|Katrina Falkner*||pedagogy, computational thinking||School of Computer Science||University of Adelaide||Australia|
|Sally Fincher*||pedagogy||School of Computing||University of Kent||UK|
|Casey Fiesler*||technology ethics||Information Science||University of Colorado, Boulder||USA|
|Kathi Fisler||Programming languages, pedagogy, cross-disciplinary learning and transfer||Computer Science||Brown University||USA|
|Armando Fox*||digital learning, programming systems, and software engineering||Electrical Engineering & Computer Science||University of California, Berkeley||USA|
|Joanna Goode*||Access and equity for underrepresented students of color and females in computer science education||College of Education||University of Oregon||USA|
|Tovi Grossman||HCI, software learning, interactive tutorials||Computer Science||University of Toronto||Canada|
|Philip Guo||HCI, learning at scale||Cognitive Science||University of California, San Diego||USA|
|Mark Guzdial*||pedagogy, curriculum, end-user programming, teachers, research instruments, theory||Computer Science & Engineering
Engineering Education Research
|University of Michigan||USA|
|Sarah Heckman||software engineering, automated grading, and help-seeking||Computer Science||North Carolina State University||USA|
|Geoffrey Herman||conceptual change and student learning, assessment and measurement, pedagogy, and faculty development||Computer Science||University of Illinois, Urbana-Champaign||USA|
|Felienne Hermans||K-12 education, misconceptions, teacher education, direct instruction, end-user programming||Computer Science||Leiden University||The Netherlands|
|Nathan Holbert||constructionism, diversity||Mathematic Science and Technology, Teachers College||Columbia University||USA|
|Peter Hubwieser||assessment||Computer Science||TU Munich||Germany|
|Chris Hundhausen||social learning technologies and pedagogical approaches||Computer Science||Washington State University||USA|
|Yasmin Kafai||constructionism, educational games, electronic textiles, Scratch||Graduate School of Education||University of Pennsylvania||USA|
|Dennis Kafura*||computational thinking||Computer Science||Virginia Tech||USA|
|Caitlin Kelleher*||learning technology||Computer Science||Washington University in St. Louis||USA|
|Scott Klemmer*||HCI, learning at scale||Cognitive Science||University of California, San Diego||USA|
|Amy J. Ko||HCI, software engineering, pedagogy, learning at scale||The Information School
Computer Science & Engineering
|University of Washington, Seattle||USA|
|Shriram Krishnamurthi*||programming languages, pedagogy||Computer Science||Brown University||USA|
|Celine Latulipe*||HCI, creativity, pedagogy||Software and Information Systems||UNC Charlotte||USA|
|Michael J. Lee||HCI, educational games, diversity, learning technologies||Informatics||New Jersey Institute of Technology||USA|
|Victor Lee||learning sciences, computational thinking with board games, early childhood computational thinking, maker education||Instructional Technology and Learning Sciences||Utah State University||USA|
|Raymond Lister*||cognition, assessment, program understanding||School of Software||University of Technology, Sydney||Australia|
|Andrew Luxton-Reilly*||learning communities, game-based learning, debugging, automated assessment, gender and diversity in CS||Computer Science||University of Auckland||New Zealand|
|Lauri Malmi||program visualization, algorithm visualization, automatic assessment||Computer Science||Aalto University||Finland|
|Lauren Margulieux*||online learning in computing||Department of Learning Sciences||Georgia State University||USA|
|Briana Morrison*||pedagogy, cognitive load||Computer Science||University of Nebraska, Omaha||USA|
|Chris Orban*||high school physics and math CS integration||Physics||The Ohio State University||USA|
|Eleanor O'Rourke||HCI, educational games, learning technology, growth mindset, motivation||Computer Science and Learning Science||Northwestern||USA|
|Tapan Parikh||Data science, civic tech, equity||School of Information||Cornell Tech||USA|
|Elizabeth Patitsas||sociology, diversity, educator practices||School of Computer Science
Department of Integrated Studies in Education
|Roy Pea*||learning science, informal learning||Education and Learning Sciences||Stanford||USA|
|Arnold Pears*||pedagogy||Department of Information Technology||Uppsala University||Sweden|
|Bill Penuel*||teacher learning and organizational processes||Education||University of Colorado, Boulder||USA|
|Marian Petre*||software design, design pedagogy||Centre for Research in Computing||The Open University||UK|
|Leo Porter||pedagogy, assessment, educational data mining||Computer Science and Engineering||University of California, San Diego||USA|
|Mitch Resnick*||constructionism, creativity||Media Lab||MIT||USA|
|Judy Robertson*||data science education, curriculum development, teacher professional learning and games-based learning||School of Education||The University of Edinburg||Scotland|
|Anthony Robins||psychology of programming, language learning, first programming language, novice programmers, CS1||Computer Science||University of Otago||New Zealand|
|Ricarose Roque||constructionism, creativity, informal learning, family learning||Information Science||CU Boulder||USA|
|Linda Sax*||diversity in undergraduate CS and STEM||Department of Education||University of California, Los Angeles||USA|
|Cliff Shaffer*||digital education||Computer Science||Virginia Tech||USA|
|Kristin Searle*||gender, culture, engagement with computing||Instructional Technology and Learning Sciences||Utah State University||USA|
|Carsten Schulte*||pedagogy||Computer Science||Paderborn University||Germany|
|Valerie Shute*||assessment||Education||Florida State University||USA|
|Ben Shapiro*||constructionism, new media||ATLAS Institute
|University of Colorado||USA|
|Andreas Stefik||Human factors of programming language design, accessibility||Computer Science||University of Nevada, Las Vegas||USA|
|Jan Vahrenhold||algorithms, non-cognitive factors, TA education||Computer Science||University of Münster||Germany|
|Sepehr Vakil||sociocultural perspectives on learning and identity; ethics and politics of computing; social justice education||Learning Sciences||Northwestern University||USA|
|Erin Walker||personalized learning environments, computer-supported collaborative learning, robotic learning environments||School of Computing and Information||University of Pittsburgh||USA|
|David Weintrop||design of learning environments, computational thinking, K-12 Classrooms||College of Education & College of Information Studies||University of Maryland||USA|
|Uri Wilensky*||computational thinking, science integration||Learning Sciences||Northwestern University||USA|
|Joseph Jay Williams||HCI, A/B experimentation, learnersourcing, personalization, multi-armed bandits/reinforcement learning, self-explanation, metacognition, motivation and social psychology interventions, cognitive science, mental health, learning at scale||Computer Science||University of Toronto||Canada|
|Aman Yadav||computational thinking, teacher education, problem-based learning, teacher professional development||Educational Psychology and Educational Technology||Michigan State University||USA|
|Haoqi Zhang*||learning ecosystems||Computer Science||Northwestern||USA|
For doctoral admissions, how important is it to demonstrate focus in a single research area?
Advisors differ on the criteria they use to select candidates. Personally, I look for 1) experience with research, 2) passion in the subject of computing education, 3) the requisite skills to persue that passion, and 4) an overlap with my interests. You can get experience by working with faculty at your own institution. That can be hard if you don't have faculty doing work in this area. The requisite skills depend a lot on the contributions you want to make. If you want to envision and build new learning technologies, can you code well enough to build them? If you want to investigate new teacher training methods, do you have teaching experience? If you want to do more theoretical work, how strong is your technical writing?
Working specifically in computing education isn't necessary to achieve the above. Perhaps you have undergraduate research experience in HCI, software engineering, or programming languages. That can be fine, as long as your passion is clear and the skills you have align with the questions you want to answer. Researchers are always investigating new questions, so it's perfectly normal to have experience from other related areas of computing and information science.
Can I get funding to do CER?
Yes! In the U.S., Ph.D. students are generally funded by the research grants their advisors obtain, and can also receive NSF Graduate Research Fellowships, which cover three years of tuition and stipend. Undergraduates can participate in NSF-sponsored Research Experience for Undergraduate projects that faculty sponsor. CER faculty can also apply for NSF CAREER grants on computing education research, or an NSF Research Initiation Initiative for new faculty. Most Ph.D. granting institutions also offer teaching assistantships. In the United States, there are also regularly programs that fund CER. This changes frequently, but here is a current snapshot as of 2016:
- NSF STEM+C. Funds a variety of research and implementation projects, some focused on the integration of computing into STEM subjects, and some on basic computing education research.
- NSF IUSE. Funds programs that improve the quality of and access to STEM education in undergraduate programs. Does not directly fund basic research.
- NSF ITEST. Funds programs that broaden participation in STEM. Does not directly fund basic research.
- NSF DRK-12. Funds projects that enhance the quality of and access to STEM education in K-12, including basic research.
- NSF Cyberlearning. Funds projects that enhance how learning occurs in technology-rich environments, including intelligent tutors, computer-based instruction, computational tools for learning, etc.
- NSF EHR CORE Research. Funds basic education research. Not CS specific, but it has separate tracks within its reviewing structure for CS and engineering.
- NSF IIS Cyber-Human Systems. Funds HCI research. Not CS specific, but is very supportive of educational technologies that advance the capabilities of human expression.
Also, Google offers Faculty Research Awards. If you submit the HCI category, it will be routed to and reviewed by people with computing education expertise.
What do I need to know to be a successful computing education researcher?
First, you need to know some computing yourself. That doesn't mean you need a computer science degree, but it helps to have learned to code. Beyond that, there are many things you'll eventually need to know to make original discoveries, but you can't go wrong by reading these:
- The Cambridge Handbook of Computing Education Research is a carefully edited synthesis of all of the major discoveries in computing education research since its beginning as a field 50 years ago up until 2018. I authored several chapters along with more than a dozen other leading researchers with the goal of creating the definitive introduction to the field.
- How People Learn: Brain, Mind, Experience, and School (Bransford, Brown, & Cocking, 1999) provides a strong grounding in learning sciences and education research, which is a must for anyone who wants to advance knowledge in any area of learning.
- How People Learn II: Learners, Contexts, and Cultures (2018). Extends the original How People Learn book to more sociocultural views of learning.
- Learner-Centered Design of Computing Education: Research on Computing for Everyone (Mark Guzdial) is a wonderful synthesis of computing education research, with a focus on pedagogy for anyone learning computing, rather than just computer science students.
- Computer Science Education Research (Fincher & Petre) provides an overview of CER and its different traditions, approaches, and methods.
- Elizabeth Patitsas's reading list on equity in computing is a list of foundational readings about critical perspectives on education, learning and technology; it includes and gives context for equity issues in the domain of CS education.
- Programming Paradigms and Beyond (Shriram Krishnamurthi & Kathi Fisler) is an excellent introduction to programming languages in the context of computing education. Anyone trying to make programming easier to learn should read this so they have accurate language and concepts to reason about what programming languages are.
- Mindstorms: Children, Computers, and Powerful Ideas (Papert, 1980) is a classic book that claims that children can learn to use computers in a masterful way and that learning to use computers can change the way they learn everything else. It provides a provocative vision for the field.
- Stuck in the Shallow End (Margolis et al.) studies the racial inequity in computer science, whereas, Unlocking the Clubhouse (Margolis et al.,) studies the gender inequity in computer science. Both are foundational books in understanding structural inequities in computing education.
- Computational Thinking in K-12 A Review of the State of the Field (Grover & Pea, 2013, Educational Researcher, 42(1)) frames the current state of discourse on computational thinking in K-12 education, identifying gaps in research.
- A survey of literature on the teaching of introductory programming (Pears et al. 2007). A great overview of CER papers on classroom instruction on programming.
- Constructing a core literature for computing education research (Pears et al. 2005). This paper has a nice appendix with a list of core papers as of 2005.
- Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers (Kelleher, C., & Pausch, R. 2005, ACM Computing Surveys, 37(2)) provides a detailed walkthrough of most of the programming languages, environments, and tools that had been invented up until 2005. There have been more since, but before ever inventing one of your own, it's important to know what's been invented already.
- The State of the Art in End-User Software Engineering (Ko et al., 2011, ACM Computing Surveys, 43(3)) synthesizes of all of the programming languages, environments, and tools that have helped people learn to code while automating a task (which we call "end-user programming").
- The McCracken Working Group McCracken et al. 2001, ACM SIGCSE Bulletin, 33(4) showed that computer science students generally do not know how to program after a sequence of introductory programming courses. A follow up replicated these results (Lister et al., 2004, A multi-national study of reading and tracing skills in novice programmers, ACM SIGCSE Bulletin, 36(4)).
- Situating Constructionism (Papert, S., & Harel, I. 1991, constructionism, 36), providing a vision of what constructionism is and isn't.
- Epistemological pluralism: Styles and voices within the computer culture (Turkle, S., & Papert, S. 1990, From Hard Drive to Software: Gender, Computers, and Difference, 16(1)), framing the culture of computing.
- Changing minds: Computers, learning, and literacy (DiSessa, 2001). Dissects the relationship between computing and literacy.
- Connected code: Why children need to learn programming (Kafai, Y. B., Burke, Q., & Resnick, M. 2014). Makes the case of computing creativity.
- Misconceptions in programming Qian and Lehman 2017. This is a great review of the broad literature on misconceptions that people form about programming.
- Design experiments: Theoretical and Methodological Challenges in Creating Complex Interventions in Classroom Settings Ann Brown 1992. This classic, seminal essay questioned many basic assumptions in educational psychology and their applicability to improve teaching and learning in the real world.
- Ontological Innovations and the Role of Theory in Design Experiments Andrea A. diSessa & Paul Cobb 2004. An important paper about theory that argues that design experiments in education are a site for theory innovation.
- On Theory Use in Computing Education Research Greg Nelson and Amy J. Ko 2018. This paper that our desire to both advance explanatory theory and advance design splits our attention, which prevents us from excelling at both; that our emphasis on applying and refining general theories of learning is done at the expense of domain-specific theories of computer science knowledge; and our use of theory as a critical lens in peer review prevents the publication of designs that may accelerate design progress.
- The Dialectic of Arithmetic in Grocery Shopping. (Lave, J. 1984). This paper provides a distributed cognition view of what arithmetic skills are, arguing that they cannot be divorced from context. It has clear implications for computing skills, which many view as transferrable between contexts.
- Teaching Tech Together Greg Wilson. This is an informal survey of research useful for teaching programming. Greg put it together to help others become better teachers of computing.
Beyond the works above, it can also be informative to read the proceedings of computing education research conferences and journals to see what kind of research is of active interest. You can find much of this research in the ACM Digital Library (e.g., the ICER proceedings).
Mark Guzdial has also offered a class on computing education research that covers much of this material.
What conferences and journals publish CER?
Most academic fields have exclusively academic venues for publication, with few practitioners participating in or reading the research that researchers produce. The CER community is unique (and I believe quite fortunate) in that practitioners are deeply involved in the academic research community (partly because most faculty conducting research are teachers themselves). Below I note several conferences and journals where you can publish computing education research (see SIGCSE for a broader list). Note that I separate the pure research venues from the venues that combine both research and practice since the combined venues are often dominated by practioners, which can make it hard to have focused research conversations and rigorous peer review.
Research only venues
ICER (the ACM International Computing Education Research conference) is the only academic conference that strictly publishes research. All of the reviewers who peer review submissions are trained researchers with Ph.D.s. ICER tends to focus on theoretically, methodologically, and empirically-rich work, advancing the science of computing education. It is held around the world but is generally in North America every other year.
TOCE (the ACM Transactions on Computing Education) publishes research, and is similar in scope to ICER, but in a journal format. Like ICER, the editorial board and reviewers are all trained researchers.
CSE (the Journal of Computer Science Education) publishes research and is similar to TOCE and ICER in its reviewing community and similar in research rigor and prestige. However, unlike TOCE and ICER, publications in CSE are generally expected to have more direct implications for teachers.
ICLS (the International Conference on Learning Sciences) does not strictly focus on computing education, but publishes high quality research on learning sciences. Accepts both qualitative and quantitative work, especially of mixed methods. Also tends to focus more on K-12 than the venues focusing strictly on CER.
JLS (the Journal of Learning Sciences) is one of the top education research journals and expects a strong connection to learning theory and mostly wants empirical work. It is not a journal that publishes HCI, so work must be connected to cognition, sociocultural context, or other theory, and not system design.
CSCL (the International Conference on Computer-Supported Collaborative Learning) focuses on issues related to learning through collaboration and promoting productive collaborative discourse with the help of the computer and other communications technologies.
IJCSCL (the International Journal of Computer-Supported Collaborative Learning), like CSCL, focuses on learning through collaboration.
L@S (the ACM Conference on Learning at Scale) is a computer science conference that focuses on techniques for scaling instruction. Some of the work published here concerns computing education, but many other domains are represented as well. Often focuses on MOOCs and other forms of online learning.
RESPECT (the IEEE Conference on Research on Equity and Sustained Participation in Engineering, Computing, and Technology) is a conference focused on engagement, participation, and equity in STEM fields. It has research and experience report tracks, and expects empirical papers grounded in theory.
IDC (ACM SIGCHI Interaction Design and Children) is an HCI conference with a focus on children, focusing on design artifacts for kids and enabling kids to be designers, with a special focus on participatory design as a methodology.
CHI (ACM SIGCHI Conference on Human Factors in Computing) is an HCI conference with a focus on any aspect of interactions between people and computers, including programming. As one of the largest and broadest ACM conferences, it's easily for research on learning to get lost here, but so does every other topic!
AERA (the American Education Research Association conference) has a division for engineering and computing education that publish papers on computational thinking.
JEE (the Journal of Engineering Education). High-quality but with few international collaborations (like the MIMN studies in CER). Occasionally has papers related to computing.
Research and practice venues
- SIGCSE (the SIGCSE Technical Symposium on Computer Science Education) publishes both research and practice papers in a short format, bringing together researchers and teachers. This is the largest conference on computer science education and generally attracts teachers. There is now a dedicated research track separate from experience reports. Generally held in North America.
- ITiCSE (the Annual Conference on Innovation and Technology in Computer Science Education) publishes both research and practice papers, with a focus on practice. Generally held outside the United States.
- Koli Calling (International Conference on Computing Education Research), held in Finland every year, publishes research and practice papers with a focus on qualitative research. A small but dedicated community.
- WiPSCE (Workshop in Primary and Secondary Computing Education) aims to bring together researchers and practitioners, and publishes both research and practice papers. It is generally held in Europe.
- ACE (the Australasian Computing Education Conference) is a regional conference with a mix of research and practice papers, bringing together education researchers and practitioners. Held in Australia or New Zealand, but welcomes attendees from anywhere.
- LaTiCE (the International Conference on Learning and Teaching in Computing and Engineering) publishes both research and practice papers. Held primarily in Asia.
- FIE (the ASEE Frontiers in Education conference) is more broad and more practitioner focused than SIGCSE and occasionally has CER work.
What is SIGCSE?
SIGCSE, like other ACM Special Interest Groups (SIGs), is an organization that focuses on a particular topic within ACM, namely computer science education. It sponsors ACM conferences (e.g., the SIGCSE Technical Symposium and ICER) and influences their structure and focus. Note that SIGCSE the group organizes SIGCSE the conference. I know, it's confusing, but aren't you glad you read this?
What's the difference between a research paper and an experience report?
This is an important question, since many of the conference venues in the computing education community publish both. Unfortunately, the community hasn't developed much clarity about the differences between these. The result is that many papers published in the SIGCSE experience report track look like research papers, and many of the papers published in the SIGCSE research track look like experience reports. What's the essential difference?
In my opinion, the key distinction between research and an experience report is your audience, which implies your goals: are you writing to researchers, who aspire to build upon everything we know to advance theories about what we know about CS teaching and learning? In contrast, if you're writing to teachers, you're likely sharing practical knowledge, such as a interesting method you tried, a surprising experience, or a teaching method others might experiment with. The critical difference is that in research, trying to be certain that we know something, but it's okay if we don't know how to put that knowledge into action yet, whereas in practice, we're trying to learn how to teach something, even if we're not certain it will work. Another way to characterize the difference are some of the evaluation criteria. Research papers should be novel with respect to everything we know, sound, and replicable, but not necessarily immediately useful. Experience report papers should be novel with respect to common knowledge, useful and interesting, but not necessarily replicable, sound or novel with respect to all knowledge.
I believe that both are valuable in their own ways. Research allows to build confidence in what we know, whereas sharing experience allows us to teach each other. We need both for a thriving practice of CS teaching and a thriving body of knowledge to inform that practice.
Are there any shared resources in the community?
Many! In addition to the resources above, here are some others:
- The Quantum project is building a collection of free, validated assessments of programming knowledge. Use them to measure learning outcomes. See the project's whitepaper for more background.
- The Pittsburgh Science of Learning Center has gathered an incredible list of resources about theories of learning. This is an excellent primer on theory in learning science.
How can I keep up with the latest research, practice, and policy?
There are a few excellent blogs:
- Mark Guzdial's Computing Education Research blog has been active since 2009 and contains thousands of posts that explain computing education research to a broader community
- Philip Guo has a CACM blog, several articles about CER, and now a VLOG that often covers CER issues
- Alfred Thompson's Computer Science Teacher blog covers a range of computing education, research, and policy issues.
- Lauren Margulieux's blog discusses learning sciences, discipline-based education reseach, and computing education.
- Felienne Hermans has a blog about programming and inclusion.
- My Bits & Behavior publication at Medium covers CER, software engineering, HCI, and broader issues in academia.
Is this list missing you? Let me know!
What is the role of equity, diversity, and inclusion in computing education research?
Just as in the fields of education research and learning sciences, topics of equity, diversity, and inclusion are at the heart of computing education research. Is reasonable to wonder why: aren't these just one of many topics in education? The problem with that view is that it ignores several key links between diversity and learning. For example, we know that while people may learn in the same way at the cognitive level, effective teaching requires a careful attention to diversity in learners' prior knowledge. We also know that whether people successfully learn is highly dependent on whether they see themselves as someone capable of successfully learning a subject, and that this is shaped by many sociocultural factors, as well as prior experiences in a learners' life. Diversity in culture, diversity in prior experiences, and diversity in self-concept are therefore key factors in whether people learn. Treating them as peripheral would be like ignoring gravity in physics.
It's no different in learning and teaching computing. That said, much of the computing education research community is just learning these basic facts about diversity and learning, and so the field hasn't always placed diversity at the center of its research (where it now is in most education and learning sciences research). This has shifted over the past few decades, as more computing education researchers have recognized the central role of diversity in learning outcomes, and as more education researchers participate in computing education research.
That said, many computing education researchers and practitioners do not know the facts linking diversity and learning, and why equity is central to succesful learning of diverse people. This has manifested in some public debates about diversity in CS, many of which are not grounded in what we know from more than a century of science on learning. Therefore, many people have written publicly to try to educate the world about these issues (some with backgrounds in education research, some with practical experiences about the role of equity in CS learning). Here are some examples:
There's clearly work to do in higher education CS on equity, both in research and in practice, and there are so many highly passionate faculty willing to do that work. A key requirement for this work, however, is having a sound scientific foundation for how diversity, equity, and inclusion issues play out in CS learning, and what strategies are effective in supporting the learning of diverse CS learners. Research on these topics have only just begun; there's is much more to do before the field can make rigorous recommendations about how to ensure everyone who wants to learn computing successfully can.