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

Computational Thinking & Block-Based Programming


Learn to teach K-12 students core programming concepts through block-based languages. No prior programming experience required!

More sessions coming soon

About This Course

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 university 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.

What you will learn

At the end of this course, teachers-as-students will be able to:

  • Design programs to solve problems in a block-based language using basic storage (i.e. variables and arrays) and common flow of control (sequencing, selection, repetition).
  • Utilize techniques in the teaching of programming to increase student success (e.g, Parsons’ problems for reducing cognitive load, Peer Instruction for development of analysis and communication skills, Pair Programming for collaboration and debugging skills).
  • Complete the AP CS Principles Create Task and apply the Create task rubric to sample student work.
  • Indicate increased confidence in attitudes towards computer science (as evidenced by pre- post-Computing Attitude Questionnaire scores).


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.


  • Does this course help me fulfill the California CTC Supplementary Authorization to teach Computer Science?
    • This course does not confer university credit, which is required for the California Supplementary Authorization in Computer Science. If you know you need that take this course instead.
  • 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 at your own pace, you just need to complete before the "Classes End" date. When you finish your grade will be submitted and you will receive 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 August 31st, the year after the course started. In general, select the session that has already started, unless you know you won't complete by August 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 relevant course).