educator Resources

Answers to common questions, developed by teachers for teachers.

How Might I Manage Group CS Projects?

Collaboration is a key concept, used by educators and software engineers alike. A good CS classroom will include lots of collaboration, but how does one manage it? This resource details strategies for structuring and encouraging student groups.

CS Centers: Sparking Student Interest Through Choice

In this video resource, we see how setting up CS centers in your classroom can give students choice and time to collaborate and puzzle through problems together. Centers also help maximize usage of resources.

CS Unplugged: Teaching and Learning CS Without Devices

Computer science principles can apply to much more than just using technology. Unplugged activities allow students to explore computing impact and concepts without electronics, making the lessons accessible to all classrooms.

How Might I Evaluate Student Progress?

Creating evaluation metrics is a difficult yet important task for any effective classroom. This resource contains tips on assessing and evaluating students in the context of a CS unit.

How Might I Structure My CS Lesson as Project-Based Learning?

Project-based learning is a powerful tool for understanding and applying concepts. CS can be used in PBL classrooms with practices outlined in this resource, including definitions, explanations, best practices, and resources.

How Do We Create Teams and Buy-In to Support CS Roll Out?

CS Education can only become prevalent, supported, and effective if schools and communities are interested in the impact of teaching meaningful computing skills. You can be an ambassador for the value of CS education in your school and community.

Tools for Translation: English Language Learners Code in Two Languages

In JoAnn Westhall’s fifth grade classroom at PS 31Q in Bayside, Queens, all students, including English Language Learners, get the exact same lesson at the exact same time.

Differentiation: Multiple Means of Engagement, Representation, and Expression

When teaching her special needs students at PS M811 Mickey Mantle School in Manhattan, Alana Robinson employs differentiation to make sure each student is engaged.

How Might I Manage Students’ Programming Work?

Development Environments allow students and you to program, compile, debug, and run, all within the same program. How do we know which to choose? How can we manage our digital classroom with similar workflows as our physical one?

Collaborative Languages: Learning English and CS

In this video, we see similarities between learning programming and spoken languages. The teacher's development of non-verbal cues in the classroom helps students to learn complex CS concepts.

How Might I Prepare Students to Use Devices?

Devices can be useful in the classroom, but they can also be divisive (device-ive) -- students may or may not have varying levels of tech literacy and familiarity. This resource discusses diagnosing and increasing tech proficiency.

Differentiation: Kids Reaching Their Full Potential

Eric Allatta has a mission: Make sure all of his students master their computer science curriculum while simultaneously ensuring there’s no cap to what any one student can learn.

How Can I Utilize the Devices Already in My School?

You don’t need the newest or most powerful computers to implement computer science education in your schools. We discuss the issues and options you should consider when making things work in your school.

How Might I Manage Student Accounts?

Web-based environments are useful tools for collaboration, documentation, and sharing. This resource details some strategies for managing student accounts online. Also included: lists of tools and analog alternatives.

Flipped Classrooms: Individualizing Instruction with Video Lessons

This video resource showcases the flipped classroom model, where students learn concepts during homework time and work on assignments during class time.

Optimizing Instruction: The Workshop Model

The Workshop Model is a popular and effective classroom model for developing new skills. This video resource showcases how to bring the workshop model into the CS classroom.

How Might I Proactively Differentiate My CS Instruction to Reach All Learners?

The Universal Design for Learning framework is proactive in planning curriculum for all students. This resource instructs on how to evaluate potential CS curriculum for UDL standards.

How Might I Structure Daily CS Instruction?

A resource on using the workshop model to structure your everyday CS lessons. Includes a description of the model and examples.

How Might I Prepare to Teach a CS Unit?

Preparing to teach a CS lesson or unit is somewhat different from preparing to teach other subjects. This resource discusses prototyping example projects for your classroom.

Peer Review: Students Learning from One Another

Collaboration and peer review is an essential skill in the modern programming community. This video resources showcases meaningful peer assessment in the CS classroom.

Individualized Assessment: Tracking Student Success with Objective Metrics

With Abe Cohen's approach to asynchronous instruction, his students move through lessons at their own pace, tracking their progress with their school's online tracker software.

What is Creative Computing?

K-12 CS education in New York City emphasizes creative computing as a way to make computer science relevant to a broader audience of students.

Culturally Responsive CS: Drumming and Debugging

Learning syntax and programming languages can be fun and relevant to students' interests. In this video resource, we visit a classroom where drumming is used to learn the patterns in code.

Project-Based Learning: Learning Real World Skills Through Long-Term Collaboration

Renne Castro uses Project Based Learning to teach his students more than just the fundamentals of computer science. Renne’s Bayside High School students come together in teams to work on a four-month project of their own choosing...