EDEC 575 / COMP 598 (Sec 002): The Teaching of Computer Science

Term: Fall 2018

Course description:
Principles of teaching computer science and computational thinking. This course provides an overview of the computer science education research literature. Topics include how diverse learners learn computing concepts, inclusive pedagogy, and the social context of computing education. Multiple audiences of learners will be considered (primary, secondary, tertiary, informal). The course will focus on how computing topics are taught at an introductory-level; such topics may include programming, computational thinking, robotics, algorithms, data structures, logic, networking, and security.

Prerequisites: none

Number of credits: 3 credits

Instructor: Elizabeth Patitsas (elizabeth.patitsas@mcgill.ca)

Schedule: Tuesdays, 5:35-8:25pm, Sept 4 to Dec 3

Location: Education Room 436 ("The Math Lab")

Office hours: Thursdays 4pm-5pm in McConnell 309

Course forum: Piazza

Course Plan

This is a discussion and activity-oriented course. Each week we will have two papers to read in advance of class; we will have a group discussion of the papers in class. Short group activities will be organized around the readings and topics each week.

Teaching Philosophy

I prefer to teach in a participatory, student-directed style. This means that you as students will have a say in what readings we read: I as an instructor will give you a range of options and we as a class will decide what directions to pursue within the realm of CS education. Instead of starting the term with me picking out all the readings in advance, we will instead pick readings collaboratively as the term goes on.

This also means I will craft the assessment of this course around what you as a class would find most valuable. Do you want this course to be a hands-on class about how to instruct computing, where you give practice lessons and have a micropracticum at the end? Do you want this course to be a research-focused course where we delve into the research literature and understand the psychology/sociology/etc of CS education, and write a paper at the end of the course? Some combination of the two? We will discuss these options and more in our first class.

Learning Goals

In our first class, we established our learning goals for the course to be:
  1. Develop and justify strategies for teaching computer science (CS) & computational thinking (CT) to diverse audiences.
  2. Appreciate the social and historical context of CS education, including how it is shaped today.
  3. Develop and justify evaluations of CS/CT students.

Schedule of Readings and Activities

  1. Sept 4: What are computer science and computational thinking?
    In order for us to teach CS/CT, we need to first establish what these topics are. The papers to start us off each look at the philosophy and history of CS/CT. We will also have some activities on getting to know each other and our expectations for this class.
    1. Readings:
      1. Tedre, Matti, and Erkki Sutinen. "Three traditions of computing: What educators should know." Computer Science Education 18, no. 3 (2008): 153-170.
      2. Tedre, Matti, and Peter J. Denning. "The long quest for computational thinking." In Proceedings of the 16th Koli Calling International Conference on Computing Education Research, pp. 120-129. ACM, 2016.
    2. Activities:
      1. Introductions
      2. Course design activity. What do you want this course to be?
      3. Small group discussions: What is CS? What is CT? How does defining CS/CT change CS/CT education?

  2. Sept 11: CS and CT curricula
    1. Readings:
      1. Duncan, Caitlin, and Tim Bell. "A pilot computer science and programming course for primary school students." In Proceedings of the Workshop in Primary and Secondary Computing Education, pp. 39-48. ACM, 2015.
      2. Dziallas, Sebastian, and Sally Fincher. "ACM Curriculum Reports: A Pedagogic Perspective." In Proceedings of the eleventh annual International Conference on International Computing Education Research, pp. 81-89. ACM, 2015.
    2. Activities:
      1. Talking about the readings
        1. Collectively: thoughts and reactions
        2. Small groups: How to Read Activity
      2. Course outline activity: designing a {grade 6, grade 10, CEGEP, first year community college, second year university, etc} class
        1. Everybody will pick which of these classes they'd like to design a class for, and form groups based on the chosen class
        2. In groups you will collaboratively design the class as though you were co-instructors for the class, and produce a draft course outline / syllabus
        3. You are strongly encouraged to find and use existing curricula and course resources!
        4. Course outline, justification document, and marking scheme will be due next week at the start of class

  3. Sept 18: Instructional Approaches Part 1 (Collaborative Learning)
    1. Readings
      1. Porter, Leo, Cynthia Bailey Lee, and Beth Simon. "Halving fail rates using peer instruction: a study of four computer science courses." In Proceeding of the 44th ACM technical symposium on Computer science education, pp. 177-182. ACM, 2013. (alternate url)
      2. Werner, Linda L., Brian Hanks, and Charlie McDowell. "Pair-programming helps female computer science students." Journal on Educational Resources in Computing (JERIC) 4, no. 1 (2004): 4.
      3. Bonus (optional) reading:  Hu, Helen H., and Tricia D. Shepherd. "Using POGIL to help students learn to program." ACM Transactions on Computing Education (TOCE) 13, no. 3 (2013): 13.
    2. Due at start of class: Course outline assignment (Assignment 1)
    3. Activities
      1. Examples of Peer Instruction, Pair Programming and POGIL
      2. Talking about content knowledge, pedagogical content knowledge, and pedagogical knowledge
      3. Talking about the readings
      4. Peer marking of assignment 1
      5. Starting Assignment 2 in your groups
        1. What are common preconceptions students would have in your class?
        2. What are common misconceptions?
        3. What are common stumbling points for students?
        4. What are some good tactics for teaching the content in this class?
        5. What topics in your class would best identify how much PCK the instructor has?
        6. Select what lessons your group will cover in their demonstration lessons (due: start of next class)

  4. Sept 25: Instructional Approaches Part 2 (Structuring Programming)
    1. Readings
      1. Joentausta, Johanna, and Arto Hellas. "Subgoal Labeled Worked Examples in K-3 Education." In Proceedings of the 49th ACM Technical Symposium on Computer Science Education, pp. 616-621. ACM, 2018.
      2. Rubin, Marc J. "The effectiveness of live-coding to teach introductory programming." In Proceeding of the 44th ACM technical symposium on Computer science education, pp. 651-656. ACM, 2013.
      3. Bonus (optional) reading: Ramsey, Norman. "On teaching 'how to design programs': observations from a newcomer." ACM SIGPLAN Notices 49, no. 9 (2014): 153-166.
    2. Due at start of class: Group learning goals (Assignment 2)
    3. Activities
      1. Brief demonstrations of subgoal labels, live coding, design recipes
        1. Group Roles
        2. Example of a design recipe
        3. Live Coding
        4. Worksheet with subgoal labels and function design recipe
      2. Talking about the readings
      3. Peer marking of assignment 2
      4. Time to work on a lesson plan for your demonstration lesson (due: start of next class)

  5. Oct 2: Assessment
    1. Readings
      1. Castro, Francisco Enrique Vicente, and Kathi Fisler. "Designing a multi-faceted SOLO taxonomy to track program design skills through an entire course." In Proceedings of the 17th Koli Calling Conference on Computing Education Research, pp. 10-19. ACM, 2017.
      2. Zingaro, Daniel, Andrew Petersen, and Michelle Craig. "Stepping up to integrative questions on CS1 exams." In Proceedings of the 43rd ACM technical symposium on Computer Science Education, pp. 253-258. ACM, 2012.
    2. Due at start of class: lesson plan for your demonstration lesson (Assignment 3)
    3. Activities
      1. Slides: validity & reliability, grades distributions
      2. Talking about the readings
      3. Peer marking of assignment 3
      4. Time to start working on the individual portions of assignment 4, which you should complete for next week

  6. Oct 9: Equity Part 1: Disability and Accessibility
    1. Readings
      1. Owen, Charles B., Sarah Coburn, and J. Castor. "Teaching modern object-oriented programming to the blind: an instructor and student experience." In ASEE Annual Conference. 2014.
      2. Wille, Sarah, Jeanne Century, and Miriam Pike. "Computer Science Principles (CSP) and students with learning differences: Expanding opportunities for a hidden underrepresented group." In Research on Equity and Sustained Participation in Engineering, Computing, and Technology (RESPECT), 2016, pp. 1-8. IEEE, 2016.
      3. Bonus (optional):  Ko, Andrew J., and Richard E. Ladner. "AccessComputing promotes teaching accessibility." ACM Inroads 7, no. 4 (2016): 65-68.
    2. Activities
      1. Slides: Vocabulary for talking about equity
      2. Small group discussions: case studies, then debrief
      3. Disability & accessibility and computing
      4. Talking about the readings --- we didn't fully discuss them due to time constraints, so will resume next week

  7. Oct 16: Equity Part 2: Race and Class
    1. Readings
      1. DiSalvo, Betsy, Cecili Reid, and Parisa Khanipour Roshan. "They can't find us: the search for informal CS education." In Proceedings of the 45th ACM technical symposium on Computer science education, pp. 487-492. ACM, 2014.
      2. Bonus (optional): Margolis, Jane. Stuck in the shallow end: Education, race, and computing. MIT Press, 2010. Chapter One.
    2. Activities
      1. Vocabulary around race
      2. Readings on tailored curricula (Boys' Needlework, OOP for blind)
      3. Defining class
      4. Readings on linguistic capital (They Can't Find Us, CSP for learning differences)
      5. Discussing choice of readings for Oct 30

  8. Oct 23: Equity Part 3: Gender
    1. Readings
      1. A paper on the historical sociological context of gender in computer science is available on Piazza.
      2. Bonus (optional): Varma, Roli. "Women in computing: The role of geek culture." Science as culture 16, no. 4 (2007): 359-376.
    2. Due at start of class: quizzes for your demonstration lesson (Assignment 4)
    3. Activities
      1. Slides: some PI questions about stereotype change
      2. Talking about the readings
      3. Peer marking A4
      4. Talking about teaching logs

  9. Oct 30: Classroom Environment
    1. Readings
      1. Barker, Lecia J., and Kathy Garvin-Doxas. "Making visible the behaviors that influence learning environment: A qualitative exploration of computer science classrooms." Computer Science Education 14, no. 2 (2004): 119-145.
      2. Ames, Morgan G.. "Hackers, Computers, and Cooperation: A Critical History of Logo and Constructionist Learning." ACM HCI 2, no CSCW (2018).
      3. Bonus (optional) Berdahl, Jennifer L., Marianne Cooper, Peter Glick, Robert W. Livingston, and Joan C. Williams. "Work as a masculinity contest." Journal of Social Issues 74, no. 3 (2018): 422-448.
    2. Due at start of class: A3 revise & resubmits
    3. Activities
      1. Lowering the stick activity
      2. Classroom culture - group discussion
      3. Teaching logs: what goes in them, best practices
      4. Best practices for invigilation
      5. Discussing readings

  10. Nov 6: Demonstration Lessons for Groups 1 and 2
    1. Reading (only one)
      1. Feaster, Yvon, Luke Segars, Sally K. Wahba, and Jason O. Hallstrom. "Teaching CS unplugged in the high school (with limited success)." In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education, pp. 248-252. ACM, 2011.
    2. Activities
      1. Grade 6 group: each member gives a 10 minute lesson, followed by a quiz related to the group's lessons (5 mins per group member)
      2. Grade 11 group: each member gives a 10 minute lesson, followed by a quiz related to the group's lessons (5 mins per group member)
      3. Debrief
      4. Talk about readings
    3. Due at end of class: peer feedback for Groups 1 and 2

  11. Nov 13: Demonstration Lessons for Groups 3 and 4
    1. Readings specified by some of the presenters, who based their lesson plan around assuming students will have completed a specified reading (see Piazza)
    2. Activities
      1. Intro uni CS group: each member gives a 10 minute lesson, followed by a quiz related to the group's lessons (5 mins per group member)
      2. Programming languages group: each member gives a 10 minute lesson, followed by a quiz related to the group's lessons (5 mins per group member)
      3. Debrief
    3. Due at beginning of class: initial teaching log for Groups 1 and 2
    4. Due at end of class: peer feedback for Groups 3 and 4

  12. Nov 20: Marking Quizzes
    1. Readings
      1. Harrington, Brian, Marzieh Ahmadzadeh, Nick Cheng, Eric Heqi Wang, and Vladimir Efimov. "TA Marking Parties: Worth the Price of Pizza?." In Proceedings of the 2018 ACM Conference on International Computing Education Research, pp. 232-240. ACM, 2018.
      2. Stephenson, Ben, Michelle Craig, Daniel Zingaro, Diane Horton, Danny Heap, and Elaine Huynh. "Exam Wrappers: Not a Silver Bullet." In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, pp. 573-578. ACM, 2017.
    2. Due at start of class: initial teaching log for Groups 3 and 4
    3. Due at end of class: marking reflection
    4. Activities TBA
      1. Quiz marking assignment (A7)
      2. Discussing readings
      3. Revisiting the SOLO taxonomy

  13. Nov 27: Going Forward
    1. Readings
      1. Vogel, Sara, Rafi Santo, and Dixie Ching. "Visions of computer science education: Unpacking arguments for and projected impacts of CS4All initiatives." In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, pp. 609-614. ACM, 2017.
      2. Barker, Lecia, Christopher Lynnly Hovey, and Jane Gruning. "What influences CS faculty to adopt teaching practices?" In Proceedings of the 46th ACM Technical Symposium on Computer Science Education, pp. 604-609. ACM, 2015.
    2. Activities
      1. Readings review
      2. Discussing today's readings
      3. Readings for your reports
      4. Student-provided case studies
      5. Feedback

Course Policies

Academic Integrity

McGill University values academic integrity. Therefore, all students must understand the meaning and consequences of cheating, plagiarism and other academic offences under the Code of Student Conduct and Disciplinary Procedures” (see www.mcgill.ca/students/srr/honest/ for more information).

Safe Space Statement

We are committed to nurturing a space where students, teaching assistants, lecturers, and professors can all engage in the exchange of ideas and dialogue, without fear of being made to feel unwelcome or unsafe on account of biological sex, sexual orientation, gender identity or expression, race/ethnicity, religion, linguistic and cultural background, age, physical or mental ability, or any other aspect integral to one's personhood. We therefore recognize our responsibility, both individual and collective, to strive to establish and maintain an environment wherein all interactions are based on empathy and mutual respect for the person, acknowledging differences of perspectives, free from judgment, censure, and/or stigma.

In keeping with the professional culture of teaching and learning, the Faculty of Education community believes that our teaching and learning spaces should model such professional environments. As a community, we are committed to creating authentic opportunities where understanding of teaching and learning is co-constructed between instructors and students. In order for us to create these learning environments, we are expected to demonstrate awareness of, respect for and commitment to the behaviours and actions of professionals. As members of the Faculty of Education community, we are expected to be accountable to ourselves and others and to be engaged, collegial and accessible. By doing so, we are more fully able to share together in the types of critical dialogue, creative thinking and reflective practice expected of professionals.

As discussed in our first class, we encourage people to "call in" rather than "call out". This is a learning environment and we should assume everybody wants to learn and be better. And where appropriate, we should use trigger warnings in sharing content.

Scent Free Environment

This classroom and associated office hours are a scent free environment. Please refrain from wearing perfume, cologne and body spray in these spaces out of respect for people with neurological & respiratory issues that may be affected by these scents.

Food Allergies

As discussed in our first class, students may bring food to class so long as the food does not affect the learning environment of others. If you have any severe food allergies, please email Elizabeth so she can let the class know not to bring the relevant foods.


Over the course of the term, you will form a group to teach a mock course that you as a group will design. You will then individually teach a short (10 minute) lesson intended to be an example/demonstration of what your group's course teaches its students. Everybody from your group will have their demonstration lessons in the same class, in an order of your choosing, to allow the opportunity for lessons to build on each other. You will also each prepare 5 minutes worth of quiz question(s) to assess student understanding of your demonstration lesson.

At the end of your group's demonstration lessons, your group will give a quiz that you have prepared, to assess' your "students'" understanding of the material you just taught.

The final paper for this course is a report on how your lesson went: how did you design the lesson and associated assessment, how did it go, how would you change it if you could do it again, how does your design process relate to the course readings, etc.

Broken down, your final grade will be determined as follows. Unless noted, assessments are individual, and should be submitted as a hard copy.

Core Competencies Developed By This Course

For students interested in relating this course to the Quebec Education Programme, this class will give you practice in:

Useful Resources