Kevin Lin

CS Educator. Social/Data/Computer Scientist.

Schedule a meeting

End-User Programming

When it's really not about the turtles all the way down.

Course Reflections

Online learning in CSE 143: Computer Programming II.

Programming the World

Design principles for the future of computing instruction.

Peer Instruction to POGIL

Improving equity in CS education with guided lecture notes.

Data Structures Course Transformation

Design principles for the intersection of theoretical and practical CS.

Office Hours as a Tool of Oppression

A critical review of power and pedagogy in large-scale office hours.

Towards Robust CS Education

Equitable CS education in higher-ed: a 2-year retrospective on Teaching to Groups.

Contraction Hierarchies

Efficient Real-World Route Searching

Just the Class

A Jekyll template for developing course websites.

You're Spamming the Autograder

A lesson in user-testing, expectations management, and course integration.

Sending Mixed Messages

Do as I say, not as I do.

Historical Perspectives on CS Education

And a few other notes for the CS educator in-progress.

On GPS Syndrome

The code is never the focal point.

Microeconomics of the Faculty Job Search

An institution's most important resource is its people.

A Connector Course for Pre-Service CS Teacher Development

Bootstrapping pre-service CS teacher training with CS0.

A Berkeley View of Teaching CS at Scale

The road to 27,000 student enrollments per year, and what lies ahead.

Formative Feedback in Intro CS

Deploying in-class paper quizzes: from 40 to 400 to 1,400.

Teaching Faculty Job Search

A five year, non-traditional path into academia.

Near-Peer Student Mentors

Creating Scalable Learning Experiences in Large Lecture Courses.

Subgoals, Problem Solving Phases, and Sources of Knowledge

A Complex Mangle

The Medium is the Message

Understanding what a computer is, and what it can do.

Teaching to Groups

Advice for leading sections, and other thoughts from shadowing undergrad TAs.


A review of Papert's seminal work in modern context, 38 years later.

How to Learn CS

High-level learning techniques for how to succeed in CS 1 courses like CS 61A.

Year One

"12 hours a week," you said? I can do that, too.