Lecture 01: Welcome to CS298: Teaching Introductory Computer Science

CS298 / EDUC298

Fall 2023

Stanford University

Computer Science Department

Lecturer: Chris Gregg

  • I'm Chris Gregg (cgregg@stanford.edu)
    • Electrical Engineering undergrad Johns Hopkins; Master's of Education, Harvard; Ph.D. in Computer Engineering, University of Virginia
    • Senior Lecturer in CS, teaching CS 106B/X, CS 107/107E, CS208E, CS 110, CS298
    • 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

 

  • Logistics
    • The primary resource will be the class reader, Your First Year Teaching 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

 

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!

Assignment 1 -- Due Moday, October 9th, in class

CS298 Lecture 01: Introduction

By Chris Gregg

CS298 Lecture 01: Introduction

  • 1,830