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.