<p>Here are books in print that address a range of issues within teaching computer science, synthesize pedagogical questions and research-based answers distilled from research, and include extensive references to the literature.</p>
<ul>
<li><p>Frieze and Quesenberry. (2017). <strong>Kicking butt in computer science: Women in computing at Carnegie Mellon University</strong>.</p>
<p>Summarizing the efforts at CMU to diversify CS undergraduate enrollment, the book is intended to help CS teachers duplicate CMU's success by focusing on benefits of diversity rather than gender differences.</p>
</li>
<li><p>Guzdial. (2016). <strong>Learner-centered design of computing education</strong>.</p>
<p>Intended as a review of literature on teaching CS to people who are not aiming to be CS professionals, the seven chapters define the problem, summarize the research, and ask many questions yet to be answered in the literature.</p>
</li>
<li><p>Hazzan, Lapidot, and Ragonis. (2014) <strong>Guide to teaching computer science, 2nd edition</strong>.</p>
<p>Intended as textbook for a CS teaching methods course, the Guide helps a CS Methods instructor model active learning techniques by structuring the text around 110 activities in which the CS teachers are the participants.</p>
</li>
<li><p>Kafai and Burke. (2014) <strong>Connected code: Why children need to learn programming</strong>.</p>
<p>Describing educational programs that have worked with children, and the programs' results, this book aims to help teachers and influencers lead cultural changes toward computational participation and new ways of thinking and learning.</p>
</li>
<li><p>Krauss and Prottsman. (2017). <strong>Computational thinking and coding for every student</strong>.</p>
<p>Aiming to help the K-12 teacher with no CS experience, this book offers lesson plans, resources, and pedagogical advice mirroring the consensus of the CS community. Self-described as a &quot;getting-started guide,&quot; it is not a review of literature, the the References list about 50 sources, some of which are research articles.</p>
</li>
</ul>

CC BY-SA 3.0
2017-08-09T07:36:51.343Z
Nice ordering. (I noticed it abides the rules of citing :P)
ItamarG3
CC BY-SA 3.0
2017-08-10T01:58:26.827Z
I'm like 99% sure I remember Hazzan, Lapidot, and Ragonis, but I don't have it in front of me to double check.  That said, I had high hopes for the book, but was disappointed when I read it.  It was more of a collection of their papers than a book; it lacked a clear, unifying organization as a result.
MikeTheTall
CC BY-SA 3.0
2017-08-10T01:59:45.790Z
It was also written in a style that I assume is "education-ese" - it was very list-driven.  It was list-driven the point where section 1 would contain a couple of quick sentences telling you what was in sections 1.1, 1.2, and 1.3. Next came Section 1.1, which would tell you what 1.1.1, 1.1.2, and 1.1.3 contained, then section 1.1.1.  Within 1.1.1 they'd make a point, then cite a list of stuff to support it.  I found it very hard to read.  I assume that this is just the style of writing (CS) Education Research papers, but I'd love to be proven wrong :)
MikeTheTall
CC BY-SA 3.0
2017-08-12T00:56:24.530Z
I just purchased the first 3 of these books.  This is an awesome answer!
Ben I.
CC BY-SA 3.0
2017-08-07T15:56:47.043Z
2017-08-07T17:43:47.567Z
2020-06-18T08:36:57.023Z
Bennett Brown
<p>While it isn't specifically devoted to to CS and is directed at the more general teaching community, <em>Tools for Teaching</em> by Barbara Gross Davis is an incredibly useful book.</p>

<p>The book discusses everything from designing a single course and writing an effective syllabus to testing and grading, with everything in between. It also discusses evaluating the course itself. </p>

<p>There are sections on discussion, lectures (including large lectures), alternative to lectures, student motivation, assignments, etc. The book also discusses diversity of the student body and how to teach in complex environments. </p>

<p>The book is available at <a href="http://rads.stackoverflow.com/amzn/click/0787965677" rel="nofollow noreferrer">Amazon</a> where you can also find the complete TOC. </p>

<p>If memory serves, our Dean (in a University School of Computing) once gave a copy to every faculty member in the School. </p>

<p>While not specifically about CS, it <em>is</em> based on Educational Research. </p>

CC BY-SA 3.0
2017-08-07T12:05:12.180Z
2017-08-07T12:14:18.203Z
2017-08-07T12:14:18.203Z
Buffy
<p>I was inspired by <a href="https://cseducators.stackexchange.com/users/765/bennett-brown">BennetBrown</a>'s answer <a href="https://cseducators.stackexchange.com/a/1372/27">here</a>, in which he says</p>

<blockquote>
  <p><em>"Please, CS ed, produce something akin to <a href="http://rads.stackoverflow.com/amzn/click/0471137073" rel="noreferrer">Teaching Introductory Physics</a>. Guzdial's <a href="http://rads.stackoverflow.com/amzn/click/1627053514" rel="noreferrer">Learner-centered Design of Computing Education</a> is a wonderful book, but we have a long way to go to match the physics education community's understanding of their craft."</em></p>
</blockquote>

<p>Which got me thinking that I really did want to expand my craft, and that a book would be just the thing.  In my searching, I of course found Guzdial's <strong>Learning-centered Design</strong> (which BennetBrown mentioned), but I also found  this: <a href="https://smile.amazon.com/Guide-Teaching-Computer-Science-Activity-Based/dp/1447166299/ref=sr_1_1?ie=UTF8&amp;qid=1502067480&amp;sr=8-1&amp;keywords=guide+to+teaching+computer+science" rel="noreferrer">Guide to Teaching Computer Science: An Activity-Based Approach</a>.  </p>

<p>However, I can find precious little detail about either volume.  Are there significant differences between the two that I should take into account when selecting one of them?</p>

<p><strong>EDIT:</strong>  I also just found <a href="https://smile.amazon.com/Pedagogical-Patterns-Educators-Joseph-Bergin/dp/1479171824/ref=pd_sbs_14_4?_encoding=UTF8&amp;pd_rd_i=1479171824&amp;pd_rd_r=M5G1HVGY6R81Z41RYTEA&amp;pd_rd_w=cmAmO&amp;pd_rd_wg=hYNPG&amp;psc=1&amp;refRID=M5G1HVGY6R81Z41RYTEA" rel="noreferrer">Pedagogical Patterns</a>, which does not claim to be a CS book, but its primary two authors are Computer Science professors so it might also fit into this question.</p>

<p><em>(Also, I believe that these are the only two books like this, though if I have missed one somewhere, leave a comment and I will integrate it into the question.)</em></p>

CC BY-SA 3.0
2017-08-07T03:03:02.190Z
I know this comment isn't going to be particularly helpful, but these are the only three books that I know of that address computer science pedagogy.  Wish there were more!
CS Cheerleader
CC BY-SA 3.0
2017-08-07T10:16:42.873Z
Actually most of the contributors to Pedagogical Patterns are involved in some way with CS. Some are university teachers and some are industry trainers. In fact it is all about teaching CS in various ways and the information needs to be adapted for other, similar, fields. Six members of the Editorial Board are university teachers, the other three teach in industry. However, it is about teaching, not research. It is informed by the practice of teaching.
Buffy
CC BY-SA 3.0
2017-08-07T15:17:19.847Z
Other research-based books on CS ed with good references are [Krauss and Prottsman](https://resources.corwin.com/computationalthinking) (2017), [Kafai and Burke](https://mitpress.mit.edu/connected-code) (2014), and [Frieze and Quesenberry](https://cds.cern.ch/record/2160926?ln=en) (2017).
Bennett Brown
CC BY-SA 3.0
2017-08-07T16:25:56.213Z
I've just written a dissertation on a teaching approach to Computer Science (UK curriculum). There is a lot of contemporary research in this field around Computational Thinking. Critical thinking is a popular approach. Maybe a hunch, but I imagine many more pragmatic approaches will be available in the near future.
Dave Russell
<resource-request><resource-information>
Books that summarize pedagogical research within our field
# Books that summarize pedagogical research within our field

(Asked by: username_0 on 2017-08-07)

I was inspired by [BennetBrown](https://cseducators.stackexchange.com/users/765/bennett-brown)'s answer [here](https://cseducators.stackexchange.com/a/1372/27), in which he says

> *"Please, CS ed, produce something akin to [Teaching Introductory Physics](http://rads.stackoverflow.com/amzn/click/0471137073). Guzdial's [Learner-centered Design of Computing Education](http://rads.stackoverflow.com/amzn/click/1627053514) is a wonderful book, but we have a long way to go to match the physics education community's understanding of their craft."*

Which got me thinking that I really did want to expand my craft, and that a book would be just the thing. In my searching, I of course found Guzdial's **Learning-centered Design** (which BennetBrown mentioned), but I also found this: [Guide to Teaching Computer Science: An Activity-Based Approach](https://smile.amazon.com/Guide-Teaching-Computer-Science-Activity-Based/dp/1447166299/ref=sr_1_1?ie=UTF8&qid=1502067480&sr=8-1&keywords=guide+to+teaching+computer+science).

However, I can find precious little detail about either volume. Are there significant differences between the two that I should take into account when selecting one of them?

**EDIT:** I also just found [Pedagogical Patterns](https://smile.amazon.com/Pedagogical-Patterns-Educators-Joseph-Bergin/dp/1479171824/ref=pd_sbs_14_4?_encoding=UTF8&pd_rd_i=1479171824&pd_rd_r=M5G1HVGY6R81Z41RYTEA&pd_rd_w=cmAmO&pd_rd_wg=hYNPG&psc=1&refRID=M5G1HVGY6R81Z41RYTEA), which does not claim to be a CS book, but its primary two authors are Computer Science professors so it might also fit into this question.

*(Also, I believe that these are the only two books like this, though if I have missed one somewhere, leave a comment and I will integrate it into the question.)*

**Tags:** resource-request, resource-information

> **Comments:**
> **username_1**: I know this comment isn't going to be particularly helpful, but these are the only three books that I know of that address computer science pedagogy.  Wish there were more!  
> **username_2**: Actually most of the contributors to Pedagogical Patterns are involved in some way with CS. Some are university teachers and some are industry trainers. In fact it is all about teaching CS in various ways and the information needs to be adapted for other, similar, fields. Six members of the Editorial Board are university teachers, the other three teach in industry. However, it is about teaching, not research. It is informed by the practice of teaching.  
> **username_3**: Other research-based books on CS ed with good references are [Krauss and Prottsman](https://resources.corwin.com/computationalthinking) (2017), [Kafai and Burke](https://mitpress.mit.edu/connected-code) (2014), and [Frieze and Quesenberry](https://cds.cern.ch/record/2160926?ln=en) (2017).  
> **username_4**: I've just written a dissertation on a teaching approach to Computer Science (UK curriculum). There is a lot of contemporary research in this field around Computational Thinking. Critical thinking is a popular approach. Maybe a hunch, but I imagine many more pragmatic approaches will be available in the near future.  

---

## 2 answers

### Answer by username_3 on 2017-08-07. Score: 6 | Accepted answer

Here are books in print that address a range of issues within teaching computer science, synthesize pedagogical questions and research-based answers distilled from research, and include extensive references to the literature.

* Frieze and Quesenberry. (2017). **Kicking butt in computer science: Women in computing at Carnegie Mellon University**.

  Summarizing the efforts at CMU to diversify CS undergraduate enrollment, the book is intended to help CS teachers duplicate CMU's success by focusing on benefits of diversity rather than gender differences.
* Guzdial. (2016). **Learner-centered design of computing education**.

  Intended as a review of literature on teaching CS to people who are not aiming to be CS professionals, the seven chapters define the problem, summarize the research, and ask many questions yet to be answered in the literature.
* Hazzan, Lapidot, and Ragonis. (2014) **Guide to teaching computer science, 2nd edition**.

  Intended as textbook for a CS teaching methods course, the Guide helps a CS Methods instructor model active learning techniques by structuring the text around 110 activities in which the CS teachers are the participants.
* Kafai and Burke. (2014) **Connected code: Why children need to learn programming**.

  Describing educational programs that have worked with children, and the programs' results, this book aims to help teachers and influencers lead cultural changes toward computational participation and new ways of thinking and learning.
* Krauss and Prottsman. (2017). **Computational thinking and coding for every student**.

  Aiming to help the K-12 teacher with no CS experience, this book offers lesson plans, resources, and pedagogical advice mirroring the consensus of the CS community. Self-described as a "getting-started guide," it is not a review of literature, the the References list about 50 sources, some of which are research articles.

> **Comments:**
> **username_5**: Nice ordering. (I noticed it abides the rules of citing :P)  
> **username_6**: I'm like 99% sure I remember Hazzan, Lapidot, and Ragonis, but I don't have it in front of me to double check.  That said, I had high hopes for the book, but was disappointed when I read it.  It was more of a collection of their papers than a book; it lacked a clear, unifying organization as a result.  
> **username_6**: It was also written in a style that I assume is "education-ese" - it was very list-driven.  It was list-driven the point where section 1 would contain a couple of quick sentences telling you what was in sections 1.1, 1.2, and 1.3. Next came Section 1.1, which would tell you what 1.1.1, 1.1.2, and 1.1.3 contained, then section 1.1.1.  Within 1.1.1 they'd make a point, then cite a list of stuff to support it.  I found it very hard to read.  I assume that this is just the style of writing (CS) Education Research papers, but I'd love to be proven wrong :)  
> **username_0**: I just purchased the first 3 of these books.  This is an awesome answer!  

---

### Answer by username_2 on 2017-08-07. Score: 3

While it isn't specifically devoted to to CS and is directed at the more general teaching community, *Tools for Teaching* by Barbara Gross Davis is an incredibly useful book.

The book discusses everything from designing a single course and writing an effective syllabus to testing and grading, with everything in between. It also discusses evaluating the course itself.

There are sections on discussion, lectures (including large lectures), alternative to lectures, student motivation, assignments, etc. The book also discusses diversity of the student body and how to teach in complex environments.

The book is available at [Amazon](http://rads.stackoverflow.com/amzn/click/0787965677) where you can also find the complete TOC.

If memory serves, our Dean (in a University School of Computing) once gave a copy to every faculty member in the School.

While not specifically about CS, it *is* based on Educational Research.


---

