EDEC 575 / COMP 598: The Teaching of Computer Science
Term: Fall 2020
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 (to contact: Direct Message on Microsoft Teams)
Schedule: Tuesdays 5:35-8:25pm starting Sep 8 2020
Course Forum: EDEC 575 / COMP 598 on Microsoft Teams, supplemented with Perusall
Location: Online via Microsoft Teams (you'll need to join the Team to access the meeting; auditors will need to join the Team first)
CS breadth category: Category C: Applications
Assessment information
Course Structure
This is a discussion and activity-oriented course. Each week we will have 2-3 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.
Student-Centred Teaching
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 --- I will ask you what you are interested in and your learning goals, and then I will use my expertise to pick readings to match your interests and goals.
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? Something else? We will discuss these options and more in our first class.
Indeed, much of our first class will be spent on co-constructing the syllabus around your interests. Given the pandemic we'll also be collaboratively deciding upon course policies surrounding attendance/etc and the format of the course.
I'll propose that on a weekly basis, instead of meeting for 3 hours, we meet for 1.5 hours and then I give you 1.5 hours worth of small group activities to do on your own time in between each class. But I am flexible about this format and we will discuss how this sounds to you!
Last time I taught this course I also co-designed the syllabus with the students! This is what we came up with in 2018.
Course Schedule
Week 1: September 8, 2020: Student-Centred Pedagogy
- Read before class:
- If you are new to using Microsoft Teams, here's a video on how the chat works and here's a video on how the videoconferencing works and one on breakout rooms
- Optional: Chapter 1 (Engaged Pedagogy) of hooks, bell. (2014). Teaching to transgress. Routledge. -- To give some background on why I'm engaging you in the syllabus creation process
- Optional: Bergmark, U., & Westman, S. (2016). Co-creating curriculum in higher education: promoting democratic values and a multidimensional view on learning. International Journal for Academic Development, 21(1), 28-40. --- gives a case study of student-directed teaching in higher education
- Set up before class:
- Complete this form to tell me about yourself
- Join the Team and set up notifications
- Introduce yourself to your classmates in the IntroduceYourself channel of the Teams chat
- Slides for tonight
- In-class activity: co-construct course syllabus with students
- Course-level learning goals
- Broad ideas for assessment
- Course policies (attendance, integrity, safe space, etc)
- Online format
Week 2: September 15, 2020: Pedagogies for Teaching Programming
In this class we'll continue our conversation from last week about what we want to do with this term
- Before class, read:
- Brown, N. C., & Wilson, G. (2018). Ten quick tips for teaching programming. PLoS computational biology, 14(4), e1006023.
- Optional: 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.
- In class:
- Slides
- Discussing asssemnent
- Forming groups for you to do the activity due before class next week
- Worksheet due Sep 22 at noon
Week 3: September 22: Lesson Planning
- Before class, read:
- 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.
- Example of a design recipe (from CSC108 at U of T)
- Optional: Kathryn M. Rich, Carla Strickland, T. Andrew Binkowski, Cheryl Moran, Diana Franklin. K-8 Learning Trajectories Derived from Research Literature: Sequence, Repetition, Conditionals
- In class
- Slides
- A bit of ed psych (SOLO, ZPD, scaffolding)
- How to draft learning goals
- How to make a lesson plan
- How to document lessons
- Worksheet
Week 4: September 29: The Push for K-12 CS
- Before class, read:
- Vogel, S., Santo, R., & Ching, D. (2017, March). 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).
- Larke, Laura R. "Agentic neglect: Teachers as gatekeepers of England’s national computing curriculum." British Journal of Educational Technology 50, no. 3 (2019): 1137-1150.
- Optional: Sara Vogel, 2019. Power, Discourse, and Knowledge in Computer Science Education Advocacy: An Analysis of Popular Code.org Videos, SocArXiV.
- In class
- Slides
- Rudimentary policy analysis
- Summary of Cuban's "Oversold and Underused: Computers in the Classroom" (would recommend reading!)
- Background for the Ames reading next week (HCI lingo)
- Worksheet
Week 5: October 6: Ideology in CS Education
- Before class, read:
- Tedre, M., & Denning, P. J. (2016, November). The long quest for computational thinking. In Proceedings of the 16th Koli Calling International Conference on Computing Education Research (pp. 120-129).
- Ames, Morgan G.. "Hackers, Computers, and Cooperation: A Critical History of Logo and Constructionist Learning." ACM HCI 2, no CSCW (2018).
- Optional: Nafus, Dawn. "‘Patches don’t have gender’: What is not open in open source software." New Media & Society 14, no. 4 (2012): 669-683.
- In class
- Slides
- Discussing project proposals
- Background for the Dziallas & Fincher reading next week - occupational closure and masculinization, coding bootcamps of 1960s (Abbate Ch2)
- Worksheet
Week 6: October 13: Historical Context
- Due to peers: project proposal
- Before class, read:
- Tedre, M., & Sutinen, E. (2008). Three traditions of computing: What educators should know. Computer Science Education, 18(3), 153-170.
- Dziallas, Sebastian, and Fincher, Sally. The History and Purpose of Computing Curricula (1960s to 2000s). In: Communities of Computing: Computer Science and Society in the ACM. ACM, 2017. pp. 91-110.
- Optional: Abbate, J. (2012). Software Crisis or Identity Crisis? Gender, Labor, and Programming Methods. Chapter 3 of Recoding gender: women's changing participation in computing
- In class
- Worksheet
Week 7: October 20: Ethics
- Due: peer feedback on project proposals
- Before class, read:
- Chapter 2 of Halmaghi, H. 2019. "Learning computer science was hard. Unlearning computer science was harder."
- Casey Fiesler, Natalie Garrett, Nathan Beard, 2020. What Do We Teach When We Teach Tech Ethics?: A Syllabi Analysis, SIGCSE 2020.
- Optional: Banks, D. A., & Lachney, M. (2017). Engineered violence: Confronting the neutrality problem and violence in engineering. International Journal of Engineering, Social Justice, and Peace, 5, 1-12.
- In class
- Slides
- Pedagogical content knowledge (PCK)
- Rendering technical
- Social-techincal "divide", ethics as rendered technical
- Worksheet
Week 8: Oct 27: Critical Computing Education
- Due to Elizabeth: project proposal
- Before class, read:
- Malazita, J. W., & Resetar, K. (2019). Infrastructures of abstraction: how computer science education produces anti-political subjects. Digital Creativity, 30(4), 300-312.
- Yasmin Kafai, Chris Proctor, and Debora Lui. From Theory Bias to Theory Dialogue: Embracing Cognitive, Situated, and Critical Framings of Computational Thinking in K-12 CS Education
- Optional: Goldweber, M., Barr, J., Clear, T., Davoli, R., Mann, S., Patitsas, E., & Portnoff, S. (2013). A framework for enhancing the social good in computing education: a values approach. ACM Inroads, 4(1), 58-79.
- In class
- Slides
- What is: situated learning, critical pedagogy, STS, culturally relevant pedagogy, culturally responsive pedagogy
- Hat tips to contextualized CS: Sustainability Themed Problem Solving In Data Structures And Algorithms, HFOSS, Media computation
- Worksheet
Week 9: Nov 3: Culturally Responsive Computing
- Before class, read:
- Eglash, R., Bennett, A., O'donnell, C., Jennings, S., & Cintorino, M. (2006). Culturally situated design tools: Ethnocomputing from field site to classroom. American anthropologist, 108(2), 347-362.
- Searle, K. A., & Kafai, Y. B. (2015, July). Boys' Needlework: Understanding Gendered and Indigenous Perspectives on Computing and Crafting with Electronic Textiles. In ICER (pp. 31-39).
- Optional: Nathan, L. P., Kaczmarek, M., Castor, M., Cheng, S., & Mann, R. (2017, June). Good for Whom? Unsettling Research Practice. In Proceedings of the 8th International Conference on Communities and Technologies (pp. 290-297).
- In class
- Slides
- Differences between: Contextualized, indiginizing, decolonizing & culturally responsive eduction
- Worksheet
Week 10: Nov 10: Accessibility
- Before class, read:
- Kristen Shinohara, Cynthia L. Bennett, and Jacob O. Wobbrock. 2016. How Designing for People With and Without Disabilities Shapes Student Design Thinking. In Proceedings of the 18th International ACM SIGACCESS Conference on Computers and Accessibility (ASSETS '16). ACM, New York, NY, USA, 229-237. DOI: https://doi.org/10.1145/2982142.2982158
- Kawas, S., Vonessen, L., & Ko, A. J. (2019, February). Teaching accessibility: A design exploration of faculty professional development at scale. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (pp. 983-989).
- Optional: Introduction of Ellcessor, E. (2016). Restricted access: Media, disability, and the politics of participation (Vol. 6). NYU Press.
- In class
- Slides
- Disability 101
- Universal design
- Worksheet
Week 11: Nov 17: Disability & Crip Computing
Project milestone due to peers
- Before class, read:
- Ymous, Anon, et al. ""I am just terrified of my future" - Epistemic Violence in Disability Related Technology Reserach" CHI 2020.
- Hamraie, A., & Fritsch, K. (2019). Crip technoscience manifesto. Catalyst: Feminism, Theory, Technoscience, 5(1), 1-33.
- Optional: Bennett, Cynthia L., and Daniela K. Rosner. "The Promise of Empathy: Design, Disability, and Knowing the Other." In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems, p. 298. ACM, 2019.
- In class
- Slides
- Intersectional look at ableism
- Ableism in education, in CS education, & in CS research
- Worksheet
Week 12: Nov 24: Sustainability
Peer feedback due to peers
- Before class, read:
- Erkan, A., Pfaff, T., Hamilton, J., & Rogers, M. (2012, February). Sustainability themed problem solving in data structures and algorithms. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (pp. 9-14).
- Easterbrook, S. (2014, August). From Computational Thinking to Systems Thinking: A conceptual toolkit for sustainability computing. In ICT for Sustainability 2014 (ICT4S-14). Atlantis Press.
- Optional: Becker, C., Betz, S., Chitchyan, R., Duboc, L., Easterbrook, S. M., Penzenstadler, B., ... & Venters, C. C. (2015). Requirements: The key to sustainability. IEEE Software, 33(1), 56-65.
- In class
- Slides
- History of civilian computing
- Climate change and modern computing
- Worksheet
Week 13: Dec 1: Teaching Privacy & Security
Project milestone due to Elizabeth
- Before class, read:
- Egelman, S., Bernd, J., Friedland, G., & Garcia, D. (2016, February). The Teaching Privacy Curriculum. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (pp. 591-596).
- Almansoori, M., Lam, J., Fang, E., Mulligan, K., Soosai Raj, A. G., & Chatterjee, R. (2020, August). How Secure are our Computer Systems Courses?. In Proceedings of the 2020 ACM Conference on International Computing Education Research (pp. 271-281).
- In class