Appendix I — Bibliography

Abbate, Janet. 2012. Recoding Gender: Women’s Changing Participation in Computing. MIT Press. ISBN 9780262534536. Describes the careers and accomplishments of the women who shaped the early history of computing, but have all too often been written out of that history.
Abela, Andrew. 2009. Chart Suggestions - a Thought Starter. Http://extremepresentation.typepad.com/files/choosing-a-good-chart-09.pdf. A graphical decision tree for choosing the right type of chart.
Adams, Frank, and Myles Horton. 1975. Unearthing Seeds of Fire: The Idea of Highlander. Blair. ISBN 0895870193. A history of the Highlander Folk School and its founder, Myles Horton.
Aiken, Edwin G., Gary S. Thomas, and William A. Shennum. 1975. “Memory for a Lecture: Effects of Notes, Lecture Rate, and Informational Density.” Journal of Educational Psychology 67 (3): 439–44. https://doi.org/10.1037/h0076613. An early landmark study showing that taking notes improved retention.
Aivaloglou, Efthimia, and Felienne Hermans. 2016. “How Kids Code and How We Know.” 2016 International Computing Education Research Conference (ICER’16). https://doi.org/10.1145/2960310.2960325. Presents an analysis of 250,000 Scratch projects.
Albright, Sarah Dahlby, Titus H. Klinge, and Samuel A. Rebelsky. 2018. “A Functional Approach to Data Science in CS1.” 2018 Technical Symposium on Computer Science Education (SIGCSE’18). https://doi.org/10.1145/3159450.3159550. Describes the design of a CS1 class built around data science.
Alinsky, Saul D. 1989. Rules for Radicals: A Practical Primer for Realistic Radicals. Vintage. ISBN 0679721134. A widely-read guide to community organization written by one of the 20th Century’s great organizers.
Alqadi, Basma S., and Jonathan I. Maletic. 2017. “An Empirical Study of Debugging Patterns Among Novice Programmers.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017761. Reports patterns in the debugging activities and success rates of novice programmers.
Alvidrez, Jennifer, and Rhona S. Weinstein. 1999. “Early Teacher Perceptions and Later Student Academic Achievement.” Journal of Educational Psychology 91 (4): 731–46. https://doi.org/10.1037/0022-0663.91.4.731. An influential study of the effects of teachers’ perceptions of students on their later achievements.
Ambrose, Susan A., Michael W. Bridges, Michele DiPietro, Marsha C. Lovett, and Marie K. Norman. 2010. How Learning Works: Seven Research-Based Principles for Smart Teaching. Jossey-Bass. ISBN 0470484101. Summarizes what we know about education and why we believe it’s true, from cognitive psychology to social factors.
Anderson, Lorin W., and David R. Krathwohl, eds. 2001. A Taxonomy for Learning, Teaching, and Assessing: A Revision of Bloom’s Taxonomy of Educational Objectives. Longman. ISBN 080131903X. A widely-used revision to Bloom’s Taxonomy.
Armoni, Michal, and David Ginat. 2008. “Reversing: A Fundamental Idea in Computer Science.” Computer Science Education 18 (3): 213–30. https://doi.org/10.1080/08993400802332670. Argues that the notion of reversing things is an unrecognized fundamental concept in computing education.
Atkinson, Robert K., Sharon J. Derry, Alexander Renkl, and Donald Wortham. 2000. “Learning from Examples: Instructional Principles from the Worked Examples Research.” Review of Educational Research 70 (2): 181–214. https://doi.org/10.3102/00346543070002181. A comprehensive survey of worked examples research at the time.
Aurora, Valerie, and Mary Gardiner. 2019. How to Respond to Code of Conduct Reports. Version 1.1. Frame Shift Consulting LLC. ISBN 978-1386922575. A short, practical guide to enforcing a Code of Conduct.
Aveling, Emma-Louise, Peter McCulloch, and Mary Dixon-Woods. 2013. “A Qualitative Study Comparing Experiences of the Surgical Safety Checklist in Hospitals in High-Income and Low-Income Countries.” BMJ Open 3 (8). https://doi.org/10.1136/bmjopen-2013-003039. Reports the effectiveness of surgical checklist implementations in the UK and Africa.
Barik, Titus, Justin Smith, Kevin Lubick, et al. 2017. “Do Developers Read Compiler Error Messages?” 2017 International Conference on Software Engineering (ICSE’17), May. https://doi.org/10.1109/icse.2017.59. Reports that developers do read error messages and doing so is as hard as reading source code: it takes 13-25% of total task time.
Barker, Lecia, Christopher Lynnly Hovey, and Jane Gruning. 2015. “What Influences CS Faculty to Adopt Teaching Practices?” 2015 Technical Symposium on Computer Science Education (SIGCSE’15). https://doi.org/10.1145/2676723.2677282. Describes how computer science educators adopt new teaching practices.
Barker, Lecia, Christopher Lynnly Hovey, and Leisa D. Thompson. 2014. “Results of a Large-Scale, Multi-Institutional Study of Undergraduate Retention in Computing.” 2014 Frontiers in Education Conference (FIE’14), October. https://doi.org/10.1109/fie.2014.7044267. Reports that meaningful assignments, faculty interaction with students, student collaboration on assignments, and (for male students) pace and workload relative to expectations drive retention in computing classes, while interactions with teaching assistants or with peers in extracurricular activities have little impact.
Basili, Victor R., and Richard W. Selby. 1987. “Comparing the Effectiveness of Software Testing Strategies.” IEEE Transactions on Software Engineering SE-13 (12): 1278–96. https://doi.org/10.1109/tse.1987.232881. An early and influential summary of the effectiveness of code review.
Basu, Soumya, Albert Wu, Brian Hou, and John DeNero. 2015. “Problems Before Solutions: Automated Problem Clarification at Scale.” 2015 Conference on Learning @ Scale (L@S’15). https://doi.org/10.1145/2724660.2724679. Describes a system in which students have to unlock test cases for their code by answering MCQs, and presents data showing that this is effective.
Battestilli, Lina, Apeksha Awasthi, and Yingjun Cao. 2018. “Two-Stage Programming Projects: Individual Work Followed by Peer Collaboration.” 2018 Technical Symposium on Computer Science Education (SIGCSE’18). https://doi.org/10.1145/3159450.3159486. Reports that learning outcomes were improved by two-stage projects in which students work individually, then re-work the same problem in pairs.
Bauer, Mark S., Laura Damschroder, Hildi Hagedorn, Jeffrey Smith, and Amy M. Kilbourne. 2015. “An Introduction to Implementation Science for the Non-Specialist.” BMC Psychology 3 (1). https://doi.org/10.1186/s40359-015-0089-9. Explains what implementation science is, using examples from the US Veterans Administration to illustrate.
Beck, Leland, and Alexander Chizhik. 2013. “Cooperative Learning Instructional Methods for CS1: Design, Implementation, and Evaluation.” ACM Transactions on Computing Education 13 (3): 10:1–21. https://doi.org/10.1145/2492686. Reports that cooperative learning enhances learning outcomes and self-efficacy in CS1.
Beck, Victoria. 2014. “Testing a Model to Predict Online Cheating—Much Ado about Nothing.” Active Learning in Higher Education 15 (1): 65–75. https://doi.org/10.1177/1469787413514646. Reports that cheating is no more likely in online courses than in face-to-face courses.
Becker, Brett A., Graham Glanville, Ricardo Iwashima, Claire McDonnell, Kyle Goslin, and Catherine Mooney. 2016. “Effective Compiler Error Message Enhancement for Novice Programming Students.” Computer Science Education 26 (2-3): 148–75. https://doi.org/10.1080/08993408.2016.1225464. Reports that improved error messages helped novices learn faster.
Beniamini, Gal, Sarah Gingichashvili, Alon Klein Orbach, and Dror G. Feitelson. 2017. “Meaningful Identifier Names: The Case of Single-Letter Variables.” 2017 International Conference on Program Comprehension (ICPC’17), May. https://doi.org/10.1109/icpc.2017.18. Reports that use of single-letter variable names doesn’t affect ability to modify code, and that some single-letter variable names have implicit types and meanings.
Bennedsen, Jens, and Michael E. Caspersen. 2007. “Failure Rates in Introductory Programming.” ACM SIGCSE Bulletin 39 (2): 32. https://doi.org/10.1145/1272848.1272879. Reports that 67% of students pass CS1, with variation from 5% to 100%.
Bennedsen, Jens, and Carsten Schulte. 2007. “What Does ‘Objects-First’ Mean?: An International Study of Teachers’ Perceptions of Objects-First.” 2007 Koli Calling Conference on Computing Education Research (Koli’07), 21–29. Teases out three meanings of “objects first” in computing education.
Benner, Patricia. 2000. From Novice to Expert: Excellence and Power in Clinical Nursing Practice. Pearson. ISBN 0130325228. A classic study of clinical judgment and the development of expertise.
Bergin, Joseph, Jane Chandler, Jutta Eckstein, et al. 2012. Pedagogical Patterns: Advice for Educators. CreateSpace. ISBN 9781479171828. A catalog of design patterns for teaching.
Bielaczyc, Katerine, Peter L. Pirolli, and Ann L. Brown. 1995. “Training in Self-Explanation and Self-Regulation Strategies: Investigating the Effects of Knowledge Acquisition Activities on Problem Solving.” Cognition and Instruction 13 (2): 221–52. https://doi.org/10.1207/s1532690xci1302_3. Reports that training learners in self-explanation accelerates their learning.
Biggs, John, and Catherine Tang. 2011. Teaching for Quality Learning at University. Open University Press. ISBN 0335242758. A step-by-step guide to lesson development, delivery, and evaluation for people working in higher education.
Binkley, Dave, Marcia Davis, Dawn Lawrie, Jonathan I. Maletic, Christopher Morrell, and Bonita Sharif. 2012. “The Impact of Identifier Style on Effort and Comprehension.” Empirical Software Engineering 18 (2): 219–76. https://doi.org/10.1007/s10664-012-9201-4. Reports that reading and understanding code is fundamentally different from reading prose, and that experienced developers are relatively unaffected by identifier style, but beginners benefit from the use of camel case (versus pothole case).
Blikstein, Paulo, Marcelo Worsley, Chris Piech, Mehran Sahami, Steven Cooper, and Daphne Koller. 2014. “Programming Pluralism: Using Learning Analytics to Detect Patterns in the Learning of Computer Programming.” Journal of the Learning Sciences 23 (4): 561–99. https://doi.org/10.1080/10508406.2014.954750. Reports an attempt to categorize novice programmer behavior using machine learning that found interesting patterns on individual assignments.
Bloom, Benjamin S. 1984. “The 2 Sigma Problem: The Search for Methods of Group Instruction as Effective as One-to-One Tutoring.” Educational Researcher 13 (6): 4–16. https://doi.org/10.3102/0013189x013006004. Reports that students tutored one-to-one using mastery learning techniques perform two standard deviations better than those who learned through conventional lecture.
Bollier, David. 2014. Think Like a Commoner: A Short Introduction to the Life of the Commons. New Society Publishers. ISBN 0865717680. A short introduction to a widely-used model of governance.
Borrego, Maura, and Charles Henderson. 2014. “Increasing the Use of Evidence-Based Teaching in STEM Higher Education: A Comparison of Eight Change Strategies.” Journal of Engineering Education 103 (2): 220–52. https://doi.org/10.1002/jee.20040. Categorizes different approaches to effecting change in higher education.
Boulay, Benedict Du. 1986. “Some Difficulties of Learning to Program.” Journal of Educational Computing Research 2 (1): 57–73. https://doi.org/10.2190/3lfx-9rrf-67t8-uvk9. Introduces the idea of a notional machine.
Brian, Samuel A., Richard N. Thomas, James M. Hogan, and Colin Fidge. 2015. “Planting Bugs: A System for Testing Students’ Unit Tests.” 2015 Conference on Innovation and Technology in Computer Science Education (ITiCSE’15). https://doi.org/10.1145/2729094.2742631. Describes a tool for assessing students’ programs and unit tests and finds that students often write weak tests and misunderstand the role of unit testing.
Brookfield, Stephen D., and Stephen Preskill. 2016. The Discussion Book: 50 Great Ways to Get People Talking. Jossey-Bass. ISBN 9781119049715. Describes fifty different ways to get groups talking productively.
Brophy, Jere E. 1983. “Research on the Self-Fulfilling Prophecy and Teacher Expectations.” Journal of Educational Psychology 75 (5): 631–61. https://doi.org/10.1037/0022-0663.75.5.631. A early, influential study of the effects of teachers’ perceptions on students’ achievements.
Brown, Michael Jacoby. 2007. Building Powerful Community Organizations: A Personal Guide to Creating Groups That Can Solve Problems and Change the World. Long Haul Press. ISBN 0977151808. A practical guide to creating effective organizations in and for communities.
Brown, Neil C. C., and Amjad Altadmri. 2017. “Novice Java Programming Mistakes.” ACM Transactions on Computing Education 17 (2). https://doi.org/10.1145/2994154. Summarizes the authors’ analysis of novice programming mistakes.
Brown, Neil C. C., and Greg Wilson. 2018. “Ten Quick Tips for Teaching Programming.” PLoS Computational Biology 14 (4). https://doi.org/10.1371/journal.pcbi.1006023. A short summary of what we actually know about teaching programming and why we believe it’s true.
Bruyckere, Pedro De, Paul A. Kirschner, and Casper D. Hulshof. 2015. Urban Myths about Learning and Education. Academic Press. ISBN 9780128015377. Describes and debunks some widely-held myths about how people learn.
Buffardi, Kevin, and Stephen H. Edwards. 2015. “Reconsidering Automated Feedback: A Test-Driven Approach.” 2015 Technical Symposium on Computer Science Education (SIGCSE’15). https://doi.org/10.1145/2676723.2677313. Describes a system that associates failed tests with particular features in a learner’s code so that learners cannot game the system.
Burke, Quinn, Cinamon Bailey, Louise Ann Lyon, and Emily Greeen. 2018. “Understanding the Software Development Industry’s Perspective on Coding Boot Camps Versus Traditional 4-Year Colleges.” 2018 Technical Symposium on Computer Science Education (SIGCSE’18). https://doi.org/10.1145/3159450.3159485. Compares the skills and credentials that tech industry recruiters are looking for to those provided by 4-year degrees and bootcamps.
Butler, Zack, Ivona Bezakova, and Kimberly Fluet. 2017. “Pencil Puzzles for Introductory Computer Science.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017765. Describes pencil-and-paper puzzles that can be turned into CS1/CS2 assignments, and reports that they are enjoyed by students and encourage meta-cognition.
Campbell, Jennifer, Diane Horton, and Michelle Craig. 2016. “Factors for Success in Online CS1.” 2016 Conference on Innovation and Technology in Computer Science Education (ITiCSE’16). https://doi.org/10.1145/2899415.2899457. Compares students who opted in to an online CS1 class online with those who took it in person in a flipped classroom.
Carroll, John. 2014. “Creating Minimalist Instruction.” International Journal of Designs for Learning 5 (2). https://doi.org/10.14434/ijdl.v5i2.12887. A look back on the author’s work on minimalist instruction.
Carroll, John, Penny Smith-Kerker, James Ford, and Sandra Mazur-Rimetz. 1987. “The Minimal Manual.” Human-Computer Interaction 3 (2): 123–53. https://doi.org/10.1207/s15327051hci0302_2. The foundational paper on minimalist instruction.
Carter, Adam Scott, and Christopher David Hundhausen. 2017. “Using Programming Process Data to Detect Differences in Students’ Patterns of Programming.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017785. Shows that students of different levels approach programming tasks differently, and that these differences can be detected automatically.
Chen, Chen, Paulina Haduong, Karen Brennan, Gerhard Sonnert, and Philip Sadler. 2018. “The Effects of First Programming Language on College Students’ Computing Attitude and Achievement: A Comparison of Graphical and Textual Languages.” Computer Science Education 29 (1): 23–48. https://doi.org/10.1080/08993408.2018.1547564. Finds that students whose first language was graphical had higher grades than students whose first language was textual when the languages were introduced in or before early adolescent years.
Chen, Nicholas, and Maurice Rabb. 2009. “A Pattern Language for Screencasting.” 2009 Conference on Pattern Languages of Programs (PLoP’09). https://doi.org/10.1145/1943226.1943234. A brief, well-organized collection of tips for making screencasts.
Cheng, Nick, and Brian Harrington. 2017. “The Code Mangler: Evaluating Coding Ability Without Writing Any Code.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017704. Reports that student performance on exercises in which they undo code mangling correlates strongly with performance on traditional assessments.
Cherubini, Mauro, Gina Venolia, Rob DeLine, and Amy J. Ko. 2007. “Let’s Go to the Whiteboard: How and Why Software Developers Use Drawings.” 2007 Conference on Human Factors in Computing Systems (CHI’07). https://doi.org/10.1145/1240624.1240714. Reports that developers draw diagrams to aid discussion rather than to document designs.
Cheryan, Sapna, Victoria C. Plaut, Paul G. Davies, and Claude M. Steele. 2009. “Ambient Belonging: How Stereotypical Cues Impact Gender Participation in Computer Science.” Journal of Personality and Social Psychology 97 (6): 1045–60. https://doi.org/10.1037/a0016239. Reports that subtle environmental clues have a measurable impact on the interest that people of different genders have in computing.
Chetty, Raj, John N. Friedman, and Jonah E. Rockoff. 2014. “Measuring the Impacts of Teachers II: Teacher Value-Added and Student Outcomes in Adulthood.” American Economic Review 104 (9): 2633–79. https://doi.org/10.1257/aer.104.9.2633. Reports that good teachers have a small but measurable impact on student outcomes.
Chi, Michelene T. H., Miriam Bassok, Matthew W. Lewis, Peter Reimann, and Robert Glaser. 1989. “Self-Explanations: How Students Study and Use Examples in Learning to Solve Problems.” Cognitive Science 13 (2): 145–82. https://doi.org/10.1207/s15516709cog1302_1. A seminal paper on the power of self-explanation.
Collins, Allan, John Seely Brown, and Ann Holum. 1991. “Cognitive Apprenticeship: Making Thinking Visible.” American Educator 6: 38–46. Describes an educational model based on the notion of apprenticeship and master guidance.
Community Organizations, Center for. 2018. The “Problem” Woman of Colour in the Workplace. Https://coco-net.org/problem-woman-colour-nonprofit-organizations/. Outlines the experience of many women of color in the workplace.
Coombs, Norman. 2012. Making Online Teaching Accessible. Jossey-Bass. ISBN 9781458725288. An accessible guide to making online lessons accessible.
Covington, Martin V., Linda M. von Hoene, and Dominic J. Voge. 2017. Life Beyond Grades: Designing College Courses to Promote Intrinsic Motivation. Cambridge University Press. ISBN 9780521805230. Explores ways of balancing intrinsic and extrinsic motivation in institutional education.
Crawford, Matthew B. 2010. Shop Class as Soulcraft: An Inquiry into the Value of Work. Penguin. ISBN 9780143117469. A deep analysis of what we learn about ourselves by doing certain kinds of work.
Crouch, Catherine H., and Eric Mazur. 2001. “Peer Instruction: Ten Years of Experience and Results.” American Journal of Physics 69 (9): 970–77. https://doi.org/10.1119/1.1374249. Reports results from the first ten years of peer instruction in undergraduate physics classes, and describes ways in which its implementation changed during that time.
Csikszentmihaly, Mihaly. 2008. Flow: The Psychology of Optimal Experience. Harper. ISBN 978-0061339202. An influential discussion of what it means to be fully immersed in a task.
Cunningham, Kathryn, Sarah Blanchard, Barbara J. Ericson, and Mark Guzdial. 2017. “Using Tracing and Sketching to Solve Programming Problems.” 2017 Conference on International Computing Education Research (ICER’17). https://doi.org/10.1145/3105726.3106190. Found that writing new values near variables’ names as they change is the most effective tracing technique.
Cutts, Quintin, Charles Riedesel, Elizabeth Patitsas, et al. 2017. “Early Developmental Activities and Computing Proficiency.” 2017 Conference on Innovation and Technology in Computer Science Education (ITiCSE’17). https://doi.org/10.1145/3174781.3174789. Surveyed adult computer users about childhood activities and found strong correlation between confidence and computer use based on reading on one’s own and playing with construction toys with no moving parts (like Lego).
Dagenais, Barthélémy, Harold Ossher, Rachel K. E. Bellamy, Martin P. Robillard, and Jacqueline P. de Vries. 2010. “Moving into a New Software Project Landscape.” 2010 International Conference on Software Engineering (ICSE’10). https://doi.org/10.1145/1806799.1806842. A look at how people move from one project or domain to another.
Deb, Debzani, Muztaba Fuad, James Etim, and Clay Gloster. 2018. MRS: Automated Assessment of Interactive Classroom Exercises.” 2018 Technical Symposium on Computer Science Education (SIGCSE’18). https://doi.org/10.1145/3159450.3159607. Reports that doing in-class exercises with realtime feedback using mobile devices improved concept retention and student engagement while reducing failure rates.
Denny, Paul, Brett A. Becker, Michelle Craig, Greg Wilson, and Piotr Banaszkiewicz. 2019. “Research This! Questions That Computing Educators Most Want Computing Education Researchers to Answer.” 2019 Conference on International Computing Education Research (ICER’19). Found little overlap between the questions that computing education researchers are most interested in and the questions practitioners want answered.
Derby, Esther, and Diana Larsen. 2006. Agile Retrospectives: Making Good Teams Great. Pragmatic Bookshelf. ISBN 0977616649. Describes how to run a good project retrospective.
Didau, David, and Nick Rose. 2016. What Every Teacher Needs to Know about Psychology. John Catt Educational. ISBN 1909717851. An informative, opinionated explanation of what modern psychology has to say about teaching.
DiSalvo, Betsy, Mark Guzdial, Amy Bruckman, and Tom McKlin. 2014. “Saving Face While Geeking Out: Video Game Testing as a Justification for Learning Computer Science.” Journal of the Learning Sciences 23 (3): 272–315. https://doi.org/10.1080/10508406.2014.893434. Found that 65% of male African-American participants in a game testing program went on to study computing.
DiSalvo, Betsy, Cecili Reid, and Parisa Khanipour Roshan. 2014. “They Can’t Find Us.” 2014 Technical Symposium on Computer Science Education (SIGCSE’14). https://doi.org/10.1145/2538862.2538933. Reports that the search terms parents were likely to use for out-of-school CS classes didn’t actually find those classes.
Douce, Christopher, David Livingstone, and James Orwell. 2005. “Automatic Test-Based Assessment of Programming.” Journal on Educational Resources in Computing 5 (3). https://doi.org/10.1145/1163405.1163409. Reviews the state of auto-graders at the time.
Edwards, Stephen H., and Zalia Shams. 2014. “Do Student Programmers All Tend to Write the Same Software Tests?” 2014 Conference on Innovation and Technology in Computer Science Education (ITiCSE’14). https://doi.org/10.1145/2591708.2591757. Reports that students wrote tests for the happy path rather than to detect hidden bugs.
Edwards, Stephen H., Zalia Shams, and Craig Estep. 2014. “Adaptively Identifying Non-Terminating Code When Testing Student Programs.” 2014 Technical Symposium on Computer Science Education (SIGCSE’14). https://doi.org/10.1145/2538862.2538926. Describes an adaptive scheme for detecting non-terminating student coding submissions.
Endrikat, Stefan, Stefan Hanenberg, Romain Robbes, and Andreas Stefik. 2014. “How Do API Documentation and Static Typing Affect API Usability?” 2014 International Conference on Software Engineering (ICSE’14). https://doi.org/10.1145/2568225.2568299. Shows that types do add complexity to programs, but it pays off fairly quickly by acting as documentation hints for a method’s use.
Ensmenger, Nathan L. 2003. “Letting the ‘Computer Boys’ Take over: Technology and the Politics of Organizational Transformation.” International Review of Social History 48 (S11): 153–80. https://doi.org/10.1017/s0020859003001305. Describes how programming was turned from a female into a male profession in the 1960s.
Eppler, Martin J. 2006. “A Comparison Between Concept Maps, Mind Maps, Conceptual Diagrams, and Visual Metaphors as Complementary Tools for Knowledge Construction and Sharing.” Information Visualization 5 (3): 202–10. https://doi.org/10.1057/palgrave.ivs.9500131. Compares concept maps, mind maps, conceptual diagrams, and visual metaphors as learning tools.
Epstein, Lewis Carroll. 2002. Thinking Physics: Understandable Practical Reality. Insight Press. ISBN 0935218084. An entertaining problem-based introduction to thinking like a physicist.
Ericson, Barbara J., Lauren E. Margulieux, and Jochen Rick. 2017. “Solving Parsons Problems Versus Fixing and Writing Code.” 2017 Koli Calling Conference on Computing Education Research (Koli’17). https://doi.org/10.1145/3141880.3141895. Reports that solving 2D Parsons problems with distractors takes less time than writing or fixing code but has equivalent learning outcomes.
Ericsson, K. Anders. 2016. “Summing up Hours of Any Type of Practice Versus Identifying Optimal Practice Activities.” Perspectives on Psychological Science 11 (3): 351–54. https://doi.org/10.1177/1745691616635600. A critique of a meta-study of deliberate practice based on the latter’s overly-broad inclusion of activities.
Farmer, Eugene. 2006. “The Gatekeeper’s Guide, or How to Kill a Tool.” IEEE Software 23 (6): 12–13. https://doi.org/10.1109/ms.2006.174. Ten tongue-in-cheek rules for making sure that a new software tool doesn’t get adopted.
Fehily, Chris. 2008. SQL: Visual QuickStart Guide. Third. Peachpit Press. ISBN 0321553578. An introduction to SQL that is both a good tutorial and a good reference guide.
Fincher, Sally, and Anthony Robins, eds. 2019. The Cambridge Handbook of Computing Education Research. Cambridge University Press. ISBN 978-1108721899. A 900-page summary of what we know about computing education.
Fincher, Sally, and Josh Tenenberg. 2007. “Warren’s Question.” 2007 International Computing Education Research Conference (ICER’07). https://doi.org/10.1145/1288580.1288588. A detailed look at a particular instance of transferring a teaching practice.
Fink, L. Dee. 2013. Creating Significant Learning Experiences: An Integrated Approach to Designing College Courses. Jossey-Bass. ISBN 1118124251. A step-by-step guide to a systematic lesson design process.
Fisler, Kathi. 2014. “The Recurring Rainfall Problem.” 2014 International Computing Education Research Conference (ICER’14). https://doi.org/10.1145/2632320.2632346. Reports that students made fewer low-level errors when solving the Rainfall Problem in a functional language.
Fitzgerald, Sue, Gary Lewandowski, Renée McCauley, et al. 2008. “Debugging: Finding, Fixing and Flailing, a Multi-Institutional Study of Novice Debuggers.” Computer Science Education 18 (2): 93–116. https://doi.org/10.1080/08993400802114508. Reports that good undergraduate debuggers are good programmers but not necessarily vice versa, and that novices use tracing and testing rather than causal reasoning.
Fogel, Karl. 2005. Producing Open Source Software: How to Run a Successful Free Software Project. O’Reilly Media. ISBN 0596007590. The definite guide to managing open source software development projects.
Ford, Denae, Justin Smith, Philip J. Guo, and Chris Parnin. 2016. “Paradise Unplugged: Identifying Barriers for Female Participation on Stack Overflow.” 2016 International Symposium on Foundations of Software Engineering (FSE’16). https://doi.org/10.1145/2950290.2950331. Reports that lack of awareness of site features, feeling unqualified to answer questions, intimidating community size, discomfort interacting with or relying on strangers, and perception that they shouldn’t be slacking were seen as significantly more problematic by female Stack Overflow contributors rather than male ones.
Frank-Bolton, Pablo, and Rahul Simha. 2018. “Docendo Discimus: Students Learn by Teaching Peers Through Video.” 2018 Technical Symposium on Computer Science Education (SIGCSE’18). https://doi.org/10.1145/3159450.3159466. Reports that students who make short videos to teach concepts to their peers have a significant increase in their own learning compared to those who only study the material or view videos.
Freeman, Jo. 1972. “The Tyranny of Structurelessness.” The Second Wave 2 (1). Points out that every organization has a power structure: the only question is whether it’s accountable or not.
Freeman, S., S. L. Eddy, M. McDonough, et al. 2014. “Active Learning Increases Student Performance in Science, Engineering, and Mathematics.” Proc. National Academy of Sciences 111 (23): 8410–15. https://doi.org/10.1073/pnas.1319030111. Presents a meta-analysis of the benefits of active learning.
Friend, Marilyn, and Lynne Cook. 2016. Interactions: Collaboration Skills for School Professionals. Eighth. Pearson. ISBN 0134168542. A textbook on how teachers can work with other teachers.
Galpin, Vashti. 2002. “Women in Computing Around the World.” ACM SIGCSE Bulletin 34 (2). https://doi.org/10.1145/543812.543839. Looks at female participation in computing in 35 countries.
Gaucher, Danielle, Justin Friesen, and Aaron C. Kay. 2011. “Evidence That Gendered Wording in Job Advertisements Exists and Sustains Gender Inequality.” Journal of Personality and Social Psychology 101 (1): 109–28. https://doi.org/10.1037/a0022530. Reports that gendered wording in job recruitment materials can maintain gender inequality in traditionally male-dominated occupations.
Gawande, Atul. 2007. “The Checklist.” The New Yorker, December 10. Describes the life-saving effects of simple checklists.
Gawande, Atul. 2011. “Personal Best.” The New Yorker, October 3. Describes how having a coach can improve practice in a variety of fields.
Gick, Mary L., and Keith J. Holyoak. 1987. “The Cognitive Basis of Knowledge Transfer.” In Transfer of Learning: Contemporary Research and Applications, edited by S. J. Cormier and J. D. Hagman. Elsevier. https://doi.org/10.1016/b978-0-12-188950-0.50008-4. Finds that transference only comes with mastery.
Gormally, Cara, Mara Evans, and Peggy Brickman. 2014. “Feedback about Teaching in Higher Ed: Neglected Opportunities to Promote Change.” Cell Biology Education 13 (2): 187–99. https://doi.org/10.1187/cbe.13-12-0235. Summarizes best practices for providing instructional feedback, and recommends some specific strategies.
Green, Elizabeth. 2014. Building a Better Teacher: How Teaching Works (and How to Teach It to Everyone). W. W. Norton & Company. ISBN 0393351084. Explains why educational reforms in the past fifty years has mostly missed the mark, and what we should do instead.
Griffin, Jean M. 2016. “Learning by Taking Apart.” 2016 Conference on Information Technology Education (SIGITE’16). https://doi.org/10.1145/2978192.2978231. Reports that people learn to program more quickly by deconstructing code than by writing it.
Grover, Shuchi, and Satabdi Basu. 2017. “Measuring Student Learning in Introductory Block-Based Programming.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017723. Reports that middle-school children using blocks-based programming find loops, variables, and Boolean operators difficult to understand.
Gulley, Ned. 2004. “In Praise of Tweaking.” Interactions 11 (3): 18. https://doi.org/10.1145/986253.986264. Describes an innovative collaborative coding contest.
Guo, Philip J. 2013. “Online Python Tutor.” 2013 Technical Symposium on Computer Science Education (SIGCSE’13). https://doi.org/10.1145/2445196.2445368. Describes the design and use of a web-based execution visualization tool.
Guo, Philip J., Juho Kim, and Rob Rubin. 2014. “How Video Production Affects Student Engagement.” 2014 Conference on Learning @ Scale (L@S’14). https://doi.org/10.1145/2556325.2566239. Measured learner engagement with MOOC videos and reports that short videos are more engaging than long ones and that talking heads are more engaging than tablet drawings.
Guzdial, Mark. 2013. “Exploring Hypotheses about Media Computation.” 2013 International Computing Education Research Conference (ICER’13). https://doi.org/10.1145/2493394.2493397. A look back on ten years of media computation research.
Guzdial, Mark. 2015a. Learner-Centered Design of Computing Education: Research on Computing for Everyone. Morgan & Claypool Publishers. ISBN 9781627053518. Argues that we must design computing education for everyone, not just people who think they are going to become professional programmers.
Guzdial, Mark. 2015b. Top 10 Myths about Teaching Computer Science. Https://cacm.acm.org/blogs/blog-cacm/189498-top-10-myths-about-teaching-computer-science/fulltext. Ten things many people believe about teaching computing that simply aren’t true.
Guzdial, Mark. 2016. Five Principles for Programming Languages for Learners. Https://cacm.acm.org/blogs/blog-cacm/203554-five-principles-for-programming-languages-for-learners/fulltext. Explains how to choose a programming language for people who are new to programming.
Hagger, M. S., N. L. D. Chatzisarantis, H. Alberts, et al. 2016. “A Multilab Preregistered Replication of the Ego-Depletion Effect.” Perspectives on Psychological Science 11 (4): 546–73. https://doi.org/10.1177/1745691616652873. A meta-analysis that found insufficient evidence to substantiate the ego depletion effect.
Hake, Richard R. 1998. “Interactive Engagement Versus Traditional Methods: A Six-Thousand-Student Survey of Mechanics Test Data for Introductory Physics Courses.” American Journal of Physics 66 (1): 64–74. https://doi.org/10.1119/1.18809. Reports the use of a concept inventory to measure the benefits of interactive engagement as a teaching technique.
Hamouda, Sally, Stephen H. Edwards, Hicham G. Elmongui, Jeremy V. Ernst, and Clifford A. Shaffer. 2017. “A Basic Recursion Concept Inventory.” Computer Science Education 27 (2): 121–48. https://doi.org/10.1080/08993408.2017.1414728. Reports early work on developing a concept inventory for recursion.
Hannay, Jo Erskine, Erik Arisholm, Harald Engvik, and Dag I. K. Sjøberg. 2010. “Effects of Personality on Pair Programming.” IEEE Transactions on Software Engineering 36 (1): 61–80. https://doi.org/10.1109/tse.2009.41. Reports weak correlation between the “Big Five” personality traits and performance in pair programming.
Hannay, Jo Erskine, Tore Dybå, Erik Arisholm, and Dag I. K. Sjøberg. 2009. “The Effectiveness of Pair Programming: A Meta-Analysis.” Information and Software Technology 51 (7): 1110–22. https://doi.org/10.1016/j.infsof.2009.02.001. A comprehensive meta-analysis of research on pair programming.
Hansen, John D., and Justin Reich. 2015. “Democratizing Education? Examining Access and Usage Patterns in Massive Open Online Courses.” Science 350 (6265): 1245–48. https://doi.org/10.1126/science.aab3782. Reports that MOOCs are mostly used by the affluent.
Harms, Kyle James, Jason Chen, and Caitlin L. Kelleher. 2016. “Distractors in Parsons Problems Decrease Learning Efficiency for Young Novice Programmers.” 2016 International Computing Education Research Conference (ICER’16). https://doi.org/10.1145/2960310.2960314. Shows that adding distractors to Parsons Problems does not improve learning outcomes but increases solution times.
Harrington, Brian, and Nick Cheng. 2018. “Tracing Vs. Writing Code: Beyond the Learning Hierarchy.” 2018 Technical Symposium on Computer Science Education (SIGCSE’18). https://doi.org/10.1145/3159450.3159530. Finds that the gap between being able to trace code and being able to write it has largely closed by CS2, and that students who still have a gap (in either direction) are likely to do poorly in the course.
Hazzan, Orit, Tami Lapidot, and Noa Ragonis. 2014. Guide to Teaching Computer Science: An Activity-Based Approach. Second. Springer. ISBN 9781447166290. A textbook for teaching computer science at the K-12 level with dozens of activities.
Henderson, Charles, Renée Cole, Jeff Froyd, Debra Friedrichsen, Raina Khatri, and Courtney Stanford. 2015. Designing Educational Innovations for Sustained Adoption. Increase the Impact. ISBN 0996835210. A detailed analysis of strategies for getting institutions in higher education to make changes.
Hendrick, Carl, and Robin Macpherson. 2017. What Does This Look Like in the Classroom?: Bridging the Gap Between Research and Practice. John Catt Educational. ISBN 9781911382379. A collection of responses by educational experts to questions asked by classroom teachers, with prefaces by the authors.
Henrich, Joseph, Steven J. Heine, and Ara Norenzayan. 2010. “The Weirdest People in the World?” Behavioral and Brain Sciences 33 (2-3): 61–83. https://doi.org/10.1017/s0140525x0999152x. Points out that the subjects of most published psychological studies are Western, educated, industrialized, rich, and democratic.
Hestenes, David, Malcolm Wells, and Gregg Swackhamer. 1992. “Force Concept Inventory.” The Physics Teacher 30 (3): 141–58. https://doi.org/10.1119/1.2343497. Describes the Force Concept Inventory’s motivation, design, and impact.
Hicks, Marie. 2018. Programmed Inequality: How Britain Discarded Women Technologists and Lost Its Edge in Computing. MIT Press. ISBN 9780262535182. Describes how Britain lost its early dominance in computing by systematically discriminating against its most qualified workers: women.
Hofmeister, Johannes, Janet Siegmund, and Daniel V. Holt. 2017. “Shorter Identifier Names Take Longer to Comprehend.” 2017 Conference on Software Analysis, Evolution and Reengineering (SANER’17), February. https://doi.org/10.1109/saner.2017.7884623. Reports that using words for variable names makes comprehension faster than using abbreviations or single-letter names for variables.
Hollingsworth, Jack. 1960. “Automatic Graders for Programming Classes.” Communications of the ACM 3 (10): 528–29. https://doi.org/10.1145/367415.367422. A brief note describing what may have been the world’s first auto-grader.
Hu, Helen H., Cecily Heiner, Thomas Gagne, and Carl Lyman. 2017. “Building a Statewide Computer Science Teacher Pipeline.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017788. Reports that a six-month program for high school teachers converting to teach CS quadruples the number of teachers without noticeable reduction of student outcomes and increases teachers’ belief that anyone can program.
Huston, Therese. 2012. Teaching What You Don’t Know. Harvard University Press. ISBN 0674066170. A pointed, funny, and very useful exploration of exactly what the title says.
Ihantola, Petri, and Ville Karavirta. 2011. “Two-Dimensional Parson’s Puzzles: The Concept, Tools, and First Observations.” Journal of Information Technology Education: Innovations in Practice 10: 119–32. https://doi.org/10.28945/1394. Describes a 2D Parsons Problem tool and early experiences with it that confirm that experts solve outside-in rather than line-by-line.
Ihantola, Petri, Kelly Rivers, Miguel Ángel Rubio, et al. 2016. “Educational Data Mining and Learning Analytics in Programming: Literature Review and Case Studies.” 2016 Conference on Innovation and Technology in Computer Science Education (ITiCSE’16). https://doi.org/10.1145/2858796.2858798. A survey of methods used in mining and analyzing programming data.
IJsselsteijn, Wijnand A., Huib de Ridder, Jonathan Freeman, and Steve E. Avons. 2000. “Presence: Concept, Determinants, and Measurement.” In 2000 Conference on Human Vision and Electronic Imaging, edited by Bernice E. Rogowitz and Thrasyvoulos N. Pappas. SPIE. https://doi.org/10.1117/12.387188. Summarizes thinking of the time about real and virtual presence.
Iriberri, Alicia, and Gondy Leroy. 2009. “A Life-Cycle Perspective on Online Community Success.” ACM Computing Surveys 41 (2): 1–29. https://doi.org/10.1145/1459352.1459356. Reviews research on online communities organized according to a five-stage lifecycle model.
Kalyuga, Slava, Paul Ayres, Paul Chandler, and John Sweller. 2003. “The Expertise Reversal Effect.” Educational Psychologist 38 (1): 23–31. https://doi.org/10.1207/s15326985ep3801_4. Reports that instructional techniques that work well with inexperienced learners lose their effectiveness or have negative consequences when used with more experienced learners.
Kalyuga, Slava, and Anne-Marie Singh. 2015. “Rethinking the Boundaries of Cognitive Load Theory in Complex Learning.” Educational Psychology Review 28 (4): 831–52. https://doi.org/10.1007/s10648-015-9352-0. Argues that cognitive load theory is basically micro-management within a broader pedagogical context.
Kang, Sean H. K. 2016. “Spaced Repetition Promotes Efficient and Effective Learning.” Policy Insights from the Behavioral and Brain Sciences 3 (1): 12–19. https://doi.org/10.1177/2372732215624708. Summarizes research on spaced repetition and what it means for classroom teaching.
Kapur, Manu. 2016. “Examining Productive Failure, Productive Success, Unproductive Failure, and Unproductive Success in Learning.” Educational Psychologist 51 (2): 289–99. https://doi.org/10.1080/00461520.2016.1155457. Looks at productive failure as an alternative to inquiry-based learning and approaches based on cognitive load theory.
Karpicke, Jeffrey D., and Henry L. Roediger. 2008. “The Critical Importance of Retrieval for Learning.” Science 319 (5865): 966–68. https://doi.org/10.1126/science.1152408. Reports that repeated testing improves recall of word lists from 35% to 80%, even when learners can still access the material but are not tested on it.
Kaufman, Deborah B., and Richard M. Felder. 2000. “Accounting for Individual Effort in Cooperative Learning Teams.” Journal of Engineering Education 89 (2). Reports that self-rating and peer ratings in undergraduate courses agree, that collusion isn’t significant, that students don’t inflate their self-ratings, and that ratings are not biased by gender or race.
Keppens, Jeroen, and David Hay. 2008. “Concept Map Assessment for Teaching Computer Programming.” Computer Science Education 18 (1): 31–42. https://doi.org/10.1080/08993400701864880. A short review of ways concept mapping can be used in CS education.
Kernighan, Brian W., and Rob Pike. 1999. The Practice of Programming. Addison-Wesley. ISBN 9788177582482. A programming style manual written by two of the creators of modern computing.
Kernighan, Brian W., and P. J. Plauger. 1978. The Elements of Programming Style. Second. McGraw-Hill. ISBN 0070342075. An early and influential description of the Unix programming philosophy.
Keuning, Hieke, Johan Jeuring, and Bastiaan Heeren. 2016. “Towards a Systematic Review of Automated Feedback Generation for Programming Exercises.” 2016 Conference on Innovation and Technology in Computer Science Education (ITiCSE’16). https://doi.org/10.1145/2899415.2899422. Reports that auto-grading tools often do not give feedback on what to do next, and that teachers cannot easily adapt most of the tools to their needs.
Kim, Ada S., and Amy J. Ko. 2017. “A Pedagogical Analysis of Online Coding Tutorials.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017728. Reports that online coding tutorials largely teach similar content, organize content bottom-up, and provide goal-directed practices with immediate feedback, but are not tailored to learners’ prior coding knowledge and usually don’t tell learners how to transfer and apply knowledge.
King, Alison. 1993. “From Sage on the Stage to Guide on the Side.” College Teaching 41 (1): 30–35. https://doi.org/10.1080/87567555.1993.9926781. An early proposal to flip the classroom.
Kirkpatrick, Donald L. 1994. Evaluating Training Programs: The Four Levels. Berrett-Koehle. ISBN 1881052494. Defines a widely-used four-level model for evaluating training.
Kirschner, Paul A., John Sweller, and Richard E. Clark. 2006. “Why Minimal Guidance During Instruction Does Not Work: An Analysis of the Failure of Constructivist, Discovery, Problem-Based, Experiential, and Inquiry-Based Teaching.” Educational Psychologist 41 (2): 75–86. https://doi.org/10.1207/s15326985ep4102_1. Argues that inquiry-based learning is less effective for novices than guided instruction.
Kirschner, Paul A., John Sweller, Femke Kirschner, and Jimmy Zambrano R. 2018. “From Cognitive Load Theory to Collaborative Cognitive Load Theory.” International Journal of Computer-Supported Collaborative Learning, ahead of print, April. https://doi.org/10.1007/s11412-018-9277-y. Extends cognitive load theory to include collaborative aspects of learning.
Kirschner, Paul A., and Jeroen J. G. van Merriënboer. 2013. “Do Learners Really Know Best? Urban Legends in Education.” Educational Psychologist 48 (3): 169–83. https://doi.org/10.1080/00461520.2013.804395. Argues that three learning myths—digital natives, learning styles, and self-educators—all reflect the mistaken belief that learners know what is best for them, and cautions that we may be in a downward spiral in which every attempt by education researchers to rebut these myths confirms their opponents’ belief that learning science is pseudo-science.
Koedinger, Kenneth R., Jihee Kim, Julianna Zhuxin Jia, Elizabeth A. McLaughlin, and Norman L. Bier. 2015. “Learning Is Not a Spectator Sport: Doing Is Better Than Watching for Learning from a MOOC.” 2015 Conference on Learning @ Scale (L@S’15). https://doi.org/10.1145/2724660.2724681. Measures the benefits of doing rather than watching.
Koehler, Matthew J., Punya Mishra, and William Cain. 2013. “What Is Technological Pedagogical Content Knowledge (TPACK)?” Journal of Education 193 (3): 13–19. https://doi.org/10.1177/002205741319300303. Refines the discussion of PCK by adding technology, and sketches strategies for building understanding of how to use it.
Kohn, Tobias. 2017. “Variable Evaluation: An Exploration of Novice Programmers’ Understanding and Common Misconceptions.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017724. Reports that students often believe in delayed evaluation or that entire equations are stored in variables.
Kölling, Michael. 2015. “Lessons from the Design of Three Educational Programming Environments.” International Journal of People-Oriented Programming 4 (1): 5–32. https://doi.org/10.4018/ijpop.2015010102. Compares three generations of programming environments intended for novice use.
Kraut, Robert E., and Paul Resnick. 2016. Building Successful Online Communities: Evidence-Based Social Design. MIT Press. ISBN 0262528916. Sums up what we actually know about making thriving online communities and why we believe it’s true.
Kruger, Justin, and David Dunning. 1999. “Unskilled and Unaware of It: How Difficulties in Recognizing One’s Own Incompetence Lead to Inflated Self-Assessments.” Journal of Personality and Social Psychology 77 (6): 1121–34. https://doi.org/10.1037/0022-3514.77.6.1121. The original report on the Dunning-Kruger effect: the less people know, the less accurate their estimate of their knowledge.
Kuchner, Marc J. 2011. Marketing for Scientists: How to Shine in Tough Times. Island Press. ISBN 1597269948. A short, readable guide to making people aware of, and care about, your work.
Kuittinen, Marja, and Jorma Sajaniemi. 2004. “Teaching Roles of Variables in Elementary Programming Courses.” ACM SIGCSE Bulletin 36 (3): 57. https://doi.org/10.1145/1026487.1008014. Presents a few patterns used in novice programming and the pedagogical value of teaching them.
Kulkarni, Chinmay, Koh Pang Wei, Huy Le, et al. 2013. “Peer and Self Assessment in Massive Online Classes.” ACM Transactions on Computer-Human Interaction 20 (6): 1–31. https://doi.org/10.1145/2505057. Shows that peer grading can be as effective at scale as expert grading.
Labaree, David F. 2008. “The Winning Ways of a Losing Strategy: Educationalizing Social Problems in the United States.” Educational Theory 58 (4): 447–60. https://doi.org/10.1111/j.1741-5446.2008.00299.x. Explores why the United States keeps pushing the solution of social problems onto educational institutions, and why that continues not to work.
Lachney, Michael. 2018. “Computational Communities: African-American Cultural Capital in Computer Science Education.” Computer Science Education, February, 1–22. https://doi.org/10.1080/08993408.2018.1429062. Explores use of community representation and computational integration to bridge computing and African-American cultural capital in CS education.
Lang, James M. 2013. Cheating Lessons: Learning from Academic Dishonesty. Harvard University Press. ISBN 0674724631. Explores why students cheat, and how courses often give them incentives to do so.
Lang, James M. 2016. Small Teaching: Everyday Lessons from the Science of Learning. Jossey-Bass. ISBN 9781118944493. Presents a selection of accessible evidence-based practices that teachers can adopt when they have little time and few resources.
Lazonder, Ard W., and Hans van der Meij. 1993. “The Minimal Manual: Is Less Really More?” International Journal of Man-Machine Studies 39 (5): 729–52. https://doi.org/10.1006/imms.1993.1081. Reports that the minimal manual approach to instruction outperforms traditional approaches regardless of prior experience with computers.
Leake, Mackenzie, and Colleen M. Lewis. 2017. “Recommendations for Designing CS Resource Sharing Sites for All Teachers.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017780. Explores why CS teachers don’t use resource sharing sites and recommends ways to make them more appealing.
Lee, Cynthia Bailey. 2013. “Experience Report: CS1 in MATLAB for Non-Majors, with Media Computation and Peer Instruction.” 2013 Technical Symposium on Computer Science Education (SIGCSE’13). https://doi.org/10.1145/2445196.2445214. Describes an adaptation of media computation to a first-year MATLAB course.
Lee, Cynthia Bailey. 2017. What Can i Do Today to Create a More Inclusive Community in CS? Http://bit.ly/2oynmSH. A practical checklist of things instructors can do to make their computing classes more inclusive.
Lewis, Colleen M., and Niral Shah. 2015. “How Equity and Inequity Can Emerge in Pair Programming.” 2015 International Computing Education Research Conference (ICER’15). https://doi.org/10.1145/2787622.2787716. Reports a study of pair programming in a middle-grade classroom in which less equitable pairs were ones that sought to complete the task quickly.
Lister, Raymond, Otto Seppälä, Beth Simon, et al. 2004. “A Multi-National Study of Reading and Tracing Skills in Novice Programmers.” 2004 Conference on Innovation and Technology in Computer Science Education (ITiCSE’04). https://doi.org/10.1145/1044550.1041673. Reports that students are weak at both predicting the outcome of executing a short piece of code and at selecting the correct completion for short pieces of code.
Littky, Dennis. 2004. The Big Picture: Education Is Everyone’s Business. Association for Supervision & Curriculum Development (ASCD). ISBN 0871209713. Essays on the purpose of education and how to make schools better.
Luxton-Reilly, Andrew. 2009. “A Systematic Review of Tools That Support Peer Assessment.” Computer Science Education 19 (4): 209–32. https://doi.org/10.1080/08993400903384844. Surveys peer assessment tools that may be of use in computing education.
Luxton-Reilly, Andrew, Jacqueline Whalley, Brett A. Becker, et al. 2017. “Developing Assessments to Determine Mastery of Programming Fundamentals.” 2017 Conference on Innovation and Technology in Computer Science Education (ITiCSE’17). https://doi.org/10.1145/3174781.3174784. Synthesizes work from many previous works to determine what CS instructors are actually teaching, how those things depend on each other, and how they might be assessed.
Macnamara, Brooke N., David Z. Hambrick, and Frederick L. Oswald. 2014. “Deliberate Practice and Performance in Music, Games, Sports, Education, and Professions: A Meta-Analysis.” Psychological Science 25 (8): 1608–18. https://doi.org/10.1177/0956797614535810. A meta-study of the effectiveness of deliberate practice.
Maguire, Phil, Rebecca Maguire, and Robert Kelly. 2018. “Using Automatic Machine Assessment to Teach Computer Programming.” Computer Science Education, February, 1–18. https://doi.org/10.1080/08993408.2018.1435113. Reports that weekly machine-evaluated tests are a better predictor of exam scores than labs (but that students didn’t like the system).
Maloney, John, Mitchel Resnick, Natalie Rusk, Brian Silverman, and Evelyn Eastmond. 2010. “The Scratch Programming Language and Environment.” ACM Transactions on Computing Education 10 (4): 1–15. https://doi.org/10.1145/1868358.1868363. Summarizes the design of the first generation of Scratch.
Manns, Mary Lynn, and Linda Rising. 2015. Fearless Change: Patterns for Introducing New Ideas. Addison-Wesley. ISBN 9780201741575. A catalog of patterns for making change happen in large organizations.
Marceau, Guillaume, Kathi Fisler, and Shriram Krishnamurthi. 2011. “Measuring the Effectiveness of Error Messages Designed for Novice Programmers.” 2011 Technical Symposium on Computer Science Education (SIGCSE’11). https://doi.org/10.1145/1953163.1953308. Looks at edit-level responses to error messages, and introduces a useful rubric for classifying user responses to errors.
Margaryan, Anoush, Manuela Bianco, and Allison Littlejohn. 2015. “Instructional Quality of Massive Open Online Courses (MOOCs).” Computers & Education 80 (January): 77–83. https://doi.org/10.1016/j.compedu.2014.08.005. Reports that instructional design quality in MOOCs poor, but that the organization and presentation of material is good.
Margolis, Jane, Rachel Estrella, Joanna Goode, Jennifer Jellison Holme, and Kim Nao. 2010. Stuck in the Shallow End: Education, Race, and Computing. MIT Press. ISBN 0262514044. Dissects the school structures and belief systems that lead to under-representation of African American and Latinx students in computing.
Margolis, Jane, and Allan Fisher. 2003. Unlocking the Clubhouse: Women in Computing. MIT Press. ISBN 0262632691. A groundbreaking report on the gender imbalance in computing, and the steps Carnegie Mellon took to address the problem.
Margulieux, Lauren E., Richard Catrambone, and Mark Guzdial. 2016. “Employing Subgoals in Computer Programming Education.” Computer Science Education 26 (1): 44–67. https://doi.org/10.1080/08993408.2016.1144429. Reports that labelled subgoals improve learning outcomes in introductory computing courses.
Margulieux, Lauren E., Mark Guzdial, and Richard Catrambone. 2012. “Subgoal-Labeled Instructional Material Improves Performance and Transfer in Learning to Develop Mobile Applications.” 2012 International Computing Education Research Conference (ICER’12), 71–78. https://doi.org/10.1145/2361276.2361291. Reports that labelled subgoals improve outcomes and transference when learning about mobile app development.
Markovits, Rebecca A., and Yana Weinstein. 2018. “Can Cognitive Processes Help Explain the Success of Instructional Techniques Recommended by Behavior Analysts?” NPJ Science of Learning 3 (1). https://doi.org/10.1038/s41539-017-0018-1. Points out that behavioralists and cognitive psychologists differ in approach, but wind up making very similar recommendations about how to teach, and gives two specific examples.
Marsh, Herbert W., and John Hattie. 2002. “The Relation Between Research Productivity and Teaching Effectiveness: Complementary, Antagonistic, or Independent Constructs?” Journal of Higher Education 73 (5): 603–41. https://doi.org/10.1353/jhe.2002.0047. One study of many showing there is zero correlation between research ability and teaching effectiveness.
Masapanta-Carrión, Susana, and J. Ángel Velázquez-Iturbide. 2018. “A Systematic Review of the Use of Bloom’s Taxonomy in Computer Science Education.” 2018 Technical Symposium on Computer Science Education (SIGCSE’18). https://doi.org/10.1145/3159450.3159491. Reports that even experienced educators have trouble agreeing on the correct classification for a question or idea using Bloom’s Taxonomy.
Mason, Raina, Carolyn Seton, and Graham Cooper. 2016. “Applying Cognitive Load Theory to the Redesign of a Conventional Database Systems Course.” Computer Science Education 26 (1): 68–87. https://doi.org/10.1080/08993408.2016.1160597. Reports how redesigning a database course using cognitive load theory reduced exam failure rate while increasing student satisfaction.
Matthes, Eric. 2019. Python Flash Cards: Syntax, Concepts, and Examples. No Starch Press. ISBN 978-1593278960. Handy flashcards summarizing the core of Python 3.
Mayer, Richard E. 2004. “Teaching of Subject Matter.” Annual Review of Psychology 55 (1): 715–44. https://doi.org/10.1146/annurev.psych.55.082602.133124. An overview of how and why teaching and learning are subject-specific.
Mayer, Richard E. 2009. Multimedia Learning. Second. Cambridge University Press. ISBN 9780521735353. Presents a cognitive theory of multimedia learning.
Mayer, Richard E., and Roxana Moreno. 2003. “Nine Ways to Reduce Cognitive Load in Multimedia Learning.” Educational Psychologist 38 (1): 43–52. https://doi.org/10.1207/s15326985ep3801_6. Shows how research into how we absorb and process information can be applied to the design of instructional materials.
Mazur, Eric. 1996. Peer Instruction: A User’s Manual. Prentice-Hall. A guide to implementing peer instruction.
McCauley, Renée, Sue Fitzgerald, Gary Lewandowski, et al. 2008. “Debugging: A Review of the Literature from an Educational Perspective.” Computer Science Education 18 (2): 67–92. https://doi.org/10.1080/08993400802114581. Summarizes research about why bugs occur, why types there are, how people debug, and whether we can teach debugging skills.
McCracken, Michael, Tadeusz Wilusz, Vicki Almstrum, et al. 2001. “A Multi-National, Multi-Institutional Study of Assessment of Programming Skills of First-Year CS Students.” 2001 Conference on Innovation and Technology in Computer Science Education (ITiCSE’01). https://doi.org/10.1145/572133.572137. Reports that most students still struggle to solve even basic programming problems at the end of their introductory course.
McDowell, Charlie, Linda Werner, Heather E. Bullock, and Julian Fernald. 2006. “Pair Programming Improves Student Retention, Confidence, and Program Quality.” Communications of the ACM 49 (8): 90–95. https://doi.org/10.1145/1145287.1145293. A summary of research showing that pair programming improves retention and confidence.
McGuire, Saundra Yancey. 2015. Teach Students How to Learn: Strategies You Can Incorporate into Any Course to Improve Student Metacognition, Study Skills, and Motivation. Stylus Publishing. ISBN 162036316X. Explains how metacognitive strategies can improve learning.
McMillan Cottom, Tressie. 2017. Lower Ed: The Troubling Rise of for-Profit Colleges in the New Economy. The New Press. ISBN 1620970600. Lays bare the dynamics of the growing educational industry to show how it leads to greater inequality rather than less.
McTighe, Jay, and Grant Wiggins. 2013. Understanding by Design Framework. Http://www.ascd.org/ASCD/pdf/siteASCD/publications/UbD_WhitePaper0312.pdf; Association for Supervision & Curriculum Development (ASCD). Summarizes the backward instructional design process.
Metcalfe, Janet. 2016. “Learning from Errors.” Annual Review of Psychology 68 (1): 465–89. https://doi.org/10.1146/annurev-psych-010416-044022. Summarizes work on the hypercorrection effect in learning.
Miller, Craig S., and Amber Settle. 2016. “Some Trouble with Transparency: An Analysis of Student Errors with Object-Oriented Python.” 2016 International Computing Education Research Conference (ICER’16). https://doi.org/10.1145/2960310.2960327. Reports that students have difficulty with self in Python.
Miller, David I., and Jonathan Wai. 2015. “The Bachelor’s to Ph.d. STEM Pipeline No Longer Leaks More Women Than Men: A 30-Year Analysis.” Frontiers in Psychology 6 (February). https://doi.org/10.3389/fpsyg.2015.00037. Shows that the “leaky pipeline” metaphor stopped being accurate some time in the 1990s.
Miller, George A. 1956. “The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information.” Psychological Review 63 (2): 81–97. https://doi.org/10.1037/h0043158. The original paper on the limited size of short-term memory.
Miller, Kelly, Nathaniel Lasry, Kelvin Chu, and Eric Mazur. 2013. “Role of Physics Lecture Demonstrations in Conceptual Learning.” Physical Review Special Topics - Physics Education Research 9 (2). https://doi.org/10.1103/physrevstper.9.020113. Reports a detailed study of what students learn during demonstrations and why.
Miller, Michelle D. 2016. Minds Online: Teaching Effectively with Technology. Harvard University Press. ISBN 0674660021. Describes ways that insights from neuroscience can be used to improve online teaching.
Miltner, Kate M. 2018. “Girls Who Coded: Gender in Twentieth Century U.K. And U.S. Computing.” Science, Technology, & Human Values, ahead of print, May. https://doi.org/10.1177/0162243918770287. A review of three books about how women were systematically pushed out of computing.
Minahan, Anne. 1986. “Martha’s Rules.” Affilia 1 (2): 53–56. https://doi.org/10.1177/088610998600100206. Describes a lightweight set of rules for consensus-based decision making.
Morehead, Kayla, John Dunlosky, and Katherine A. Rawson. 2019. “How Much Mightier Is the Pen Than the Keyboard for Note-Taking? A Replication and Extension of Mueller and Oppenheimer (2014).” Educational Psychology Review, ahead of print, February. https://doi.org/10.1007/s10648-019-09468-2. Reports a failure to replicate an earlier study comparing note-taking by hand and with computers.
Mueller, Pam A., and Daniel M. Oppenheimer. 2014. “The Pen Is Mightier Than the Keyboard.” Psychological Science 25 (6): 1159–68. https://doi.org/10.1177/0956797614524581. Presents evidence that taking notes by hand is more effective than taking notes on a laptop.
Muller, Derek A., James Bewes, Manjula D. Sharma, and Peter Reimann. 2007. “Saying the Wrong Thing: Improving Learning with Multimedia by Including Misconceptions.” Journal of Computer Assisted Learning 24 (2): 144–55. https://doi.org/10.1111/j.1365-2729.2007.00248.x. Reports that including explicit discussion of misconceptions significantly improves learning outcomes: students with low prior knowledge benefit most and students with more prior knowledge are not disadvantaged.
Muller, Orna, David Ginat, and Bruria Haberman. 2007. “Pattern-Oriented Instruction and Its Influence on Problem Decomposition and Solution Construction.” 2007 Technical Symposium on Computer Science Education (SIGCSE’07). https://doi.org/10.1145/1268784.1268830. Reports that explicitly teaching solution patterns improves learning outcomes.
Narayanan, Sathya, Kathryn Cunningham, Sonia Arteaga, et al. 2018. “Upward Mobility for Underrepresented Students.” 2018 Technical Symposium on Computer Science Education (SIGCSE’18). https://doi.org/10.1145/3159450.3159551. Describes an intensive 3-year bachelor’s program based on tight-knit cohorts and administrative support that tripled graduation rates.
Nathan, Mitchell J., and Anthony Petrosino. 2003. “Expert Blind Spot Among Preservice Teachers.” American Educational Research Journal 40 (4): 905–28. https://doi.org/10.3102/00028312040004905. Early work on expert blind spot.
National Academies of Sciences, Engineering, and Medicine. 2018. How People Learn II: Learners, Contexts, and Cultures. National Academies Press. ISBN 978-0309459648. A comprehensive survey of what we know about learning.
Nordmann, Emily, Colin Calder, Paul Bishop, Amy Irwin, and Darren Comber. 2017. Turn up, Tune in, Don’t Drop Out: The Relationship Between Lecture Attendance, Use of Lecture Recordings, and Achievement at Different Levels of Study. Https://psyarxiv.com/fd3yj. https://doi.org/10.17605/OSF.IO/FD3YJ. Reports on the pros and cons of recording lectures.
Nutbrown, Stephen, and Colin Higgins. 2016. “Static Analysis of Programming Exercises: Fairness, Usefulness and a Method for Application.” Computer Science Education 26 (2-3): 104–28. https://doi.org/10.1080/08993408.2016.1179865. Describes ways auto-grader rules were modified and grades weighted to improve correlation between automatic feedback and manual grades.
Nuthall, Graham. 2007. The Hidden Lives of Learners. NZCER Press. ISBN 1877398241. Summarizes a lifetime of work looking at what students actually do in classrooms and how they actually learn.
Ojose, Bobby. 2015. Common Misconceptions in Mathematics: Strategies to Correct Them. UPA. ISBN 0761858857. A catalog of K-12 misconceptions in mathematics and what to do about them.
Orndorff III, Harold N. 2015. “Collaborative Note-Taking: The Impact of Cloud Computing on Classroom Performance.” International Journal of Teaching and Learning in Higher Education 27 (3): 340–51. Reports that taking notes together online is more effective than solo note-taking.
Ostrom, Elinor. 2015. Governing the Commons: The Evolution of Institutions for Collective Action. Cambridge University Press. ISBN 978-1107569782. A masterful description and analysis of cooperative governance.
Papert, Seymour A. 1993. Mindstorms: Children, Computers, and Powerful Ideas. Second. Basic Books. ISBN 0465046746. The foundational text on how computers can underpin a new kind of education.
Paré, Dwayne E., and Steve Joordens. 2008. “Peering into Large Lectures: Examining Peer and Expert Mark Agreement Using peerScholar, an Online Peer Assessment Tool.” Journal of Computer Assisted Learning 24 (6): 526–40. https://doi.org/10.1111/j.1365-2729.2008.00290.x. Shows that peer grading by small groups can be as effective as expert grading once accountability features are introduced.
Park, Thomas H., Brian Dorn, and Andrea Forte. 2015. “An Analysis of HTML and CSS Syntax Errors in a Web Development Course.” ACM Transactions on Computing Education 15 (1): 1–21. https://doi.org/10.1145/2700514. Describes the errors students make in an introductory course on HTML and CSS.
Parker, Miranda C., Mark Guzdial, and Shelly Engleman. 2016. “Replication, Validation, and Use of a Language Independent CS1 Knowledge Assessment.” 2016 International Computing Education Research Conference (ICER’16). https://doi.org/10.1145/2960310.2960316. Describes construction and replication of a second concept inventory for basic computing knowledge.
Parnas, David Lorge, and Paul C. Clements. 1986. “A Rational Design Process: How and Why to Fake It.” IEEE Transactions on Software Engineering SE-12 (2): 251–57. https://doi.org/10.1109/tse.1986.6312940. Argues that using a rational design process is less important than looking as though you had.
Parnin, Chris, Janet Siegmund, and Norman Peitek. 2017. “On the Nature of Programmer Expertise.” Psychology of Programming Interest Group Workshop 2017. An annotated exploration of what “expertise” means in programming.
Parsons, Dale, and Patricia Haden. 2006. Parson’s Programming Puzzles: A Fun and Effective Learning Tool for First Programming Courses.” 2006 Australasian Conference on Computing Education (ACE’06), 157–63. The first description of Parson’s Problems.
Partanen, Anu. 2011. What Americans Keep Ignoring about Finland’s School Success. Https://www.theatlantic.com/national/archive/2011/12/what-americans-keep-ignoring-about-finlands-school-success/250564/. Explains that other countries struggle to replicate the success of Finland’s schools because they’re unwilling to tackle larger social factors.
Patitsas, Elizabeth, Jesse Berlin, Michelle Craig, and Steve Easterbrook. 2016. “Evidence That Computer Science Grades Are Not Bimodal.” 2016 International Computing Education Research Conference (ICER’16). https://doi.org/10.1145/2960310.2960312. Presents a statistical analysis and an experiment which jointly show that grades in computing classes are not bimodal.
Pea, Roy D. 1986. “Language-Independent Conceptual ‘Bugs’ in Novice Programming.” Journal of Educational Computing Research 2 (1): 25–36. https://doi.org/10.2190/689t-1r2a-x4w4-29j2. First named the "superbug" in coding: most newcomers think the computer understands what they want, in the same way that a human being would.
Petre, Marian, and André van der Hoek. 2016. Software Design Decoded: 66 Ways Experts Think. MIT Press. ISBN 0262035189. A short illustrated overview of how expert software developers think.
Pigni, Alessandra. 2016. The Idealist’s Survival Kit: 75 Simple Ways to Prevent Burnout. Parallax Press. ISBN 1941529348. A guide to staying sane and healthy while doing good.
Porter, Leo, Dennis Bouvier, Quintin Cutts, et al. 2016. “A Multi-Institutional Study of Peer Instruction in Introductory Computing.” 2016 Technical Symposium on Computer Science Education (SIGCSE’16). https://doi.org/10.1145/2839509.2844642. Reports that students in introductory programming classes value peer instruction, and that it improves learning outcomes.
Qian, Yizhou, and James Lehman. 2017. “Students’ Misconceptions and Other Difficulties in Introductory Programming.” ACM Transactions on Computing Education 18 (1): 1–24. https://doi.org/10.1145/3077618. Summarizes research on student misconceptions about computing.
Ragonis, Noa, and Ronit Shmallo. 2017. “On the (Mis)understanding of the This Reference.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017715. Reports that most students do not understood when to use this, and that teachers are also often not clear on the subject.
Raj, Adalbert Gerald Soosai, Jignesh M. Patel, Richard Halverson, and Erica Rosenfeld Halverson. 2018. “Role of Live-Coding in Learning Introductory Programming.” 2018 Koli Calling International Conference on Computing Education Research (Koli’18). https://doi.org/10.1145/3279720.3279725. A grounded theory analysis of live coding that includes references to previous works.
Rawson, Katherine A., Ruthann C. Thomas, and Larry L. Jacoby. 2014. “The Power of Examples: Illustrative Examples Enhance Conceptual Learning of Declarative Concepts.” Educational Psychology Review 27 (3): 483–504. https://doi.org/10.1007/s10648-014-9273-3. Reports that presenting examples helps students understand definitions, so long as examples and definitions are interleaved.
Ray, Eric J., and Deborah S. Ray. 2014. Unix and Linux: Visual QuickStart Guide. Fifth. Peachpit Press. ISBN 0321997549. An introduction to Unix that is both a good tutorial and a good reference guide.
Rich, Kathryn M., Carla Strickland, T. Andrew Binkowski, Cheryl Moran, and Diana Franklin. 2017. “K-8 Learning Trajectories Derived from Research Literature.” 2017 International Computing Education Research Conference (ICER’17). https://doi.org/10.1145/3105726.3106166. Presents learning trajectories for K-8 computing classes for Sequence, Repetition, and Conditions gleaned from the literature.
Roberts, Eric. 2017. Assessing and Responding to the Growth of Computer Science Undergraduate Enrollments: Annotated Findings. Http://cs.stanford.edu/people/eroberts/ResourcesForTheCSCapacityCrisis/files/AnnotatedFindings.pptx. Summarizes findings from a National Academies study about computer science enrollments.
Robinson, Evan. 2005. Why Crunch Mode Doesn’t Work: 6 Lessons. Http://www.igda.org/articles/erobinson_crunch.php; International Game Developers Association (IGDA). Summarizes research on the effects of overwork and sleep deprivation.
Rohrer, Doug, Robert F. Dedrick, and Sandra Stershic. 2015. “Interleaved Practice Improves Mathematics Learning.” Journal of Educational Psychology 107 (3): 900–908. https://doi.org/10.1037/edu0000001. Reports that interleaved practice is more effective than monotonous practice when learning.
Rubin, Marc J. 2013. “The Effectiveness of Live-Coding to Teach Introductory Programming.” 2013 Technical Symposium on Computer Science Education (SIGCSE’13), 651–56. https://doi.org/10.1145/2445196.2445388. Reports that live coding is as good as or better than using static code examples.
Rubio-Sánchez, Manuel, Päivi Kinnunen, Cristóbal Pareja-Flores, and J. Ángel Velázquez-Iturbide. 2014. “Student Perception and Usage of an Automated Programming Assessment Tool.” Computers in Human Behavior 31 (February): 453–60. https://doi.org/10.1016/j.chb.2013.04.001. Describes use of an auto-grader for student assignments.
Sahlberg, Pasi. 2015. Finnish Lessons 2.0: What Can the World Learn from Educational Change in Finland? Teachers College Press. ISBN 978-0807755853. A frank look at the success of Finland’s educational system and why other countries struggle to replicate it.
Sala, Giovanni, and Fernand Gobet. 2017. “Does Far Transfer Exist? Negative Evidence from Chess, Music, and Working Memory Training.” Current Directions in Psychological Science 26 (6): 515–20. https://doi.org/10.1177/0963721417712760. A meta-analysis showing that far transfer rarely occurs.
Sanders, Kate, Jaime Spacco, Marzieh Ahmadzadeh, et al. 2013. “The Canterbury QuestionBank: Building a Repository of Multiple-Choice CS1 and CS2 Questions.” 2013 Conference on Innovation and Technology in Computer Science Education (ITiCSE’13). https://doi.org/10.1145/2543882.2543885. Describes development of a shared question bank for introductory CS, and patterns for multiple choice questions that emerged from entries.
Scanlan, David A. 1989. “Structured Flowcharts Outperform Pseudocode: An Experimental Comparison.” IEEE Software 6 (5): 28–36. https://doi.org/10.1109/52.35587. Reports that students understand flowcharts better than pseudocode if both are equally well structured.
Schön, Donald A. 1984. The Reflective Practitioner: How Professionals Think in Action. Basic Books. ISBN 0465068782. A groundbreaking look at how professionals in different fields actually solve problems.
Schwarz, Viviane. 2013. Welcome to Your Awesome Robot. Flying Eye Books. ISBN 978-1909263000. A wonderful illustrated guide to building wearable cardboard robot suits. Not just for kids.
Scott, James C. 1987. Weapons of the Weak: Everyday Forms of Peasant Resistance. Yale University Press. ISBN 978-0300036411. Describes the techniques of evasion and resistance that the weak use to resist the strong.
Scott, James C. 1998. Seeing Like a State: How Certain Schemes to Improve the Human Condition Have Failed. Yale University Press. ISBN 0300078153. Argues that large organizations consistently prefer uniformity over productivity.
Sentance, Sue, Jane Waite, and Maria Kallia. 2019. “Teachers’ Experiences of Using PRIMM to Teach Programming in School.” 2019 Technical Symposium on Computer Science Education (SIGCSE’19). https://doi.org/10.1145/3287324.3287477. Describes PRIMM and its effectiveness.
Shapiro, Jenessa R., and Steven L. Neuberg. 2007. “From Stereotype Threat to Stereotype Threats: Implications of a Multi-Threat Framework for Causes, Moderators, Mediators, Consequences, and Interventions.” Personality and Social Psychology Review 11 (2): 107–30. https://doi.org/10.1177/1088868306294790. Explores the ways the term “stereotype threat” has been used.
Shell, Duane F., Leen-Kiat Soh, Abraham E. Flanigan, Markeya S. Peteranetz, and Elizabeth Ingraham. 2017. “Improving Students’ Learning and Achievement in CS Classrooms Through Computational Creativity Exercises That Integrate Computational and Creative Thinking.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017718. Reports that having students work in small groups on computational creativity exercises improves learning outcomes.
Sholler, Dan, Igor Steinmacher, Denae Ford, Mara Averick, Mike Hoye, and Greg Wilson. 2019. Ten Simple Rules for Helping Newcomers Become Contributors to Open Source Projects. Https://github.com/gvwilson/10-newcomers/. Evidence-based practices for helping newcomers become productive in open projects.
Singh, Vandana. 2012. “Newcomer Integration and Learning in Technical Support Communities for Open Source Software.” 2012 ACM International Conference on Supporting Group Work - GROUP’12. https://doi.org/10.1145/2389176.2389186. An early study of onboarding in open source.
Sirkiä, Teemu, and Juha Sorva. 2012. “Exploring Programming Misconceptions: An Analysis of Student Mistakes in Visual Program Simulation Exercises.” 2012 Koli Calling Conference on Computing Education Research (Koli’12). https://doi.org/10.1145/2401796.2401799. Analyzes data from student use of an execution visualization tool and classifies common mistakes.
Sisk, Victoria F., Alexander P. Burgoyne, Jingze Sun, Jennifer L. Butler, and Brooke N. Macnamara. 2018. “To What Extent and Under Which Circumstances Are Growth Mind-Sets Important to Academic Achievement? Two Meta-Analyses.” Psychological Science, March, 095679761773970. https://doi.org/10.1177/0956797617739704. Reports meta-analyses of the relationship between mind-set and academic achievement, and the effectiveness of mind-set interventions on academic achievement, and finds that overall effects are weak for both, but some results support specific tenets of the theory.
Skudder, Ben, and Andrew Luxton-Reilly. 2014. “Worked Examples in Computer Science.” 2014 Australasian Computing Education Conference, (ACE’14). A summary of research on worked examples as applied to computing education.
Smarr, Benjamin L., and Aaron E. Schirmer. 2018. “3.4 Million Real-World Learning Management System Logins Reveal the Majority of Students Experience Social Jet Lag Correlated with Decreased Performance.” Scientific Reports 8 (1). https://doi.org/10.1038/s41598-018-23044-8. Reports that students who have to work outside their natural body clock cycle do less well.
Smith, Michelle K., William B. Wood, Wendy K. Adams, et al. 2009. “Why Peer Discussion Improves Student Performance on in-Class Concept Questions.” Science 323 (5910): 122–24. https://doi.org/10.1126/science.1165919. Reports that student understanding increases during discussion in peer instruction, even when none of the students in the group initially know the right answer.
Soloway, Elliot. 1986. “Learning to Program = Learning to Construct Mechanisms and Explanations.” Communications of the ACM 29 (9): 850–58. https://doi.org/10.1145/6592.6594. Analyzes programming in terms of choosing appropriate goals and constructing plans to achieve them, and introduces the Rainfall Problem.
Soloway, Elliot, and Kate Ehrlich. 1984. “Empirical Studies of Programming Knowledge.” IEEE Transactions on Software Engineering SE-10 (5): 595–609. https://doi.org/10.1109/tse.1984.5010283. Proposes that experts have programming plans and rules of programming discourse.
Søndergaard, Harald, and Raoul A. Mulder. 2012. “Collaborative Learning Through Formative Peer Review: Pedagogy, Programs and Potential.” Computer Science Education 22 (4): 343–67. https://doi.org/10.1080/08993408.2012.728041. Surveys literature on student peer assessment, distinguishing grading and reviewing as separate forms, and summarizes features a good peer review system needs to have.
Sorva, Juha. 2013. “Notional Machines and Introductory Programming Education.” ACM Transactions on Computing Education 13 (2): 1–31. https://doi.org/10.1145/2483710.2483713. Reviews literature on programming misconceptions, and argues that instructors should address notional machines as an explicit learning objective.
Sorva, Juha. 2018. “Misconceptions and the Beginner Programmer.” In Computer Science Education: Perspectives on Teaching and Learning in School, edited by Sue Sentance, Erik Barendsen, and Carsten Schulte. Bloomsbury Press. ISBN 135005710X. Summarizes what we know about what novices misunderstand about computing.
Sorva, Juha, and Otto Seppälä. 2014. “Research-Based Design of the First Weeks of CS1.” 2014 Koli Calling Conference on Computing Education Research (Koli’14). https://doi.org/10.1145/2674683.2674690. Proposes three cognitively plausible frameworks for the design of a first CS course.
Spalding, Dan. 2014. How to Teach Adults: Plan Your Class, Teach Your Students, Change the World. Jossey-Bass. ISBN 1118841360. A short guide to teaching adult free-range learners informed by the author’s social activism.
Spohrer, James C., Elliot Soloway, and Edgar Pope. 1985. “A Goal/Plan Analysis of Buggy Pascal Programs.” Human-Computer Interaction 1 (2): 163–207. https://doi.org/10.1207/s15327051hci0102_4. One of the first cognitively plausible analyses of how people program, which proposes a goal/plan model.
Sridhara, Sumukh, Brian Hou, Jeffrey Lu, and John DeNero. 2016. “Fuzz Testing Projects in Massive Courses.” 2016 Conference on Learning @ Scale (L@S’16). https://doi.org/10.1145/2876034.2876050. Reports that fuzz testing student code catches errors that are missed by handwritten test suite, and explains how to safely share tests and results.
Stampfer, Eliane, and Kenneth R. Koedinger. 2013. “When Seeing Isn’t Believing: Influences of Prior Conceptions and Misconceptions.” 2013 Annual Meeting of the Cognitive Science Society (CogSci’13). Explores why giving children more information when they are learning about fractions can lower their performance.
Stark, Philip, and Richard Freishtat. 2014. “An Evaluation of Course Evaluations.” ScienceOpen Research, ahead of print, September. https://doi.org/10.14293/s2199-1006.1.sor-edu.aofrqa.v1. Yet another demonstration that teaching evaluations don’t correlate with learning outcomes, and that they are frequently statistically suspect.
Stasko, John, John Domingue, Mark H. Brown, and Blaine A. Price, eds. 1998. Software Visualization: Programming as a Multimedia Experience. MIT Press. ISBN 0262193957. A survey of program and algorithm visualization techniques and results.
Steele, Claude M. 2011. Whistling Vivaldi: How Stereotypes Affect Us and What We Can Do. W. W. Norton & Company. ISBN 0393339726. Explains and explores stereotype threat and strategies for addressing it.
Stefik, Andreas, Patrick Daleiden, Diana Franklin, et al. 2017. Programming Languages and Learning. Https://quorumlanguage.com/evidence.html. Summarizes what we actually know about designing programming languages and why we believe it’s true.
Stefik, Andreas, and Susanna Siebert. 2013. “An Empirical Investigation into Programming Language Syntax.” ACM Transactions on Computing Education 13 (4): 1–40. https://doi.org/10.1145/2534973. Reports that curly-brace languages are as hard to learn as a language with randomly-designed syntax, but others are easier.
Stegeman, Martijn, Erik Barendsen, and Sjaak Smetsers. 2014. “Towards an Empirically Validated Model for Assessment of Code Quality.” 2014 Koli Calling Conference on Computing Education Research (Koli’14). https://doi.org/10.1145/2674683.2674702. Presents a code quality rubric for novice programming courses.
Stegeman, Martijn, Erik Barendsen, and Sjaak Smetsers. 2016. Rubric for Feedback on Code Quality in Programming Courses. Http://stgm.nl/quality. Presents a code quality rubric for novice programming.
Steinmacher, Igor, Tayana Uchoa Conte, Christoph Treude, and Marco Aurélio Gerosa. 2016. “Overcoming Open Source Project Entry Barriers with a Portal for Newcomers.” 2016 International Conference on Software Engineering (ICSE’16). https://doi.org/10.1145/2884781.2884806. Reports the effectiveness of a portal specifically designed to help newcomers.
Stockard, Jean, Timothy W. Wood, Cristy Coughlin, and Caitlin Rasplica Khoury. 2018. “The Effectiveness of Direct Instruction Curricula: A Meta-Analysis of a Half Century of Research.” Review of Educational Research, January, 003465431775191. https://doi.org/10.3102/0034654317751919. A meta-analysis that finds significant positive benefit for Direct Instruction.
Sung, Eunmo, and Richard E. Mayer. 2012. “When Graphics Improve Liking but Not Learning from Online Lessons.” Computers in Human Behavior 28 (5): 1618–25. https://doi.org/10.1016/j.chb.2012.03.026. Reports that students who receive any kind of graphics give significantly higher satisfaction ratings than those who don’t, but only students who get instructive graphics perform better than groups that get no graphics, seductive graphics, or decorative graphics.
Svedin, Maria, and Olle Bälter. 2016. “Gender Neutrality Improved Completion Rate for All.” Computer Science Education 26 (2-3): 192–207. https://doi.org/10.1080/08993408.2016.1231469. Reports that redesigning an online course to be gender neutral improves completion probability in general, but decreases it for students with a superficial approach to learning.
Tedre, Matti, and Erkki Sutinen. 2008. “Three Traditions of Computing: What Educators Should Know.” Computer Science Education 18 (3): 153–70. https://doi.org/10.1080/08993400802332332. Summarizes the history and views of three traditions in computing: mathematical, scientific, and engineering.
Tew, Allison Elliott, and Mark Guzdial. 2011. “The FCS1: A Language Independent Assessment of CS1 Knowledge.” 2011 Technical Symposium on Computer Science Education (SIGCSE’11). https://doi.org/10.1145/1953163.1953200. Describes development and validation of a language-independent assessment instrument for CS1 knowledge.
Thayer, Kyle, and Amy J. Ko. 2017. “Barriers Faced by Coding Bootcamp Students.” 2017 International Computing Education Research Conference (ICER’17). https://doi.org/10.1145/3105726.3106176. Reports that coding bootcamps are sometimes useful, but quality is varied, and formal and informal barriers to employment remain.
Ubell, Robert. 2017. How the Pioneers of the MOOC Got It Wrong. Http://spectrum.ieee.org/tech-talk/at-work/education/how-the-pioneers-of-the-mooc-got-it-wrong. A brief exploration of why MOOCs haven’t lived up to initial hype.
Utting, Ian, Juha Sorva, Tadeusz Wilusz, et al. 2013. “A Fresh Look at Novice Programmers’ Performance and Their Teachers’ Expectations.” 2013 Conference on Innovation and Technology in Computer Science Education (ITiCSE’13). https://doi.org/10.1145/2543882.2543884. Replicates an earlier study showing how little students learn in their first programming course.
Vellukunnel, Mickey, Philip Buffum, Kristy Elizabeth Boyer, Jeffrey Forbes, Sarah Heckman, and Ketan Mayer-Patel. 2017. “Deconstructing the Discussion Forum: Student Questions and Computer Science Learning.” 2017 Technical Symposium on Computer Science Education (SIGCSE’17). https://doi.org/10.1145/3017680.3017745. Found that students mostly ask constructivist and logistical questions in forums, and that the former correlate with grades.
Vihavainen, Arto, Jonne Airaksinen, and Christopher Watson. 2014. “A Systematic Review of Approaches for Teaching Introductory Programming and Their Influence on Success.” 2014 International Computing Education Research Conference (ICER’14). https://doi.org/10.1145/2632320.2632349. Consolidates studies of CS1-level teaching changes and finds media computation the most effective, while introducing a game theme is the least effective.
Walle, Thorbjorn, and Jo Erskine Hannay. 2009. “Personality and the Nature of Collaboration in Pair Programming.” 2009 International Symposium on Empirical Software Engineering and Measurement (ESER’09), October. https://doi.org/10.1109/esem.2009.5315996. Reports that pairs with different levels of a given personality trait communicated more intensively.
Wang, April Y., Ryan Mitts, Philip J. Guo, and Parmit K. Chilana. 2018. “Mismatch of Expectations: How Modern Learning Resources Fail Conversational Programmers.” 2018 Conference on Human Factors in Computing Systems (CHI’18). https://doi.org/10.1145/3173574.3174085. Reports that learning resources don’t really help conversational programmers (those who learn coding to take part in technical discussions).
Ward, James. 2015. Adventures in Stationery: A Journey Through Your Pencil Case. Profile Books. ISBN 1846686164. A wonderful look at the everyday items that would be in your desk drawer if someone hadn’t walked off with them.
Watters, Audrey. 2014. The Monsters of Education Technology. CreateSpace. ISBN 1505225051. A collection of essays about the history of educational technology and the exaggerated claims repeatedly made for it.
Weinstein, Yana, Christopher R. Madan, and Megan A. Sumeracki. 2018. “Teaching the Science of Learning.” Cognitive Research: Principles and Implications 3 (1). https://doi.org/10.1186/s41235-017-0087-y. A tutorial review of six evidence-based learning practices.
Weintrop, David, and Uri Wilensky. 2017. “Comparing Block-Based and Text-Based Programming in High School Computer Science Classrooms.” ACM Transactions on Computing Education 18 (1): 1–25. https://doi.org/10.1145/3089799. Reports that students learn faster and better with blocks than with text.
Wenger-Trayner, Etienne, and Beverly Wenger-Trayner. 2015. Communities of Practice: A Brief Introduction. Http://wenger-trayner.com/intro-to-cops/. A brief summary of what communities of practice are and aren’t.
Wiburg, Karin, Julia Parra, Gaspard Mucundanyi, Jennifer Green, and Nate Shaver, eds. 2016. The Little Book of Learning Theories. Second. CreateSpace. ISBN 1537091808. Presents brief summaries of various theories of learning.
Wiggins, Grant, and Jay McTighe. 2005. Understanding by Design. Association for Supervision & Curriculum Development (ASCD). ISBN 1416600353. A lengthy presentation of reverse instructional design.
Wilcox, Chris, and Albert Lionelle. 2018. “Quantifying the Benefits of Prior Programming Experience in an Introductory Computer Science Course.” 2018 Technical Symposium on Computer Science Education (SIGCSE’18). https://doi.org/10.1145/3159450.3159480. Reports that students with prior experience outscore students without in CS1, but there is no significant difference in performance by the end of CS2; also finds that female students with prior exposure outperform their male peers in all areas, but are consistently less confident in their abilities.
Wiley, David. 2002. The Reusability Paradox. Http://opencontent.org/docs/paradox.html. Summarizes the tension between learning objects being effective and reusable.
Wilkinson, Richard, and Kate Pickett. 2011. The Spirit Level: Why Greater Equality Makes Societies Stronger. Bloomsbury Press. ISBN 1608193411. Presents evidence that inequality harms everyone, both economically and otherwise.
Willingham, Daniel T. 2010. Why Don’t Students Like School?: A Cognitive Scientist Answers Questions about How the Mind Works and What It Means for the Classroom. Jossey-Bass. ISBN 047059196X. A cognitive scientist looks at how the mind works in the classroom.
Wilson, Greg. 2016. Software Carpentry: Lessons Learned.” F1000Research, ahead of print, January. https://doi.org/10.12688/f1000research.3-62.v2. A history and analysis of Software Carpentry.
Wilson, Karen, and James H. Korn. 2007. “Attention During Lectures: Beyond Ten Minutes.” Teaching of Psychology 34 (2): 85–89. https://doi.org/10.1080/00986280701291291. Reports little support for the claim that students only have a 10–15 minute attention span (though there is lots of individual variation).
Wlodkowski, Raymond J., and Margery B. Ginsberg. 2017. Enhancing Adult Motivation to Learn: A Comprehensive Guide for Teaching All Adults. Jossey-Bass. ISBN 1119077990. The standard reference for understanding adult motivation.
Xie, Benjamin, Dastyni Loksa, Greg L. Nelson, et al. 2019. “A Theory of Instruction for Introductory Programming Skills.” Computer Science Education 29 (2-3): 205–53. https://doi.org/10.1080/08993408.2019.1565235. Lays out a four-part theory for teaching novices based on reading vs. writing and code vs. templates.
Yadav, Aman, Sarah Gretter, Susanne Hambrusch, and Phil Sands. 2016. “Expanding Computer Science Education in Schools: Understanding Teacher Experiences and Challenges.” Computer Science Education 26 (4): 235–54. https://doi.org/10.1080/08993408.2016.1257418. Summarizes feedback from K-12 teachers on what they need by way of preparation and support.