Computational Thinking & Block-Based Programming | UC San Diego Online
Skip to main content

Computational Thinking & Block-Based Programming


About This Course

This course is intended for those interested in learning to teach computational thinking and block-based programming languages in the K-12 learning environment. Prior programming or CS teaching experience is not required.

Learn to teach K-12 students the core concepts of programming through block-based languages. Experience a scaffolded model for student learning using UC Berkeley's Snap! but also explore and evaluate other freely available languages and curriculum (Scratch,,, CodeHS, etc.). Engage with unplugged activities, common student misconceptions, and the AP CS Principles Create Task. Learn to include best CS classroom practices including pair programming, peer instruction, developing debugging skills, and Parsons' problems. Develop resources to support your development of an equitable CS course with resources for counselors, administrators and students.

Course cost: $300 This course does NOT confer any unviersity credits.

Do you want to earn UC San Diego graduate credit? Take this course instead. Credit is required for the California Supplementary Authorization in Computer Science.


There is no programming prerequisite knowledge for this course. The course does expect some familiarity with or interest in teaching at the primary and/or secondary level. Teachers with no prior computer science background enjoy and succeed in this course.

Course Staff

Course Staff Image #1

Dr. Beth Simon

Dr. Simon has 20+ years experience teaching and improving student outcomes through best practices in introductory programming. She has been involved in K-12 efforts in CS for over 10 years serving as an inaugural piloter of the APCS Principles course, leading the development of California's CS Standards, and offering courses for in-service and pre-service teachers seeking to teach computing in K-12.

Frequently Asked Questions

Does this course help me fulfill the California CTC Supplementary Authorization to teach Computer Science?

This course does not confer univeristy credit, which is required for the California Supplementary Authorization in Computer Science. If you know you need that take this course instead. If you are not sure, you can start with this course and upgrade later.

Why is the class so long? What if I want to complete it sooner?

This course is offered with flexibility for busy teachers in mind. You can complete the course on your own pace, you just need to complete before the "Classes End" date. When you finish your grade will be submitted and you will recieve your transcript within 1 month. The course contains ~100 hours of learning materials and activities which you can complete as fast or slowly as you want. We also want you to have access to the course WHILE you are teaching, which is why you have access until summer.

What session should I sign up for?

You have until the session end date to complete each course - the session end date is June 29, the year after the course started. In general, select the session that has already started, unless you know you won't complete by June of next year, then select an upcoming session.

Can I pay by purchase order?

Yes! Please follow the instructions here to start the process.

Who will help me if I get stuck in the course?

The course is continuously monitored by the professor and designated staff. You are encouraged to ask questions on the course discussion forum and we (and possibly others in the class) will get back to you.

However, this course is designed for you to learn with materials you can turn around and use with your students. We hope you will find the course materials and activities interesting and enjoyable, not dry and onerous.

Can I get more detail on what EXACTLY, I will learn and do in this course?

Yes, as this course was designed specifically with teachers in mind, it differs a bit from courses for computing majors. Check out details about this course here (be sure to scroll to the relvant course).

  1. Course Number

  2. Classes Start

  3. Classes End

  4. Estimated Effort

  5. Course Length

    15 weeks