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, or who can serve on PhD committees. 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).

NameExpertiseUnitUniversityCountry
Saira AnwarEngineering and computing education research, educational technologies, instrument design, data science, cognitive and noncognitive factorsDepartment of Multidisciplinary EngineeringTexas A & M UniversityUSA
Syedah Zahra AtiqNon-cognitive factors, broadening participationComputer Science and EngineeringThe Ohio State UniversityUSA
Erik Barendsen*pedagogy, literacy, computational thinkingScience EducationRadboud UniversityNetherlands
Tiffany Barnesinclusion, educational games, tutoring systems, teacher educationComputer ScienceNorth Carolina State UniversityUSA
Austin Cory Bartintroductory computing, motivationComputer ScienceUniversity of DelawareUSA
Brett Beckernovices, programming, compilers, errorsComputer ScienceUniversity College DublinIreland
Tim BellCS unplugged, curriculumComputer ScienceUniversity of CanterburyNew Zealand
Marc Berges*PCK and programming educationDepartment of Computer ScienceUniversitaet Erlangen-NuernbergGermany
Anders Berglund*CS educationDepartment of Information TechnologyUppsala UniversitySweden
Matthew Berland*digital media, data science learningCurriculum & Instruction, Computer ScienceUniversity of Wisconsin-MadisonUSA
Jennifer BlaneyGender equity in computing degree pathways; community college transfer in CSMcBee Institute of Higher EducationUniversity of GeorgiaUSA
Paulo Blikstein*project-based learningCommunications, Media and Learning Technology DesignColumbia UniversityUSA
Kristy Boyer*intelligent tutoring systemsComputer ScienceUniversity of FloridaUSA
Karen Brennanconstructionism, creativity, K-12 classrooms, teacher learningGraduate School of EducationHarvardUSA
Jed Brubakerhow identity is designed, represented and experienced in socio-technical systemsInformation ScienceUniversity of Colorado, BoulderUSA
Åsa Cajander*learning and didacticsDepartment of Information TechnologyUppsala UniversitySweden
Cornelia Connollypedagogy, teacher education, computational thinking, designSchool of EducationNational University of Ireland, GalwayIreland
Steve Cooper*program visualization, spatial reasoningComputer Science & EngineeringUniversity of Nebraska, LincolnUSA
Katie Cunninghamprogramming plans, novel learning environments, conversational programmersComputer ScienceUniversity of Illinois Urbana-ChampaignUSA
Quintin Cutts*pedagogy, assessment, work based learning and teacher learning communitiesSchool of Computer ScienceUniversity of GlasgowScotland
Mats Daniels*computing and engineering education research, group projectsDepartment of Information TechnologyUppsala UniversitySweden
Joshua Danish*how people learn through activitySchool of EducationIndiana University BloomingtonUSA
Sayamindu Dasgupta*youth, data scienceSchool of Information and Library ScienceUniversity of North Carolina at Chapel HillUSA
Adrienne Deckerpedagogy, assessment, efficacy of outreachEngineering EducationUniversity at BuffaloUSA
Paul Dennycollaborative learning, online learning, gamification, student-generated resourcesComputer ScienceUniversity of AucklandNew Zealand
Kayla DesPortes*computing as a medium for expressionLearning SciencesNew York UniversityUSA
Sebastian Dziallas*experiences in higher education CSFulbright University VietnamVietnam
Betsy DiSalvo*culture, informal learningSchool of Interactive ComputingGeorgia TechUSA
Brian Dorn*HCI, informal learning, teacher educationDepartment of Computer ScienceUniversity of Nebraska, OmahaUSA
Anna Eckerdal*threshold concepts, MOOCs, learning in labsDepartment of Information TechnologyUppsala UniversitySweden
Steve Edwards*software engineering, formal methods, autogradingComputer ScienceVirginia TechUSA
Barbara Ericson*pedagogy, diversitySchool of InformationUniversity of MichiganUSA
Martin Erwigprogramming languages, visual languages, explanations, story programmingElectrical Engineering and Computer ScienceOregon State UniversityUSA
Marisa Exterpost secondary, lifelong learning, interdisciplinarity, competency-based educationDepartment of Curriculum & InstructionPurdue UniversityUSA
Katrina Falkner*pedagogy, computational thinkingSchool of Computer ScienceUniversity of AdelaideAustralia
Casey Fiesler*technology ethicsInformation ScienceUniversity of Colorado, BoulderUSA
Kathi FislerProgramming languages, pedagogy, cross-disciplinary learning and transferComputer ScienceBrown UniversityUSA
Diana FranklinEquity, curriculum, and CS learning in K-8Department of Computer ScienceUniversity of ChicagoUSA
Armando Fox*digital learning, programming systems, and software engineeringElectrical Engineering & Computer ScienceUniversity of California, BerkeleyUSA
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 SciencesComputer & Information Science & EngineeringUniversity of FloridaUSA
Joanna Goode*Access and equity for underrepresented students of color and females in computer science educationCollege of EducationUniversity of OregonUSA
Jeff GreyBlock-based languagesDepartment of Computer ScienceUniversity of AlabamaUSA
Bill GriswoldHCI, software engineering education, and educational toolsDepartment of Computer Science & EngineeringUniversity of California, San DiegoUSA
Tovi GrossmanHCI, software learning, interactive tutorialsComputer ScienceUniversity of TorontoCanada
Philip GuoHCI, learning at scaleCognitive ScienceUniversity of California, San DiegoUSA
Mark Guzdial*pedagogy, curriculum, end-user programming, teachers, research instruments, theoryComputer Science & Engineering, Engineering Education ResearchUniversity of MichiganUSA
Sarah Heckmansoftware engineering, automated grading, and help-seekingComputer ScienceNorth Carolina State UniversityUSA
Geoffrey Hermanconceptual change and student learning, assessment and measurement, pedagogy, and faculty developmentComputer ScienceUniversity of Illinois, Urbana-ChampaignUSA
Felienne HermansK-12 education, misconceptions, teacher education, direct instruction, end-user programmingComputer ScienceLeiden UniversityThe Netherlands
Nathan Holbertconstructionism, diversityMathematic Science and Technology, Teachers CollegeColumbia UniversityUSA
Chris Hundhausensocial learning technologies and pedagogical approachesComputer ScienceWashington State UniversityUSA
Sridhar Iyer*computing education researchComputer Science and EngineeringIndian Institute of Technology BombayIndia
Yasmin Kafaiconstructionism, educational games, electronic textiles, ScratchGraduate School of EducationUniversity of PennsylvaniaUSA
Dennis Kafura*computational thinkingComputer ScienceVirginia TechUSA
Caitlin Kelleher*learning technologyComputer ScienceWashington University in St. LouisUSA
Scott Klemmer*HCI, learning at scaleCognitive ScienceUniversity of California, San DiegoUSA
Stephan KruscheEducation technologies, in particular in learning platforms, assessment, learning analytics and adaptive learningSchool of ComputationTechnical University of MunichGermany
Amy J. KoCritical computing education, programming language learning, pre-service teacher educationThe Information School, Computer Science & EngineeringUniversity of Washington, SeattleUSA
Tobias Kohnnovices, programming, compilers, errors, K-12Computer ScienceKarlsruhe Institute of Technology (KIT)Germany
Dennis Kommalgorithms, programming, K-12, misconceptions, computational thinkingComputer ScienceETH ZürichSwitzerland
Michael Kölling*computing educationFaculty of Natural and Mathematical SciencesKing's College LondonUK
Shriram Krishnamurthi*programming languages, pedagogyComputer ScienceBrown UniversityUSA
Celine Latulipe*HCI, creativity, pedagogySoftware and Information SystemsUNC CharlotteUSA
Michael J. LeeHCI, educational games, diversity, learning technologiesInformaticsNew Jersey Institute of TechnologyUSA
Victor Leelearning sciences, computational thinking with board games, early childhood computational thinking, maker educationGraduate School of EducationStanford UniversityUSA
Leen-kiat Sohmultiagent systems, computer science education, and intelligent data analyticsComputer Science and EngineeringUniversity of Nebraska, LincolnUSA
Colleen LewisUnderstanding and optimizing learning; identifying and removing barriersComputer ScienceUniversity of Illinois at Urbana-ChampaignUSA
Raymond Lister*cognition, assessment, program understandingSchool of SoftwareUniversity of Technology, SydneyAustralia
Lukas Z. LiuComputational thinking, Learning analytics, Game-based learningFaculty of EducationUniversity of Hong KongHong Kong
Dastyni Loksa*Programming problem solvingComputer & Information SciencesTowson UniversityUSA
Andrew Luxton-Reilly*learning communities, game-based learning, debugging, automated assessment, gender and diversity in CSComputer ScienceUniversity of AucklandNew Zealand
Alejandra J. MaganaComputational thinking, model-based reasoning, cyberlearning, discipline-based computing educationComputer and Information Technology and Engineering EducationPurdue UniversityUSA
Lauri Malmiprogram visualization, algorithm visualization, automatic assessmentComputer ScienceAalto UniversityFinland
Lauren Margulieux*online learning in computingDepartment of Learning SciencesGeorgia State UniversityUSA
Eva Marinuscognition, assessment, misconceptions Institute for Media and SchoolSchwyz University of Teacher EducationSwitzerland
Fred Martintools and collaborations for K-12 learning of computing, including AI, ML, and data scienceDepartment of Computer ScienceUniversity of Texas at San AntonioUSA
Briana Morrison*pedagogy, cognitive loadComputer ScienceUniversity of VirginiaUSA
Lijun NiK-12 computer science education, teacher education and professional developmentDepartment of Educational Theory and PracticeUniversity at Albany, State University of New YorkUSA
Lars-Åke Nordén*self-efficacyDepartment of Information TechnologyUppsala UniversitySweden
Aletta Nylén*STEM and computing educationDepartment of Information TechnologyUppsala UniversitySweden
Alannah OlesonHCI education; critical computing education; inclusive design methods; pedagogical content knowledgeComputer ScienceUniversity of DenverUSA
Chris Orban*high school physics and math CS integrationPhysicsThe Ohio State UniversityUSA
Eleanor O'RourkeHCI, educational games, learning technology, growth mindset, motivationComputer Science and Learning ScienceNorthwesternUSA
Tapan ParikhData science, civic tech, equitySchool of InformationCornell TechUSA
Elizabeth PatitsasComputing 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), diversitySchool of Computer Science, Department of Integrated Studies in EducationMcGill UniversityCanada
Jamie Payton*Broadening participation in computing, and evidence-based approaches to improving computer science educationComputer and Information SciencesTemple UniversityUSA
Roy Pea*learning science, informal learningEducation and Learning SciencesStanfordUSA
Arnold Pears*pedagogyDepartment of Information TechnologyUppsala UniversitySweden
Bill Penuel*teacher learning and organizational processesEducationUniversity of Colorado, BoulderUSA
Anne-Kathrin Peters*sustainability education, identities, norms, valuesDepartment of Information TechnologyUppsala UniversitySweden
Marian Petre*software design, design pedagogyCentre for Research in ComputingThe Open UniversityUK
Leo Porterpedagogy, assessment, educational data miningComputer Science and EngineeringUniversity of California, San DiegoUSA
Joël Porquet-Lupinecurriculum development for teaching introductory programming courses, educational toolsComputer ScienceUniversity of California, DavisUSA
Seth PoulsenCS Theory education, educational data miningComputer ScienceUtah State UniversityUSA
Thomas Priceeducational data mining, tutoring systems, automated feedbackComputer ScienceNorth Carolina State UniversityUSA
Keith Quillepedagogy, introductory programming, educational data mining, predicting success, CS1, K-12Department of ComputingTU Dublin, Tallaght CampusIreland
Jean SalacK-12 (pre-university) education, critical/socially responsible computing. (Undergraduate but not PhD advisor; Can serve on PhD committees.)Computer ScienceCarleton CollegeUSA
Gerald Soosai RajMaking computing more accessible to diverse learners (e.g., Non-native English Speakers)Computer Science and EngineeringUniversity of California, San DiegoUSA
Mitch Resnick*constructionism, creativityMedia LabMITUSA
Judy Robertson*data science education, curriculum development, teacher professional learning and games-based learningSchool of EducationThe University of EdinburghScotland
Anthony Robinspsychology of programming, language learning, first programming language, novice programmers, CS1Computer ScienceUniversity of OtagoNew Zealand
Ricarose Roqueconstructionism, creativity, informal learning, family learningInformation ScienceCU BoulderUSA
Monique Ross*broadening participation, with a focus on computer scienceComputing and Information ScienceFlorida International UniversityUSA
Linda Sax*diversity in undergraduate CS and STEMDepartment of EducationUniversity of California, Los AngelesUSA
Sue Sentance*computing educationComputer Science educationUniversity of CambridgeUK
Cliff Shaffer*digital educationComputer ScienceVirginia TechUSA
R. Ben Shapiro*learning sciences and learning technologies, with an emphasis on youth learning computer scienceComputer ScienceUniversity of WashingtonUSA
Kristin Searle*gender, culture, engagement with computingInstructional Technology and Learning SciencesUtah State UniversityUSA
Carsten Schulte*pedagogyComputer SciencePaderborn UniversityGermany
Valerie Shute*assessmentEducationFlorida State UniversityUSA
Jacqueline Staub*programming, K-12Computer ScienceUniversity of TrierGermany
Andreas StefikHuman factors of programming language design, accessibilityComputer ScienceUniversity of Nevada, Las VegasUSA
Jakita O. Thomascomputational algorithmic thinking, intersectional computing, complex cognitive skill development, computer-supported collaborative learningComputer Science and Software EngineeringAuburn UniversityUSA
Frank VahidCollege-level CS edComputer Science and EngineeringUniversity of California, RiversideUSA
Jan Vahrenholdalgorithms, non-cognitive factors, TA educationComputer ScienceUniversity of MünsterGermany
Sepehr Vakilsociocultural perspectives on learning and identity; ethics and politics of computing; social justice educationLearning SciencesNorthwestern UniversityUSA
Erin Walkerpersonalized learning environments, computer-supported collaborative learning, robotic learning environmentsSchool of Computing and InformationUniversity of PittsburghUSA
David Weintropdesign of learning environments, computational thinking, K-12 ClassroomsCollege of Education & College of Information StudiesUniversity of MarylandUSA
Uri Wilensky*computational thinking, science integrationLearning SciencesNorthwestern UniversityUSA
Michelle WilkersonComputing in K-12 science and math education; w/ focus on modeling and dataGraduate School of EducationUC BerkeleyUSA
Joseph Jay WilliamsHCI, A/B experimentation, learnersourcing, personalization, multi-armed bandits/reinforcement learning, self-explanation, metacognition, motivation and social psychology interventions, cognitive science, mental health, learning at scaleComputer ScienceUniversity of TorontoCanada
Gary K. W. WongComputational thinking, Computer science education, Artificial intelligence educationFaculty of EducationUniversity of Hong KongHong Kong
Aman Yadavcomputational thinking, teacher education, problem-based learning, teacher professional developmentEducational Psychology and Educational TechnologyMichigan State UniversityUSA
Mark ZarbComputing Education, Pedagogy, Teaching and Learning, Transitions into HE, Student Resilience, Post-Pandemic Educational LandscapesSchool of ComputingRobert Gordon UniversityScotland
Haoqi Zhang*learning ecosystemsComputer ScienceNorthwesternUSA
Chris Piech*machine learning to understand human learningComputer ScienceStanfordUSA
Thad Starner*plagiarism detection in large scale programming classes, navigating large class forumsSchool of Interactive ComputingGeorgia TechUSA
Ashok Goel*AI in educationSchool of Interactive ComputingGeorgia TechUSA
David Joyner*scaling large online classes and higher educationSchool of Interactive ComputingGeorgia TechUSA
Pedro Guillermo Feijóo GarcíaHuman-Centered AI, computing education, broadening participation in computing.School of Computing InstructionGeorgia TechUSA
Maria Elena Chavez Echeagaray*Human-Centered AI, affective computing, educational technology, engineering educationSchool of Computing and Augmented IntelligenceArizona State UniversityUSA
Alejandra J. Magana*Cyberlearning in STEM, embodied learning, modeling and simulation, discipline-based computationDepartment of Computer and Information TechnologyPurdue UniversityUSA

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!

  • EDM (the International Conference on Educational Data Mining). Explores using educational data to understand student learning.

  • JEDM (the Journal of Educational Data Mining). Publishes research on the use of data mining in education.

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 Last updated 10/28/2024. 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.