← Ayaan M. Kazerouni

CSC 513 Computing Education Research and Practice

As taught in Winter 2023. If you’re a current student in this course, please refer to our course Canvas, not to this page.

Contents

Acknowledgement

The course structure was heavily inspired by conversations with Zoë Wood and by Mark Guzdial’s blog post detailing a similar course.

Syllabus

Welcome!

Course: CSC 513 Computing Education Research and Practice

Overview: An overview of the current landscape of computing education research and practice, covering key findings about how people learn computing, diversity and equity in CS, and a discussion of how and why computing goes beyond computer science.

Pre-requisites: Graduate standing or consent of instructor.

Course info

Motivation: A basic understanding of computing has been called a “21st Century Literacy”, allowing a person to better engage with and reason about the digital environments in which much of our personal and professional lives take place. As computer scientists, not only are we are uniquely situated to thrive in this digital era, we are also in a good position to help democratise this potential. To do that, there is a need for computing educators and computing education researchers to push forward the science of computing education at all levels. This course aims to present students with the landscape of What We Know about how people learn computing, to train them to critically examine research in the area, and to propose new work that expands our knowledge of the subject.

Learning goals

After this course, you will be able to:

In pursuit of the goals above, this course will involve a fair amount of:

Grading and assessments

Grades will be distributed across the following items.

Details about these assessments are below.

Reading reflections

Each week will involve “readings”. These will most often be research articles, but sometimes they may be blog posts or videos, etc. To “seed” the discussion, these will often be accompanied by reflection prompts. You can find these under “Reading reflections” on the assignments page. Please plan to spend some time on these reflections—some weeks may take more time than others because the prompts involve tasks in addition to a short written response.

Most importantly, read (or watch, or listen to) these artefacts critically, connect them with what we’ve learned from this class and from your own experience (after all, you’ve been CS students for years), and come to class ready to participate in the discussion.

List of reflection prompts

Paper sleuthing

Read and analyse a paper with a specific role in mind. Write up your analysis in 1–2 pages (see further below for formatting instructions). There are two possible roles (below); you should make 1 submission per role, and each submission should cover a different paper or topic. The roles are described below and each has some specific instructions.

You may choose any papers from our reading list for these submissions, or papers that are not on our reading list provided they are related to computing education research (see more information below). There’s no ordering requirement on roles or papers chosen. Note that the first one of these is due during Week 4—you are not required to stick to papers or topics from before that date. Feel free to read ahead, or pick a topic of your choosing (related to computing education).

Detailed guidelines and examples for each of these roles are available.

Roles

At the top of each submission, please clearly include your name and the role under which you’re writing. The submission should include a reference for the paper you’re writing about.

Research study proposal

Identify a novel research question and design a research study to answer that question. The final proposal should contain the following elements:

Research studies can take the following forms:

Deciding on your project. You can choose your own research topic, area, and methodology within computing education. There are a couple of “milestone” submissions (see below) which you can use to solicit feedback and approval for your project topic; this is mostly to discuss scope rather than the actual topic. But you need not wait till submissions to get feedback; feel free to get in touch with me over Slack or office hours to discuss projects.

There are several deliverables to this project:

Report formatting instructions

All written submissions will be PDFs written using the standard 2-column ACM conference paper format.

For certain assignments you will need to conduct literature review on your own. E.g., if you’re looking work that’s related to one of the paper’s in our reading list, or if you’re looking for work related to a topic that’s not on our reading list (encouraged!).

If you’re looking for work related to a known paper, you can track down papers that are in the known paper’s bibliography, or you can look for subsequent work that cites the known paper. You can do this by searching for the paper in Google Scholar, and clicking on the “cited by XX”. This brings up a list of paper’s that are citing the paper. Not all of these will be relevant!

If you’re conducting a fresh search (which you will do for your research proposal at the very least), you’ll be looking for work that’s related to computing education, or at least education in general. The following conference proceedings and journals are good places to look. Note that this is a non-exhaustive list; you’re encouraged to look farther afield.

Articles within these venues should be available for free if you’re on campus or on the campus VPN. Alternatively, for many articles you can access them through the Cal Poly Library website.

Communication

Accessibility and inclusivity

I know that everyone is unique, and I may have unintentionally overlooked something that limits access to some materials or activities. Please let me know if you cannot access any content. If you need additional accommodations to complete the required course work, please contact me as soon as possible! You should also contact the Disability Resource Center. Here is a link to the Cal Poly Accessibility Policy and the Accessibility within Canvas statement.

SensusAccess is a self-service, alternate media solution made available by Kennedy Library to automatically convert files into a range of alternative media including audiobooks (MP3 and DAISY), e-books (EPUB, EPUB3, and Mobi) and digital Braille. The service can also be used to convert inaccessible files such as image-only PDF files, JPG pictures, and Microsoft PowerPoint presentations into more accessible and less tricky formats. This service is available at no charge.

We expect every member of this class to contribute to an inclusive and respectful culture. Students in this class are encouraged to speak up and participate in different forms. I recognise that our individual differences can deepen our understanding of one another and the world around us, rather than divide us.

In this class, all students are strongly encouraged to share their rich array of perspectives and experiences. If you feel your differences may in some way isolate you from our classroom community or if you have a specific need, please speak with me as soon as possible so we can work together to help you become an active and engaged member of our class and community.

Course schedule

Assignments come in three flavours: Reading reflections, Paper sleuthing, and submissions related to the research study proposal.

WEEK TOPIC READING ASSIGNMENT DUE
1 Course introduction   Introduce yourself in Canvas
1 Computing for everyone Good (and Bad) Reasons to Teach All Students Computer Science (Lewis) Reading reflection #1
2 How people learn Chapters 1 & 2 from How People Learn (Bransford, Brown, Rodney, & Cocking)
Learning: From Speculation to Science
How Experts Differ From Novices
 
2 Introductory programming Chapter 2 from Learner-Centered Design of Computing Education (Guzdial)
The Challenges of Learning Programming
Reading reflection #2
3 Notional machines Sections 1–4 from Notional Machines and Introductory Programming Education (Sorva)  
3 Contextualised computing education Chapter 4 from Learner-Centered Design of Computing Education (Guzdial)
Media Computation and Contextualised Computing Education
Computing with CORGIS: Diverse, Real-World Datasets for Introductory Computing (Bart, Whitcomb, Kafura, & Shaffer)
Reading reflection #3
4 Programming environments What is a Pedagogic IDE? (Krishnamurthi)
Comparing Block-based and Text-based Programming in High School Computer Science Classrooms (Weintrop & Wilensky)
 
4 Meta-cognitive scaffolding
Coursenotes
First Things First: Providing Metacognitive Scaffolding for Interpreting Problem Prompts (Prather, Pettit, Becker, Denny, Loksa, Peters, Albrecht & Masci)
Executable Examples for Programming Problem Comprehension (Wrenn & Krishnamurthi; 📽️ Talk recording)
Reading reflection #4
Paper sleuthing #1
5 Educational data mining; AI in computing pedagogy Toward Data-driven Example Feedback for Novice Programming (Zhi, Marwan, Dong, Lytle, Price & Barnes)
The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming (Finnie-Ansley, Denny, Becker, Luxton-Reilly & Prather)
Exploring the Learnability of Program Synthesizers by Novice Programmers (Jayagopal, Lubin & Chasins)
Reading reflection #5
5 LIGHTNING TALKS    
6 Learning a 2nd PL Understanding Conceptual Transfer for Students Learning New Programming Languages (Tshukudu & Cutts)
📽️ Talk recording
 
6 Spatial skills
Coursenotes
Investigating the Relationship Between Spatial Skills and Computer Science (Parkinson & Cutts)
Spatial Encoding Strategy Theory: The Relationship Between Spatial Skill and STEM Achievement (Margulieux)
Reading reflection #6
Research question white paper
7 ACADEMIC HOLIDAY    
7 Diversity & equity Diversity Barriers in K–12 Computer Science Education: Structural and Social (Wang & Moghadam)
Learning to Program: Gender Differences and Interactive Effects of Students’ Motivation, Goals, and Self-Efficacy on Performance (Lishinski, Yadav, Good, & Enbody)
Alignment of Goals and Perceptions of Computing Predicts Students’ Sense of Belonging in Computing (Lewis, Bruno, Raygoza, Wang)
 
8 Spoken language and programming languages
(topic chosen by students)
Native Language’s Effect on Java Compiler Errors (Reestman & Dorn)
Relating Natural Language Aptitude to To Individual Differences in Learning Programming Languages (Prat, Madhyastha, Mottarella, & Kuo)
Reading reflection #7
8 Pedagogic programming languages
(topic chosen by students)
An empirical comparison of the accuracy rates of novices using the quorum, perl, and randomo programming languages (Stefik, Siebert, Stefik, & Slattery)
Hedy: A Gradual Language for Programming Education_ (Hermans; Also, try the Hedy language)
The Pyret programming language. Why Pyret? and Examples
Reading reflection #8
9 CSC 203 REVIEW    
9 Misc (topics chosen by students)
Machine learning education
Software engineering education
Learning Machine Learning with Personal Data Helps Stakeholders Ground Advocacy Arguments in Model Mechanics (Register & Ko; Abridged write-up available)
Experience Paper: A First Offering of Software Engineering (Davis, Amusuo & Bushagour)
Paper sleuthing #2
10 NO CLASS. CSC 203 TEACHING ACTIVITIES    
10 Cybersecurity education
(topic chosen by students)
Teaching Cybersecurity with Networked Robots (Lédeczi, MarÓti, Zare, Yett, Hutchins, Broll, Völgyesi, Smith, Darrah, Metelko, Koutsoukos, & Biswas)
Evaluation of Peer Instruction for Cybersecurity Education (Deshpande, Lee, & Ahmed)
Reading reflection #9
Finals week     Final report due