top of page
front cover.jpg

Your First Year Teaching Computer Science:
A Practical Guide to Success for New Computer Science Teachers

Chris Gregg

If you are wondering where to begin as a computer science teacher, this is the book for you!

Your First Year Teaching Computer Science by Chris Gregg, Stanford University,  is a comprehensive guide to teaching computer science geared to new instructors in the field. It can be used as a guide and a reference, and it provides multiple examples of how to construct teaching materials, how to prepare lectures, how to write assignments, how to train TAs, and how to advise students, among many other topics. It is both motivational and instructive, and it provides a foundation on which to become a great CS instructor. Teaching computer science involves more than just “teaching the material,” and this book details all of the other parts of teaching that you will need to know to do the job.

Primary Market: college and high school instructors of computer science; students in teacher education courses on computer science methods; university teaching assistants

Courses: Computer Science Teaching Methods

Additional Resources



"Chris Gregg’s book is an essential read for any computer science instructor, regardless of whether you have taught for years or never taught before. Chris walks through all aspects of teaching, which includes far more than what occurs in the classroom. He emphasizes that the student experience should be at the center of teaching and staying current on skills and teaching pedagogies is critical to constantly improving your skills as an instructor. As more institutions of higher education, along with K12 schools, are teaching computer science, this book will prove invaluable for setting a foundation that will help departments provide students with high-quality education."

Jeffrey Miller, Associate Professor of Engineering Practice, Computer Science Dept.,


  • Instagram
  • LinkedIn


  • Terms

  • Acknowledgments

  • ​About the Author

  • ​Section I: MOTIVATION

    • Chapter 1 What Have I Gotten Myself Into?

    • Chapter 2 What I Wish I Knew Before Starting

  • ​Section II: NUTS AND BOLTS

    • Chapter 3 Know your Students

    • Chapter 4 Know your Subject

    • Chapter 5 Know your Tools

    • Chapter 6 Planning your Course

    • Chapter 7 Creating Awesome Assignments

    • Chapter 8 Lectures

    • Chapter 9 Grading (and the Role of Teaching Assistants)

    • Chapter 10 Online Resources


    • Chapter 11 Observing Others Teach, and Reflecting on your Own Teaching

    • Chapter 12 Handling Feedback

    • Chapter 13 Staying Current on, and Contributing to CS Education Research


    • Chapter 14 Interacting with Students: Holding Office Hours, Meeting Individually with Students, Advising Computer Science Majors, and Writing Recommendation Letters

    • Chapter 15 Prioritizing your Time, and When to Just Say No

  • Epilogue

  • ​Appendix: Teaching Online



About the Author

An award-winning teacher at the collegiate and high school levels, Chris Gregg wrote this book to provide new computer science teachers with both guidance and inspiration.  Drafts of this book have been used in a seminar called Teaching Introductory Computer Science at Stanford University where Chris is a computer science lecturer. He has a Master’s Degree in Education from Harvard University, a Ph.D. in Computer Engineering from the University of Virginia, and has been teaching actively for over twenty years.


bottom of page