Skip to content

Instantly share code, notes, and snippets.

@iceLearn
Forked from amyjko/cer.md
Created July 21, 2018 11:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iceLearn/7bd66a83f94a71979377b0651d795343 to your computer and use it in GitHub Desktop.
Save iceLearn/7bd66a83f94a71979377b0651d795343 to your computer and use it in GitHub Desktop.

Computing education research (CER), also known as computer science education (CSEd), is the study of how people learn computing and the invention of better ways to teach computing. This FAQ will teach you more about the field and how you might contribute to it.

What is computing education research?

First, CER is not teaching. Teaching is helping people acquire knowledge, skills, attitudes and beliefs. Research is discovery and invention. Teachers teach computing, whereas computing education researchers discover what is true about the teaching and learning of computing, and invent new techniques for teaching and assessing it (some pedagogical, some computational).

CER is also not educational technology. Computing education researchers often create educational technologies to support the learning and teaching of computing, but CER is not concerned with the broad use of technology in learning, teaching, and education. It's specifically concerned with the learning and teaching of computing.

It's also important to note that I construe "computing" broadly: it's not just about programming, or even just about computer science, but also about all of the phenomena surrounding computing (including privacy, security, information ethics, software engineering, etc.). This means that computing education and computing education research can and do cover far more than just learning to code. (It just hasn't historically).

How does computing education research compare to learning sciences, education research, and educational psychology?

I'm not the best person to answer this question, since I don't have deep exposure to these other three communities. However, I do hang out with people in these other communities and have learned some generalizations about their differences. Here's the best characterization I can give confidently:

  • Education research is broadly concerned with formal systems of education, how to make those systems effective and just, how to prepare teachers to make them effective and just. The field is interested in general theories of learning, education, interest development, and identity, and because of it's focus on formal education, is often focused on youth.
  • Learning sciences is in some way still an emerging discipline. Rather than focus on the context of learning (school, teachers, asessments, etc.), it's explicitly focused on the phenomnena on learning itself, and thus draws broadly on many fields that are about learning, including education, educational psychology, learning and memory research in psychology, cognitive science. It even draws upon design and computer science, in that it is interested in designing, building, and evaluating learning technologies and interventions. It often has a focus on informal learning across the lifespan, but again mostly youth. It also uses design methods more than education research.
  • Educational psychology is focused on learning phenomena in the mind, such as learning, memory, development, intelligence, self-regulation, motivation, self-concept. The field is also concerned psychologists at school. The field tends to be more quantitiatve than education research and learning sciences, following traditions of cognitive psychology.

How does computing education fit in to all of this? Like other discipline-based education research (DBER) such as math and physics education, it draws upon all three of the fields above, using theories and ideas from those fields. However, because it is focused on a discipline, it is specifically concerned with the content of the discipline, specific methods of learing and teaching that content. In this sense, it is less basic and more applied, bridging foundational ideas that span any human learning to applied ideas specific to the learning of specific ideas and skills. Obviously, I think applied sciences like this are critical: they are how we transate basic research ideas into applied ideas that can be used in the world.

What are the overarching research questions in CER?

As with any research discipline, research questions can and should be specific. However, there are some major overarching questions in this field that researchers have begun to investigate, including:

  • How do people learn computing?
  • How do teachers teach and assess computing?
  • How can people learn computing more effectively?
  • How can teachers teach computing more effectively?
  • How can access to computing education be improved?
  • How can computing education be delivered equitably to all?
  • How can technology teach computing?
  • How does computing education affect people's lives?
  • What are the costs of computing illiteracy?
  • What does it mean to know computing?
  • What is computing?
  • What can be taught about computing to learners of different ages?

While the "people" in the questions above could be anyone (youth, teens, college students, adults, and even teachers), the history of CER has primarily focused on teaching college students, because the faculty conducting research have found it easier to study the students they are teaching. This is changing as countries around the world begin to incorporate computing into all levels of school, and as private industry begins to create technologies and services that teach computing to all ages. For example, my research has investigated new ways to teach youth from age 8-18, as well as adults.

What are some exciting CER discoveries?

There are so many! Examples include:

  • The field discovered that diversity in computing education is low because of the narrow, exclusionary nature of computing cultures, not because of inherent disinterest or inability on the part of diverse learners.
  • 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 invented structured editors, which eventually materialized in their mature form as blocks editors found in Scratch and Blockly, which have greatly increased engagement in computing education, and greatly reduced barriers to learning programming languages.
  • The field contributed constructionism, a new theory of learning, which inspired Smalltalk (Kay), Scratch, LEGO Mindstorms. Smalltalk led to the modern object-oriented programming languages and IDEs we use today.

Inventing modern programming paradigms and tools is pretty impressive. The field's recent efforts to transform STEM education through computing, invent rapid new forms of learning online, and devise more equitable ways to teach should be equally, if not more impactful.

What kinds of jobs do computing education researchers do?

Most computing education researchers are faculty in universities. Many of these faculty are tenure-track faculty like myself, which means a substantial portion of our time (often 50%) is spent conducting research. However, there are also many instructors (who teach 100% of their time) who find additional time to do research on top of their teaching. Many of the original authors at ICER were once members of the Bootstrapping or Scaffolding groups (led by Fincher, Petre, and Tenenberg), who were CS teachers that started to do research in their own classrooms.

Not all computing education researchers are college faculty. Some work in industry creating educational technologies for teaching computing, applying their expertise to the research and design of educational software. Some work in non-profits, using their expertise to advocate for computing education in schools, while conducting research on factors that affect policy. Some work in school districts, helping to implement computing education curricula in schools, while studying and evaluating the effectiveness of the implementation. Others work in government, facilitating research funding. Others still become teachers themselves, both at universities and other schools.

Tenure-track faculty are in the best position to make advances in the field because a substantial portion of their time is dedicated to research. It is possible to do research in other positions, but it is often outside the scope of a job. Because of this, many non-tenure track faculty focus their research on settings that their job gives them access to, which can restrict which research questions they can answer.

How do I become a CER researcher?

The most effective route is to get a Ph.D. in computing education research at one of the many Ph.D. granting universities in the world. Ph.D. students learn to conduct research over the course of multiple years (generally 4 to 6) under the supervision of an advisor. Many undergraduates participate in research to help them learn about research, which can also help with admission to Ph.D. programs (especially if you publish, which demonstrates your interest and ability in conducting research).

Where can I get a Ph.D. in CER?

You need to find a university that grants Ph.D.'s and has tenure-track faculty who do research in CER on a topic that you're interested in. The alphabetical list below contains some of the many faculty who advise Ph.D. students on computing education research. Find them online and see what kind of research they're doing. (This list may be out of date, as faculty sometimes move universities, retire, go to industry, or change research areas, so be sure to check their website for the latest information).

One note about selecting advisors: their disciplinary affilitation is one indicator of the nature of the contributions they might make (people in CS departments might built learning technologies, people in colleges of education might focus on teacher training and pedagogy), but this is not a perfect indicator. I've included my own tags on their expertise, but they're probably hopelessly out of date, as researchers pursue new topics. The best thing to do is click on their name to visit their website and see what kinds of research they have published. That's the most direct indicator of their interests, the methods they use, and the types of contributions they want to make (other than just writing them and asking, which you can also do).

Name Expertise Unit University Country
Erik Barendsen pedagogy, literacy, computational thinking Computing and Information Sciences Open University Netherlands
Tiffany Barnes inclusion, educational games, tutoring systems Computer Science North Carolina State University USA
Brett Becker novices, errors Computer Science University College Dublin Ireland
Tim Bell CS unplugged Computer Science University of Canterbury New Zealand
Matthew Berland digital media, data science learning Curriculum & Instruction
Computer Science
University of Wisconsin-Madison USA
Paulo Blikstein project-based learning Graduate School of Education Stanford University USA
Kristy Boyer intelligent tutoring systems Computer Science University of Florida USA
Karen Brennan constructionism, teacher education Graduate School of Education Harvard USA
Steve Cooper program visualization, spatial reasoning Computer Science & Engineering University of Nebraska, Lincoln USA
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
Barbara Ericson pedagogy, diversity School of Information University of Michigan USA
Katrina Falkner pedagogy, computational thinking School of Computer Science University of Adelaide Australia
Sally Fincher pedagogy, development School of Computing University of Kent UK
Kathi Fisler functional programming, pedagogy Computer Science Brown University USA
Philip Guo HCI, learning at scale Cognitive Science University of California, San Diego USA
Mark Guzdial pedagogy, constructionism Computer Science & Engineering
Engineering Education Research
University of Michigan USA
Sarah Heckman software engineering, learning technologies, curriculum, teacher education Computer Science North Carolina State University USA
Geoffrey Herman computer engineering, assessment Computer Science University of Illinois, Urbana-Champaign USA
Peter Hubwieser assessment Computer Science TU Munich Germany
Chris Hundhausen learning technology Computer Science Washington State University USA
Yasmin Kafai constructionism, educational games Graduate School of Education University of Pennsylvania USA
Caitlin Kelleher learning technologies Computer Science Washington University in St. Louis USA
Scott Klemmer HCI, learning at scale Cognitive Science University of California, San Diego USA
Andrew J. Ko HCI, software engineering, pedagogy, learning at scale The Information School
Computer Science & Engineering
University of Washington, Seattle USA
Shriram Krishnamurthi functional languages, pedagogy Computer Science Brown University USA
Celine Latulipe HCI, creativity, pedagogy Software and Information Systems UNC Charlotte USA
Michael Lee HCI, educational games Information Systems New Jersey Institute of Technology USA
Raymond Lister cognition, assessment School of Software University of Technology, Sydney Australia
Lauri Malmi program visualization, learning technology Computer Science Aalto University Finland
Briana Morrison pedagogy, cognitive load Computer Science University of Nebraska, Omaha USA
Eleanor O'Rourke educational games, personalized learning Computer Science and Learning Science Northwestern USA
Tapan Parikh HCI for development, learning at scale School of Information Cornell Tech USA
Elizabeth Patitsas sociology, diversity, educator practices School of Computer Science
Department of Integrated Studies in Education
McGill University Canada
Roy Pea learning science, informal learning Education and Learning Sciences Stanford USA
Arnold Pears pedagogy Department of Information Technology Uppsala University Sweden
Marian Petre software design, design pedagogy Centre for Research in Computing The Open University UK
Mitch Resnick constructionism, creatvity Media Lab MIT USA
Anthony Robins programming language learning Computer Science University of Otago New Zealand
Ricarose Roque constructionism, families Information Science CU Boulder USA
Carsten Schulte pedagogy Computer Science Freie Universität Germany
Valerie Shute assessment Education Florida State University USA
Sue Sentance teacher education Education King's College London UK
Ben Shapiro constructionism, new media ATLAS Institute
Computer Science
University of Colorado USA
Andreas Stefik programming language learning, disability Computer Science University of Nevada, Las Vegas USA
Erin Walker intelligent tutoring systems Computing, Informatics, and Decision Systems Arizona State University USA
David Weintrop HCI, learning technologies College of Education & College of Information Studies University of Maryland USA
Uri Wilensky computational thinking, science integration Learning Sciences Northwestern University USA
Joseph Jay Williams intelligent learning systems Computer Science University of Toronto Canada
Aman Yadav computatinal thinking, teacher education, problem-based learning Educational Psychology Michigan State University USA
Haoqi Zhang learning ecosystems Computer Science Northwestern USA

For doctoral admissions, how important is it to demonstrate focus in a single research area?

Advisors differ on the criteria they use to select candidates. Personally, I look for 1) experience with research, 2) passion in the subject of computing education, 3) the requisite skills to persue that passion, and 4) an overlap with my interests. You can get experience by working with faculty at your own institution. That can be hard if you don't have faculty doing work in this area. The requisite skills depend a lot on the contributions you want to make. If you want to envision and build new learning technologies, can you code well enough to build them? If you want to investigate new teacher training methods, do you have teaching experience? If you want to do more theoretical work, how strong is your technical writing?

Working specifically in computing education isn't necessary to achieve the above. Perhaps you have undergraduate research experience in HCI, software engineering, or programming languages. That can be fine, as long as your passion is clear and the skills you have align with the questions you want to answer. Researchers are always investigating new questions, so it's perfectly normal to have experience from other related areas of computing and information science.

Can I get funding to do CER?

Yes! In the U.S., Ph.D. students are generally funded by the research grants their advisors obtain, and can also receive NSF Graduate Research Fellowships, which cover three years of tuition and stipend. Undergraduates can participate in NSF-sponsored Research Experience for Undergraduate projects that faculty sponsor. CER faculty can also apply for NSF CAREER grants on computing education research, or an NSF Research Initiation Initiative for new faculty. Most Ph.D. granting institutions also offer teaching assistantships. In the United States, there are also regularly programs that fund CER. This changes frequently, but here is a current snapshot as of 2016:

  • NSF STEM+C. Funds a variety of research and implementation projects, some focused on the integration of computing into STEM subjects, and some on basic computing education research.
  • NSF IUSE. Funds programs that improve the quality of and access to STEM education in undergraduate programs. Does not directly fund basic research.
  • NSF ITEST. Funds programs that broaden participation in STEM. Does not directly fund basic research.
  • NSF DRK-12. Funds projects that enhance the quality of and access to STEM education in K-12, including basic research.
  • NSF Cyberlearning. Funds projects that enhance how learning occurs in technology-rich environments, including intelligent tutors, computer-based instruction, computational tools for learning, etc.
  • NSF EHR CORE Research. Funds basic education research. Not CS specific, but it has separate tracks within its reviewing structure for CS and engineering.
  • NSF IIS Cyber-Human Systems. Funds HCI research. Not CS specific, but is very supportive of educational technologies that advance the capabilities of human expression.

Also, Google offers Faculty Research Awards. If you submit the HCI category, it will be routed to and reviewed by people with computing education expertise.

What do I need to know to be a successful computing education researcher?

First, you need to know some computing yourself. That doesn't mean you need a computer science degree, but it helps to have learned to code. Beyond that, there are many things you'll eventually need to know to make original discoveries, but you can't go wrong by reading these:

  • How People Learn: Brain, Mind, Experience, and School (Bransford, Brown, & Cocking, 1999) provides a strong grounding in learning sciences and education research, which is a must for anyone who wants to advance knowledge in any area of learning.
  • Learner-Centered Design of Computing Education: Research on Computing for Everyone (Mark Guzdial) is a wonderful synthesis of computing education research, with a focus on pedagogy for anyone learning computing, rather than just computer science students.
  • Computer Science Education Research (Fincher & Petre) provides an overview of CER and its different traditions, approaches, and methods.
  • Programming Paradigms and Beyond (Shriram Krishnamurthi & Kathi Fisler) is an excellent introduction to programming languages in the context of computing education. Anyone trying to make programming easier to learn should read this so they have accurate language and concepts to reason about what programming languages are.
  • Mindstorms: Children, Computers, and Powerful Ideas (Papert, 1980) is a classic book that claims that children can learn to use computers in a masterful way and that learning to use computers can change the way they learn everything else. It provides a provocative vision for the field.
  • Stuck in the Shallow End (Margolis et al.) studies the racial inequity in computer science, whereas, Unlocking the Clubhouse (Margolis et al.,) studies the gender inequity in computer science. Both are foundational books in understanding structural inequities in computing education.
  • Computational Thinking in K-12 A Review of the State of the Field (Grover & Pea, 2013, Educational Researcher, 42(1)) frames the current state of discourse on computational thinking in K-12 education, identifying gaps in research.
  • A survey of literature on the teaching of introductory programming (Pears et al. 2007). A great overview of CER papers on classroom instruction on programming.
  • Constructing a core literature for computing education research (Pears et al. 2005). This paper has a nice appendix with a list of core papers as of 2005.
  • Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers (Kelleher, C., & Pausch, R. 2005, ACM Computing Surveys, 37(2)) provides a detailed walkthrough of most of the programming languages, environments, and tools that had been invented up until 2005. There have been more since, but before ever inventing one of your own, it's important to know what's been invented already.
  • The State of the Art in End-User Software Engineering (Ko et al., 2011, ACM Computing Surveys, 43(3)) synthesizes of all of the programming languages, environments, and tools that have helped people learn to code while automating a task (which we call "end-user programming").
  • The McCracken Working Group McCracken et al. 2001, ACM SIGCSE Bulletin, 33(4) showed that computer science students generally do not know how to program after a sequence of introductory programming courses. A follow up replicated these results (Lister et al., 2004, A multi-national study of reading and tracing skills in novice programmers, ACM SIGCSE Bulletin, 36(4)).
  • Situating Constructionism (Papert, S., & Harel, I. 1991, constructionism, 36), providing a vision of what constructionism is and isn't.
  • Epistemological pluralism: Styles and voices within the computer culture (Turkle, S., & Papert, S. 1990, From Hard Drive to Software: Gender, Computers, and Difference, 16(1)), framing the culture of computing.
  • Changing minds: Computers, learning, and literacy (DiSessa, 2001). Dissects the relationship between computing and literacy.
  • Connected code: Why children need to learn programming (Kafai, Y. B., Burke, Q., & Resnick, M. 2014). Makes the case of computing creativity.
  • Misconceptions in programming Qian and Lehman 2017. This is a great review of the broad literature on misconceptions that people form about programming.

Beyond the works above, it can also be informative to read the proceedings of computing education research conferences and journals to see what kind of research is of active interest. You can find much of this research in the ACM Digital Library (e.g., the ICER proceedings).

Mark Guzdial has also offered a class on computing education research that covers much of this material.

What conferences and journals publish CER?

Most academic fields have exclusively academic venues for publication, with few practitioners participating in or reading the research that researchers produce. The CER community is unique (and I believe quite fortunate) in that practitioners are deeply involved in the academic research community (partly because most faculty conducting research are teachers themselves). Below I note several conferences and journals where you can publish computing education research (see SIGCSE for a broader list). Note that I separate the pure research venues from the venues that combine both research and practice since the combined venues are often dominated by practioners, which can make it hard to have focused research conversations and rigorous peer review.

Research only venues

  • ICER (the ACM International Computing Education Research conference) is the only academic conference that strictly publishes research. All of the reviewers who peer review submissions are trained researchers with Ph.D.s. ICER tends to focus on theoretically, methodologically, and empirically-rich work, advancing the science of computing education. It is held around the world but is generally in North America every other year.

  • TOCE (the ACM Transactions on Computing Education) publishes research, and is similar in scope to ICER, but in a journal format. Like ICER, the editorial board and reviewers are all trained researchers.

  • CSE (the Journal of Computer Science Education) publishes research and is similar to TOCE and ICER in its reviewing community and similar in research rigor and prestige. However, unlike TOCE and ICER, publications in CSE are generally expected to have more direct implications for teachers.

  • ICLS (the International Conference on Learning Sciences) does not strictly focus on computing education, but publishes high quality research on learning sciences. Accepts both qualitative and quantitative work, especially of mixed methods. Also tends to focus more on K-12 than the venues focusing strictly on CER.

  • JLS (the Journal of Learning Sciences) is one of the top education research journals and expects a strong connection to learning theory and mostly wants empirical work. It is not a journal that publishes HCI, so work must be connected to cognition, sociocultural context, or other theory, and not system design.

  • CSCL (the International Conference on Computer-Supported Collaborative Learning) focuses on issues related to learning through collaboration and promoting productive collaborative discourse with the help of the computer and other communications technologies.

  • IJCSCL (the International Journal of Computer-Supported Collaborative Learning), like CSCL, focuses on learning through collaboration.

  • L@S (the ACM Conference on Learning at Scale) is a computer science conference that focuses on techniques for scaling instruction. Some of the work published here concerns computing education, but many other domains are represented as well. Often focuses on MOOCs and other forms of online learning.

  • RESPECT (the IEEE Conference on Research on Equity and Sustained Participation in Engineering, Computing, and Technology) is a conference focused on engagement, participation, and equity in STEM fields. It has research and experience report tracks, and expects empirical papers grounded in theory.

  • IDC (ACM SIGCHI Interaction Design and Children) is an HCI conference with a focus on children, focusing on design artifacts for kids and enabling kids to be designers, with a special focus on participatory design as a methodology.

  • CHI (ACM SIGCHI Conference on Human Factors in Computing) is an HCI conference with a focus on any aspect of interactions between people and computers, including programming. As one of the largest and broadest ACM conferences, it's easily for research on learning to get lost here, but so does every other topic!

  • AERA (the American Education Research Association conference) has a division for engineering and computing education that publish papers on computational thinking.

  • JEE (the Journal of Engineering Education). High-quality but with few international collaborations (like the MIMN studies in CER). Occasionally has papers related to computing.

Research and practice venues

  • SIGCSE (the SIGCSE Technical Symposium on Computer Science Education) publishes both research and practice papers in a short format, bringing together researchers and teachers. This is the largest conference on computer science education and generally attracts teachers. There is now a dedicated research track separate from experience reports. Generally held in North America.
  • ITiCSE (the Annual Conference on Innovation and Technology in Computer Science Education) publishes both research and practice papers, with a focus on practice. Generally held outside the United States.
  • Koli Calling (International Conference on Computing Education Research), held in Finland every year, publishes research and practice papers with a focus on qualitative research. A small but dedicated community.
  • WiPSCE (Workshop in Primary and Secondary Computing Education) aims to bring together researchers and practitioners, and publishes both research and practice papers. It is generally held in Europe.
  • ACE (the Australasian Computing Education Conference) is a regional conference with a mix of research and practice papers, bringing together education researchers and practitioners. Held in Australia or New Zealand, but welcomes attendees from anywhere.
  • LaTiCE (the International Conference on Learning and Teaching in Computing and Engineering) publishes both research and practice papers. Held primarily in Asia.
  • FIE (the ASEE Frontiers in Education conference) is more broad and more practitioner focused than SIGCSE and occasionally has CER work.

What is SIGCSE?

SIGCSE, like other ACM Special Interest Groups (SIGs), is an organization that focuses on a particular topic within ACM, namely computer science education. It sponsors several ACM conferences (the SIGCSE Technical Symposium, ICER, and WiPSCE) 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?

Are there any shared resources in the community?

Many! In addition to the resources above, here are some others:

  • The Quantum project is building a collection of free, validated assessments of programming knowledge. Use them to measure learning outcomes. See the project's whitepaper for more background.
  • The Pittsburgh Science of Learning Center has gathered an incredible list of resources about theories of learning. This is an excellent primer on theory in learning science.

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

There are a few excellent blogs:

The best way to get notified about new content is probably Twitter (@guzdial, @pgbovine, @alfredtwo, and @andyjko).

Is this list missing you? Let me know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment