David Steckler// cs · robotics · thinking for yourself
// about.david

I’ve always been drawn to the more difficult path.

I’m David Steckler. I teach 7th grade computer science at Highlands Middle School in White Plains. I teach coding and robotics, but I care just as much about whether students can think through a problem without immediately needing someone to tell them what to do.

I have always been drawn to the more difficult path. Life is more interesting that way. The moments I am proudest of usually come after I have done something hard, uncomfortable, or uncertain.

I help students stop feeling helpless with technology and start building things they’re proud of. That is probably the simplest way to explain what I care about.
David Steckler
David Steckler
teacher · builder · endlessly curious
// how I got here

How I ended up teaching computer science.

I did not have some big plan to become a computer science teacher. I started as a math teacher. Then I had the opportunity to teach robotics and automation. It sounded difficult and interesting, so I said yes. That decision changed the way I teach.

Teaching tennisAs a teenager at a Nike tennis camp, I realized I really liked helping someone get better at something. You could see the improvement happen right in front of you.
Math teacherI began teaching math. I liked teaching, but I was still figuring out what kind of teacher I wanted to be.
Robotics and automationI got the chance to teach something I did not already know inside and out. I had to learn, build, troubleshoot, and figure things out along with the students. I loved that.
Computer scienceProgramming clicked with me because the thinking is visible. You write something, run it, and find out pretty quickly whether your idea actually worked.
NowI teach 7th grade computer science, build curriculum and tools, and keep changing things when I think there is a better way to do them.
// why I teach

I love the moment when a kid realizes they can actually do it.

I think we sometimes help kids too fast. They get stuck, an adult jumps in, and the hard part disappears. I do not want students sitting there lost forever, but I also do not want to take away the part where they try something, realize it did not work, and figure out what to do next.

Middle school is a weird age in a good way. Kids are old enough to have real opinions and think about big ideas, but they are still figuring out who they are and what they think they are good at. A lot can change in a few months when they start seeing themselves differently.

I want students leaving my room more willing to try something hard, make a mistake, ask a better question, and keep going. If they learn some Python along the way, great. I care a lot about the person they are becoming while they learn it.

There is no speed limit to learning. Some students move quickly. Some need time. Some surprise themselves later.
// this is one of the ideas I come back to the most
// how the room works

The basic loop is pretty simple.

Try something. Run it. See what happened. Fix something. Try again. I like teaching this way because students are doing something almost immediately instead of listening to me explain it for twenty minutes first.

Code is great for this because the computer does exactly what you told it to do, even when that is not what you meant. The feedback is immediate. You can be wrong, see why, change it, and run it again. I think that is one of the best ways to learn.

Immediate feedback

Do something, run it, and find out right away what happened. You do not have to wait until tomorrow to know if you understood it.

Student ownership

I want students making choices. If the only thing they can do is copy my steps, I do not think they really own it yet.

Useful struggle

Getting stuck is not automatically a problem. Sometimes that is the exact part where the learning starts.

  • Students doing more and listening to me less.
  • One idea, then a chance to actually try it.
  • Projects that feel worth doing, not work that only exists because it is school.
  • Students helping each other and explaining what they know. Being useful to other people is a real skill.
  • Enough room for a good question to change where the lesson goes.
  • Students being able to tell that they are getting better.
// why computer science

My classroom is where programming meets thinking.

Students learn code, but they also learn how to approach problems, question assumptions, make decisions, and keep going when the answer is not obvious.

I like computer science because it makes thinking visible. If your logic is vague, the result is usually vague too. If something breaks, you have to slow down, look at what actually happened, and stop guessing. That carries over into a lot more than programming.

I also want students to understand what is under the surface. A picture, a sound, a game, a robot moving, a chatbot answering you — none of it is magic. It is information, instructions, systems, and choices made by people.

In many ways, my teaching is shaped by my favorite high school class, Dilemmas, where big questions mattered. I try to bring that same spirit into computer science through ethical puzzles, personal stories, philosophy, and questions that do not always have one clean answer.

Learning code matters. Learning how to think when you do not immediately know the answer matters more to me.
// why I keep teaching computer science this way
// AI and new tools

I want students using AI. I also want them thinking.

AI is already part of the world they are growing up in, so pretending it is not there makes no sense to me. I want students to know how to use it well. I also want them to notice when it is doing the thinking for them.

That means knowing how to ask for what you actually want, check whether the answer is true, revise it, compare it with other sources, and sometimes close the AI and do the hard part yourself. A confident answer is not automatically a correct one.

Use it

Brainstorm, explain something another way, test an idea, get unstuck, or move faster once you understand what you are doing.

Don’t just trust it

Check the answer. Ask where it came from. Notice when it sounds right but is not actually saying anything useful.

// what students and I build

I like making stuff.

I like when students finish class with something they can actually show someone. Code, graphics, animations, games, webpages, robotics challenges, weird logic problems — something that exists because they figured out how to make it.

That is one of my favorite things about computer science. A line of code becomes a shape. A variable changes what happens. A sequence becomes behavior. Something that was only in your head a few minutes ago is suddenly on the screen.

I do the same thing outside the student projects. I am constantly making webpages, tools, games, AI stuff, curriculum, and random experiments because I like seeing whether an idea can become something useful.

When students leave my class, I want them to have more than a grade. I want them to have something they made and a little more evidence that they can figure things out.

// outside the classroom

I’m curious about a lot of random things.

I’m furiously curious and I love learning. Outside school that turns into lifting, tennis, strategy games, training Pixie, reading, building random projects, and going way too far down a rabbit hole because something caught my attention.

I read a lot about behavior, money, technology, psychology, philosophy, decision making, and why people do what they do. I also like games and systems where there is always something else to learn. Life is more interesting that way.

🏋️
TrainingI like getting a little better at something over time.
🎾
TennisI have been around it long enough that I still think like a coach sometimes.
📚
ReadingUsually something about people, systems, technology, money, or philosophy.
🎮
StrategyI like games where you can keep learning the system for years.
🐾
PixieMy dog, frequent training partner, and usually somewhere near me.
// what drives me now

I’m still figuring this out.

I do not think I have a finished teaching philosophy. I change things constantly. I try something, watch what students actually do with it, keep the parts that work, and rethink the parts that do not.

I want students to learn hard things, build real things, change their minds when the evidence changes, and ask better questions. I want technology to make them more capable, not more dependent.

Education is my work, but it is also one of the main ways I keep learning myself. I get to spend every day around people who are still figuring out what they think. I like that.

Still learning. Still questioning.

I’m still changing my mind about things and still trying new stuff. That is kind of the point.

Get in touch →