This is my computing education research FAQ.

I started it with the help of several computing education researchers at a Dagstuhl retreat in 2016. I consider it a community resource, so if you see something to add, fix, or improve, write me, or submit an issue or pull request.

Computing education research (CER), also known as computer science education (CSEd) research, is the study of how people learn and teach computing, broadly construed. 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 change their knowledge, skills, attitudes, beliefs, identities. Research is discovery and invention. Teachers teach computing, whereas computing education researchers make discoveries about this teaching and learning, and invent new ways for these teaching and learning to occur. CER is an example of discipline-based education research, like math education research or science education research, all of which are part of the broader field of education and learning sciences research.

CER is also not educational technology research (EdTech). Computing education researchers often create educational technologies to support the learning and teaching of computing, but CER is not explicitly concerned with the broader use of technology in learning, teaching, and education. It's specifically concerned with the learning and teaching of computing in particular. Many computer science researchers invent learning technologies, but are not computing education researchers, because those technologies are not concerned with the learning of computing.

It's also important to note that I view "computing" broadly: it's not just about programming, or even just about computer science, but also about all of the phenomena surrounding computing, including data, information, privacy, security, ethics, software engineering, and sociocultural and sociopolitical views of computing in society. This means that computing education and CER can and does cover far more than just learning to code—it just hasn't historically.

What is the difference between 'CS' and 'computing'? 🔗

CS generally refers to the historically core topics in computer science research, such as theory, algorithms, data structures, programming languages, and operating systems. But other fields began to engage these ideas and identify their intersections to other fields. For example, information science, a field long concerned with data, information, and society, began to consider those topics from a computer science perspective. Science began to apply computer science ideas to data capture, storage, and analysis. Biology, as it began to see DNA as a form of biological data, and apply algorithms to analyzing it, formed bioinformatics. Communication began to explore computer-mediated communication. Behavioral and brain scientists started using computers to model decisions, knowledge, and brain activity. And social scientists of all kinds began studying and critiquing the role of computers in society.

This broadening of algorithms, data structures, and programming to all of academia put pressure on "computer science" as a phrase. Some universities with CS departments began to grow to teach and study all of these broader phenomena, leading many of them to rename themselves "Schools of Computing". The word "computing" was meant to refer not to physical hardware, but of computation itself and the many ways that it occurs and is organized in nature and human civilization. And thus, over time, CS began to connote the more narrow historical focus of CS foundations and Computing to the broader set of phenomena around the design and use of computers, including CS itself.

Given that history, "CS education" generally refers to the teaching and learning of these historically narrow topics in CS, and "CS education research" to research about this teaching and learning. In contrast, "Computing education" generally refers to the teaching and learning of any aspect of the use of computers and computational ideas, and "Computing education research" to research about that teaching and learning. Because I'm not interested in the historically narrow conception of computing, and my research considers topics outside that narrow historical conception, I use "Computing" instead of "CS".

How does computing education research compare to related fields? 🔗

My background isn't in these fields, though 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 its focus on formal education, is often focused on youth, who are the dominant age demographic engaged in formal education. The phrase "Computing education" uses the word "education" in this same way, but is more broadly concerned with teaching and learning in any context (in principle, but often not 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 quantitative than education research and learning sciences, following traditions of cognitive psychology. Computing education draws upon this field, especially in its 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 social 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.

(Shayan Doroudi provides a nice primer on learning theories and their disciplinary origins.)

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 learning 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.

What are major 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:

  • What is computing?
  • What does it mean to know computing?
  • How do people learn computing?
  • How do teachers teach and assess computing?
  • How does identity interact with people's learning of 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 computing education be reimagined to serve goals other than profit and disruption?
  • How do systems of oppression such as racism, sexism, and ablism shape learning, teaching, and curricula?
  • How can we implement anti-racist CS education?
  • How can learning technologies teach computing?
  • How does computing education affect people's lives?
  • What are the societal costs of computing illiteracy?
  • 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 students in post-secondary settings, 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 jobs can computing education researchers get? 🔗

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 (~50%) is spent on scholarship. However, there are also many full-time instructors 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, but the research contributions by teaching-track faculty are critical, as they often bring more richly informed perspectives on the practice of teaching. 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.

Undergraduate research is a key part of creating pathways to Ph.D. programs. Undergraduates can help accelerate research projects, and even lead their own projects, helping with admission to Ph.D. programs (especially if you publish, which demonstrates your interest and ability in conducting research). See the CRA-E best practices guide on undergraduate CS research for a glimpse into how effective undergraduate research experiences should work.

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 common question is whether to get a Ph.D. in a CS department, a College of Education, or some other kind of computing or learning related department, such as information schools, which are often concerned with computing and data literacy. Ultimately, the doctoral program you choose is going to shape a few things: 1) the classes you're required to take in the first year or two, 2) the peers you might sit near and talk to, 3) the faculty who might serve on your committee and what expertise and values they have, and 4) what resources you have to get particular kinds of jobs. For example, if you go to a CS Ph.D. program, you're going to learn about the latest research in various areas of CS, be surrounded by people interested in computing, but possibly not many interested in computing education; you'll have resources for getting faculty jobs in CS departments, but not really Colleges of Education. In contrast, if you go to a College or School of Education Ph.D. program, you're going to learn about the latest knowledge in education and learning sciences, and be surrounded by people passionate about learning, equity, and justice, but possibly not many people interested in computing. And if you go to a place like an information school, you'll gain new perspectives about data and computing, be surrounded by a radical diversity of people with interests that span many disciplines, but possibly one of only a few people interested in computing education.

Because of the tradeoffs above, the best places to go are ones where there are advisors that share your interests, a critical mass of people interested in computing education, and healthy interchange between academic units interested in computing, learning, and data. This is because computing education is inherently interdisciplinary; you want peers and faculty that appreciate that, value that, and support that.

One note about selecting advisors: their disciplinary affiliation is just 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. Look closely at researchers' recent publications; and if their websites seem out of date, write them to ask what they're working on.

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).

Name Expertise Unit University Country
Saira Anwar Engineering and computing education research, educational technologies, instrument design, data science, cognitive and noncognitive factors Department of Multidisciplinary Engineering Texas A & M University USA
Syedah Zahra Atiq Non-cognitive factors, broadening participation Computer Science and Engineering The Ohio State University USA
Erik Barendsen* pedagogy, literacy, computational thinking Science Education Radboud 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
Marc Berges* PCK and programming education Department of Computer Science Universitaet Erlangen-Nuernberg Germany
Anders Berglund* CS education Department of Information Technology Uppsala University Sweden
Matthew Berland* digital media, data science learning Curriculum & Instruction, Computer Science 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
Åsa Cajander* learning and didactics Department of Information Technology Uppsala University Sweden
Cornelia Connolly pedagogy, teacher education, computational thinking, design School of Education National University of Ireland, Galway Ireland
Steve Cooper* program visualization, spatial reasoning Computer Science & Engineering University of Nebraska, Lincoln USA
Katie Cunningham programming plans, novel learning environments, conversational programmers Computer Science University of Illinois Urbana-Champaign USA
Quintin Cutts* pedagogy, assessment, work based learning and teacher learning communities School of Computer Science University of Glasgow Scotland
Mats Daniels* computing and engineering education research, group projects Department of Information Technology Uppsala University Sweden
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
Marisa Exter post secondary, lifelong learning, interdisciplinarity, competency-based education Department of Curriculum & Instruction Purdue University USA
Katrina Falkner* pedagogy, computational thinking School of Computer Science University of Adelaide Australia
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
Diana Franklin Equity, curriculum, and CS learning in K-8 Department of Computer Science University of Chicago USA
Armando Fox* digital learning, programming systems, and software engineering Electrical Engineering & Computer Science University of California, Berkeley USA
Christina Gardner-McCune* Computer Science Education, AI Education, Design of Learning Technologies & Learning Environments, Curriculum Development & Assessment, K-12 Computing After-School & Summer Camps, Learning Sciences Computer & Information Science & Engineering University of Florida USA
Joanna Goode* Access and equity for underrepresented students of color and females in computer science education College of Education University of Oregon USA
Jeff Grey Block-based languages Department of Computer Science University of Alabama USA
Bill Griswold HCI, software engineering education, and educational tools Department of Computer Science & Engineering University of California, San Diego 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
Chris Hundhausen social learning technologies and pedagogical approaches Computer Science Washington State University USA
Sridhar Iyer* computing education research Computer Science and Engineering Indian Institute of Technology Bombay India
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
Stephan Krusche Education technologies, in particular in learning platforms, assessment, learning analytics and adaptive learning School of Computation Technical University of Munich Germany
Amy J. Ko Critical computing education, programming language learning, pre-service teacher education The Information School, Computer Science & Engineering University of Washington, Seattle USA
Michael Kölling* computing education Faculty of Natural and Mathematical Sciences King's College London UK
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 Graduate School of Education Stanford University USA
Leen-kiat Soh multiagent systems, computer science education, and intelligent data analytics Computer Science and Engineering University of Nebraska, Lincoln USA
Colleen Lewis Understanding and optimizing learning; identifying and removing barriers Computer Science University of Illinois at Urbana-Champaign USA
Raymond Lister* cognition, assessment, program understanding School of Software University of Technology, Sydney Australia
Lukas Z. Liu Computational thinking, Learning analytics, Game-based learning Faculty of Education University of Hong Kong Hong Kong
Dastyni Loksa* Programming problem solving Computer & Information Sciences Towson University USA
Andrew Luxton-Reilly* learning communities, game-based learning, debugging, automated assessment, gender and diversity in CS Computer Science University of Auckland New Zealand
Alejandra J. Magana Computational thinking, model-based reasoning, cyberlearning, discipline-based computing education Computer and Information Technology and Engineering Education Purdue University USA
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
Eva Marinus cognition, assessment, misconceptions Institute for Media and School Schwyz University of Teacher Education Switzerland
Briana Morrison* pedagogy, cognitive load Computer Science University of Virginia USA
Lijun Ni K-12 computer science education, teacher education and professional development Department of Educational Theory and Practice University at Albany, State University of New York USA
Lars-Åke Nordén* self-efficacy Department of Information Technology Uppsala University Sweden
Aletta Nylén* STEM and computing education Department of Information Technology Uppsala University Sweden
Alannah Oleson HCI education; critical computing education; inclusive design methods; pedagogical content knowledge Computer Science University of Denver 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 Computing as literacy, educational/technical inequity, sociology of education, gender studies, disability studies, teacher development, educator practices, policy analysis, computing & society, science and technology studies (STS), diversity School of Computer Science, Department of Integrated Studies in Education McGill University Canada
Jamie Payton* Broadening participation in computing, and evidence-based approaches to improving computer science education Computer and Information Sciences Temple University USA
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
Anne-Kathrin Peters* sustainability education, identities, norms, values Department of Information Technology Uppsala University Sweden
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
Joël Porquet-Lupine curriculum development for teaching introductory programming courses, educational tools Computer Science University of California, Davis USA
Seth Poulsen CS Theory education, educational data mining Computer Science Utah State University USA
Thomas Price educational data mining, tutoring systems, automated feedback Computer Science North Carolina State University USA
Keith Quille pedagogy, introductory programming, educational data mining, predicting success, CS1, K-12 Department of Computing TU Dublin, Tallaght Campus Ireland
Jean Salac K-12 (pre-university) education, critical/socially responsible computing Computer Science Carleton College USA
Gerald Soosai Raj Making computing more accessible to diverse learners (e.g., Non-native English Speakers) 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 Edinburgh 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
Monique Ross* broadening participation, with a focus on computer science Computing and Information Science Florida International University USA
Linda Sax* diversity in undergraduate CS and STEM Department of Education University of California, Los Angeles USA
Sue Sentance* computing education Computer Science education University of Cambridge UK
Cliff Shaffer* digital education Computer Science Virginia Tech USA
R. Ben Shapiro* learning sciences and learning technologies, with an emphasis on youth learning computer science Computer Science University of Washington 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
Andreas Stefik Human factors of programming language design, accessibility Computer Science University of Nevada, Las Vegas USA
Jakita O. Thomas computational algorithmic thinking, intersectional computing, complex cognitive skill development, computer-supported collaborative learning Computer Science and Software Engineering Auburn University USA
Frank Vahid College-level CS ed Computer Science and Engineering University of California, Riverside 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
Michelle Wilkerson Computing in K-12 science and math education; w/ focus on modeling and data Graduate School of Education UC Berkeley 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
Gary K. W. Wong Computational thinking, Computer science education, Artificial intelligence education Faculty of Education University of Hong Kong Hong Kong
Aman Yadav computational thinking, teacher education, problem-based learning, teacher professional development Educational Psychology and Educational Technology Michigan State University USA
Mark Zarb Computing Education, Pedagogy, Teaching and Learning, Transitions into HE, Student Resilience, Post-Pandemic Educational Landscapes School of Computing Robert Gordon University Scotland
Haoqi Zhang* learning ecosystems Computer Science Northwestern USA

For doctoral admissions, how important is it to focus on 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 pursue 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 are your writing and analytical skills? All of these skills end up being important in some way to participating in CER discourse, just to varying degrees.

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.

Of course, even if you meet all of the criteria above (or other criteria that other advisors might have), you might not get accepted. That's because doctoral advising is extremely time-intensive: we commit to advise people for anywhere from 3-6 years or more, and so we can only take on so many students at a time. There might be a dozen people who apply to work with one of us, but we only have capacity to admit one or two at most.

Where can I find a CER job? 🔗

There are many places where global CS education-related jobs are posted:

Monitor those closely for opportunities. The field is growing, but in unconventional ways: there are tenure-track positions, teaching-track positions, professor of practice positions, postdocs, research and development positions in not-for-profits, and much, much more.

Is there funding for CER? 🔗

Yes! At least 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 CS for All. Funds basic research on CS education as well as researcher-practitioner partnerships focused on building K-12 CS education capacity, access, participation, and engagement.
  • NSF IUSE. Funds programs that improve the quality of and access to STEM education in undergraduate programs. Does not directly fund basic research.
  • NSF DUE. Funds innovations in STEM education at 2- and 4-year colleges.
  • 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 RETTL. Funds projects on Emerging Technologies for Teaching and Learning, 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.

What do I need to know to be an effective researcher? 🔗

First, you need to know some computing yourself. That doesn't mean you need an entire computer science degree, but it helps to have learned to code a bit, and to understand what an algorithm and a data structure is. It can also help to understand the culture of computer science as an academic discipline. Taking the first few introductory courses in a CS department is usually enough to provide this content knowledge foundation, unless you want to do research on the teaching of more advanced topics in CS.

Another thing to know is what makes good computing education research. One guide is to read peer review criteria. For example, ACM TOCE maintains and evolves a list of nuanced and pluralist peer review criteria that cover many kinds of research.

Beyond that, there is a substantial prior work to learn before you can make original discoveries. I've organized some of the major works into categories below, to focus your reading.

Education research foundations

As computing education research is a discipline-based kind of education research, foundations in education research are key. Below are essential works for conducting research on learning and teaching:

Race and Technology

While not specifically about computing education, these books critically examine the role of computing in justice. The ideas in these books are key to understanding the social implications of computing on society. I focus on race in particular because race, at least in the United States, has structured injustice more heavily than all other social categories, making it critical to understanding the effects of computing.

CER literature reviews

These works summarize bodies of knowledge in computing education research, helping you to more quickly learn what the field has discovered. All of these are essential reading.

Notable works

Everyone working in CER should have read these books and understand their implications for research and practice.

If you've read all of the above and are looking for more literature, be sure to follow all of the SIGCSE conferences, and other relevant education and learning science journals, monitoring the ACM Digital Library and the NSF funded website CSEdResearch.org, which surveys the broad expanse of CS education research, including article summaries and evaluation instruments.

What books provide guidance on CS teaching? 🔗

While there are many books that provide guidance on teaching in general (e.g., Tools for teaching (Davis, 2009), How learning works: Seven research-based principles for smart teaching (Ambrose et al., 2010), Teaching what you don’t know (Huston, 2009), What Works Clearinghouse), there are only a handful of books written to guide CS educators (alphabetically):

Is one missing from this list? Let me know and I'll add it.

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 easy 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 publishes 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.

  • IEEE Transactions on Education. I know little about this journal. Feel free to share opinions!

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 a dedicated research track separate from experience reports, though the research track has a 6-page limit, making it unsuitable for many forms of research, such as qualitative work or more substantial quantitative work. 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 in Europe.
  • 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 an interesting method you tried, a surprising experience, or a teaching method others might experiment with. The critical difference is that in research, we're 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 and sound, but not necessarily immediately useful. Experience report papers should be novel with respect to common knowledge (but not necessarily novel with respect to all knowledge), useful and interesting, but not necessarily sound.

I believe that both are valuable in their own ways. Research allows us 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.

How can I keep up with the latest research, practice, and policy? 🔗

There are a few excellent blogs (in alphabetical order):

Is this list missing you? Let me know!

How can I connect with the community? 🔗

Post-pandemic, many online communities have frayed. Here are a few that remain:


CC0 To the extent possible under law, Amy J. Ko has waived all copyright and related or neighboring rights to the design and implementation of Amy's faculty site. This work is published from the United States. See this site's GitHub repository to view source and provide feedback.