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.
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.
The difference in these two phrases is in 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".
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:
(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.
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:
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.
There are so many! Examples include:
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.
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.
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.
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).
|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 environmemts, 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|
|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|
|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|
|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|
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.
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.
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:
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.
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.
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:
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.
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.
Everyone working in CER should have read these books and understand their implications for research and practice.
'Underrepresented Minority' Considered Harmful, Racist Language is a short blog post that discusses the terminology we use when we discuss diversity in computer science.
Mindstorms: Children, Computers, and Powerful Ideas is a classic book that envisions a theory of learning grounded in the construction of knowledge through personally meaningful tinkering and creation, especially with computers. I summarized the book in a blog post.
Stuck in the Shallow End: Education, Race, and Computing illustrates the numerous racist structures, beliefs, and practices in K-12 education that systematically exclude students of color from CS education.
Unlocking the Clubhouse: Women in Computing examines how the culture of higher education CS systematically excludes and deters women from participating in CS education, and explores promising practices for changing this culture.
Epistemological Pluralism: Styles and Voices Within the Computer Culture presents a critique of academic computing culture for is exclusion of diverse interests and ways of knowing.
When Twice as Good Isn't Enough: The Case for Cultural Competence in Computing critiques CS departments for being uncritical of themselves, their curricula, and the software industry, advocating for cultural competence amongst faculty and students.
The Intersection of Gender, Race and Cultural Boundaries, or Why is Computer Science in Malaysia Dominated by Women? examines the inherent intersectional complexity of race, gender, and culture that shapes participation in computing education.
They can't find us: the search for informal CS education demonstrates how search engines, CS education terminology, and culture interact to connect educated White families to informal CS learning opportunities, while obscuring them from less privileged families.
Visions of Computer Science Education: Unpacking Arguments for and Projected Impacts of CS4All Initiatives analyzes the abundance of arguments for K-12 CS for All efforts, and how they intersect with varying political ideologies.
On Theory Use in Computing Education Research examines the use of theory in computing education and how it is often weaponized to prevent the publication of new ideas.
Ethics, Identity, and Political Vision: Toward a Justice-Centered Approach to Equity in Computer Science Education advocates for CS education researchers and teachers to more directly engage the sociopolitical context of CS education curricula and teaching.
Halving fail rates using peer instruction: a study of four computer science courses presents one of the few rigorously examined teaching methods that promotes improved learning, especially for students marginalized by CS education cultures.
African American men constructing computing identity examines how race, culture, and stigma can warp genuine interests in computing, and how informal learning interventions can counter these forces.
COMPUGIRLS’ Standpoint: Culturally Responsive Computing and Its Effect on Girls of Color illustrates the impact of culturally repsonsive computing on girls of color.
Digital Youth Divas: Exploring Narrative-Driven Curriculum to Spark Middle School Girls’ Interest in Computational Activities explores how to engage girls of color by centering their stories.
Becoming Technosocial Change Agents: Intersectionality and Culturally Responsive Pedagogies as Vital Resources for Increasing Girls’ Participation in Computing explores the importanc of intersectional views on culturally responsive pedagogy.
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.
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.
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.
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!
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?
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.
There are a few excellent blogs (in alphabetical order):
Is this list missing you? Let me know!
There are several online communities to join: