At Stanford since 2016, at Tufts prior, and high school teaching prior to that.
I taught high school physics (and a bit of CS) for about seven years
This gave me a lot of time in the classroom
I have taught college CS courses since graduate school
I have taught students aged 8 through 68
I love teaching, and can't think of a better job
I have been working with Kira Learning (as "Head of Computer Science Education"), an Ed-tech startup using (and teaching) AI for K-12 around the country / world.
Lecture 01: Welcome to CS298: Teaching Introductory Computer Science
What is this class all about?
We will learn the nuts and bolts of teaching an introductory computer science course
Topics:
Introduction and Motivation to teach computer science
Know Your Students, Know Your Subject, Know Your Tools
Planning Your Course and Creating Awesome Assignments
Lectures
Grading
Online Resources
Observing Others Teach, and Reflecting on Your Own Teaching, and Handling Feedback
Staying Current on and Contributing to CS Education Research
Interaction with Students: Office Hours, Meetings, Advising, and Writing Recommendation Letters
Choose Your Battles, and Have Fun!
Lecture 01: Welcome to CS298: Teaching Introductory Computer Science
There will be weekly readings, and then class will be a mix of discussions and student presentations
The workload will be commensurate with a 1-unit seminar. I would like you to get some experience with developing course material, but you won't be designing an entire course.
At the end of the seminar, you should have the tools you need to develop your own CS course
Lecture 01: Welcome to CS298: Teaching Introductory Computer Science
Both of these papers were, in 2019, designated by the Association for Computing Machinery's (ACM) Special Interest Group for Education (SIGCSE) in their "Top 10 Research Papers of the past 50 years" (the others are great, too, and also feature a paper written by Stanford's Cynthia Lee!)
Why did I pick these two (ancient) papers?
Let's talk about them!
Lecture 01: Welcome to CS298: Teaching Introductory Computer Science
Planning for the First Day of Class
You are all sitting in class right now, ready to learn.
But...what did I have to do to prepare for today?
Have you ever considered what a teacher has to do for the first day, the second day, or for the entire term?
Lecture 01: The First Day of Class
Who motivated you?
We all have favorite teachers in our past -- who was a favorite of yours, and what did they do that motivated you?
We also have teachers we didn't particularly enjoy -- why is that?
Why do you want to teach computer science?
What is it about teaching that excites you?
What are you worried about?
What CS course(s) do you want to teach, and why?
Lecture 01: Motivation for Teaching Computer Science
Write down a few paragraphs about your favorite teacher you've ever had.
Focus on what they did that made their class great
e.g., was it their organization? Was it their style? Were they funny? Were they thoughtful?
Write down some thoughts on what kind of teacher you want to be (or are already). How would you define your own style?
If you can, reach out to that teacher to tell them how much you appreciate what they did for you!