educator Resources

Answers to common questions, developed by teachers for teachers.

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 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?

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.

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

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.

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.

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.

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.

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

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

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.

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

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.

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.

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

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.

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.