Smaller set of changes this time, hoping I can get down the workflow of doing these kind of releases as I go.

New chapter outlines

  • How to support learners at different levels
  • How to plan a successful activity


  • Started keeping release notes
  • Started keeping feedback notes from colleagues

📓 Download v0.0.2


How to plan a module/unit

Using the materials you already have, work backwards from your learning goals to define a successful learning experience over the course of a unit.


  1. Review materials
  2. List out all topics covered
  3. Establish high level learning goals
  4. Write essential questions and key understandings
  5. Brainstorm evidence you’ll need that your learners met the goals
  6. Create learning activities that will result in that evidence
  7. Break down the learning activities into a schedule
  8. Fill in topics that will need to be covered to support learners to successfully accomplish the activities
  9. Decide on prep work, lessons, guided activities, homework assignments, labs, and larger projects

Adapted from Understanding by Design

How to plan a successful lesson

Plan backwards from your learning objectives to create an active learning environment which allows you to check progress in stages as you conduct class.


  1. Review materials, existing plan, and learning objectives
  2. Rewrite learning objectives
  3. Scaffold the learning objectives to build toward the skills you want to develop in the lesson
  4. Plan 1-2 checks for understanding for each objective
  5. Outline lesson chunks to prepare for each check for understanding
  6. Write an opening framing / hook
  7. Write a closing recap, connecting to future learning
  8. Give the lesson a catchy name
  9. Write a 1-2 sentence overview of the lesson

How to leave at 6 every day with peace of mind


  • set up rituals and routines
  • treat your time, your TAs’ time and your students’ time as resources
  • plan using swim lanes
  • dedicate time to unit planning and lesson planning
  • coach your TAs on giving feedback on student work
  • include students in feedback process
  • include TAs in teaching, especially rituals and labs
  • students as teachers: lunch and learns, lightning presentations
  • ruthlessly protect your priorities
  • check email/Slack on a fixed schedule
  • prepare a weekly calendar before class starts before even thinking about content, with slots for content later

How to tell whether they learned what they’re supposed to

Check for understanding early and often in class to gauge progress. Plan with some flexibility so you can adapt on the fly depending on whether you’ve achieved the learning goals.


  • Plan for a check for understanding roughly every 15 minutes.
  • The goal is to see if everyone understood something before moving forward with the lesson.
  • You’ll know you’re not doing this super well if you find yourself constantly asking “Everyone got it?” Asking students to self-report their learning in this way is pretty unreliable.
  • So, plan good questions before you even enter class. Based on a learning objective, what question or questions could you ask which would reveal whether that learning goal had been met?
  • Try also preparing a “good” answer to that question and a few different “bad” answers to the question. This will help you think through what you’re really asking and looking for in the possible answers to what you’re asking. You might go back and refine the question if needed. At the very least, you’ll have a better sense of what possible misunderstandings may arise in the lesson, and can work to avoid those pitfalls in the first place. Plus you’ll have the chance to think through in advance what you’d do if a misunderstanding arises, instead of having to improvise on the spot which can be exhausting and take up a lot of class time.
  • Once you have questions in mind, plan how you want to incorporate them in class.
  • Not the best idea: just ask the question and take a volunteer. Many people will stay disengaged, certain people will always be more likely to raise their hand to answer, and you’re much more likely to start going down a rabbit-hole where you’re in dialog with only one student, possibly losing some or all of the rest of the class.
  • How could we get every student to try answering the question?
  • Instead of asking one student, ask everyone to spend a minute or two writing down their own answer to the question. Walk around a bit as the students write to take note of whether you’re seeing what you’re looking for. Then come back and ask for volunteers to answer the question—or, better yet, call on someone who you saw had a good answer but might otherwise not volunteer to speak up in class. “Victoria— could you share your answer with the class?”
  • The main move here is getting everyone in the class actively thinking about the answer to the question. There are some variations on this theme.
  • Write/Pair/Share — After having the students write down their answers, ask them to turn to a neighbor and discuss what they wrote down, then regroup as a class and ask pairs to share what they came up with.
  • Try drawing instead of writing— Ask the students to draw a diagram of something they should know, or to sketch a rough version of an idea, instead of putting their answer into words. Examples:
    • Sketch a mobile login screen with appropriate labels
    • Draw a diagram of the data model you think would make sense for a library of books
    • Sketch the shape you expect a normal distribution to take
  • Collect answers on the board:
    • Call on a few different students, writing down each answer you get on the board before revealing anything about what you consider “right” or “wrong”. Open up discussion to the class. “Who thinks this is a good answer?” “Why?” “What’s missing from this description?”
    • Save time by asking a few students come up and write their answers on the board themselves.
  • Cold call is simple but effective: you just call on a student to answer the question without taking volunteers. If you do this frequently enough, it keeps the whole class on their toes thinking through answers to questions you’re asking, because they don’t know if they’ll be called on next. This is even stronger if you ask a question, say something like “OK before I call on someone, I want everyone to think about that for a second, how would you answer that question?” then pause for a few beats while scanning the class, until finally saying “Dorian—what do you think?”
  • Ask ask ask is kind of a variation on cold calling. It works best if you have been keeping a rough idea of the levels of each student in class: low, average, and high. Pick three students, one at each level in your class to answer the question you’ve asked, and use a script like this:
    • “Alex, what do you think?”
    • Listen to Alex’s answer, without giving any indication what you think of the answer.
    • “Thanks Alex. Daniela—do you agree with Alex’s answer?” Listen for Daniela’s response.
    • At this point, Daniela will either agree or disagree. Depending on what she says, ask questions like “Could you add anything to Alex’s answer that would strengthen it?” “What’s missing from Alex’s answer?” “What would your answer be instead?”
    • Finally, go to the third student.
    • “Gabi—Do you agree more with Alex or Daniela?” or “Gabi—Do you agree with Alex and Daniela?” “Why is that?” “Is there anything else you would add or clarify?”

How to not get bored


  • Change the topics of projects so you don’t keep seeing too much of the same thing
  • Include students in decision-making processes about their own learning
    • More or less time for certain projects?
    • Content they want to go deeper in
    • Content the want to review
    • Choose their own topics for certain projects
  • Incorporate flexible time in your plans for each week
  • If you’re teaching multiple bootcamps in a row, try the following approach:
    • Process: Set up new rituals, processes, and routines inside and outside your class aimed to improving operations and allow you to use your time, your TAs’ time, and your students’ time more strategically.
    • Architecture: Make a bigger structural change to your course, based on a big goal. Examples:
      • Say there’s a topic area that needs more time to develop, consider reorganizing the class so that the topic can be introduced earlier, while moving back some content that may need less time.
      • Similarly, considering breaking some challenging topics up into more pieces so that you can scaffold the learning better with your students. Again, this will probably require reprioritizing some other areas.
      • If you’re feeling comfortable with a bigger change: try going through a unit planning process to decide on a new sequence for the whole course. Advanced… Probably don’t try this the first time. Could be okay the second.
    • Optimization: Spend a cohort refining and making adjustments based on what you learned from your Architectural changes. Otherwise, keep things the same.
    • Then it’s back to Process!

How to figure out what they really need to learn

  • Feedback loops with Outcomes / Career Services
    • Help them understand how students are progressing, try with a few different touch-points throughout the course
    • For your subject, give them tools to better understand your field and where it fits in the industry
    • Include them in a feedback loop with you about what kinds of jobs students are getting, what skills are companies asking for that may be lacking, and what skills are most sought-after among the first students to get hired
  • Network with more people in your city who work in your field
    • Ask for help from other members of your team if you’re not great at this… They may be able to make connections / introductions for you. Career Services Managers and Program Managers are probably already working to build partnerships and relationships with hiring companies and mentors for juries, etc. As they get to know you, they can help you build new relationships beyond the ones you already have in the industry.
    • Try to fan out: I have more agency experience, so I try to meet more people working in different settings like startups, in-house, big companies, so I can hear more about how they’re working.
    • Keep an open line of communication with your students as they start their first jobs, and especially when they move from one job to the next. Ask them what they’re really doing day-to-day, what struggles and challenges they’re facing.
  • Occasionally look through job postings for junior-level positions and keep your eye on common themes.
    • TIP: You might make this even easier for yourself if you assign all of your students to send in a few job postings they’re considering.
  • Keep reading in your area
    • You probably already follow blogs, posts, podcasts, and other publications related to your field. Keep an eye out for what’s going on. Being a teacher gives you a chance to take a different perspective looking at these resources not only from the view of “Is this professionally useful to me?” but with a lens of “Is this something I should be preparing my students for in the industry?”
    • This can also go a long way to keeping you actively engaged and prevent you from feeling bored in your role.
  • Look for “competencies” or “skills” overviews from trusted resources in your area.
    • For example, in my UX class, I rely on this competencies framework from David Travis: I’ve been recommending it to my UX colleagues for about a year now, after I first used it with my students in class. For now, it’s also become the recommended starting point for the UX/UI courses at Ironhack, and is helping the admissions team and outcomes team have better conversations with and about the UX job market, as well as the kinds of skills and competencies we’re aiming to develop in class. Over time I expect the whole organization to get more integrated around these types of things for each class, but it starts with you. Find trusted resources like this, try them out in your class, share what’s working and what isn’t. These are baby steps on the way to better defining the core of all of our classes at Ironhack, and as lead teachers we have an important role to play as the domain experts. We shouldn’t just rely on everyone else to figure this stuff out—this is a big place where we can really provide and value and help drive the organization and potentially even the industry forward.
  • Finally, use your own professional judgement
    • We all have our biases, but we’re hired here as professionals from our fields of practice and expertise. Based on your experience, if you think your students are being underserved in a particular area, try it out! If you think you and your learners are spending too much time worrying about something that isn’t all that important or that they’ll be unlikely to use, cut it down or cut it out!

How to plan a successful activity

Bad ideas

  • I’m kind of stuck on this section, so I’m gonna stream of consciousness…
  • Give clear directions, but be deliberate about what you’re giving directions on, and what you’re leaving out for them to figure out for themselves
  • Don’t “hide the ball”—if you’re expecting students to find some answers to their own questions, provide additional resources for the activity so they have at least a starting point
  • I do, we do, you do is a great starting point for structuring follow-along activities. Plan it so you show the class how to do something first, with their attention focused on you and your screen. Then have a follow-up activity that’s similar to what you just showed, but do it together with the class. Then, finally, give them some time to work independently, reinforcing the same thing they’ve now seen demonstrated, and practiced doing once with you. It may feel a little slow or tedious the first couple of times you do it, but damn if it doesn’t really work.
  • Plan activities away from the computer. Web dev classes I’m especially looking at you… 100% of the skills a developer needs are not just sitting at a computer and coding. Your students will thank you (even if they grumble at first).
  • Scavenger hunts can be fun, especially for tedious tasks like exploring the documentation of something new. Draw up a list of things for the students to find, divide up into teams, and be sure to give them a way to share what they find with the class. (A whiteboard or a shared Google Doc work well.) Make it more fun by adding some kind of silly noisemaker next to the board that they can toot when they’ve found something.
  • Something about 3 Acts?… not sure how to connect the dots on this one ATM.

How to prepare before class starts

Start with what you know, review any goals you have for this class in particular, put blockers for things that shouldn’t move, add in rituals and routines, schedule the big things, and finally layer in lessons, labs, and activities.


  • Review all projects, lessons, labs, and other activities
  • Hold a goal-setting session with your team (TAs, PM, etc.)
  • Schedule activities with outside dependencies
    • Jury panels
    • Field trips
    • Hackathons
    • Outcomes sessions
    • Outcomes reviews
    • Product reviews
    • Teacher standups or meetings
    • Campus standups or meetings
    • Guest lectures
    • Retrospectives
  • Plan rituals/routines
    • draw yourself
    • quiz
    • kata
    • review
    • games
  • Projects
  • Lessons
  • Lesson prep for students
  • Labs
  • Homework assignments
  • Make adjustments as needed as you go
  • I recommend doing this with post-its in-person if at all possible. Digitize as needed once you’ve got everything outlined: schedule calendar events, make Trello boards, LMS setup, etc.
  • If the learning platform isn’t the best “source of truth” for your class, no need to abandon it. Treat it like a textbook and provide links to the relevant lessons from your own plan, for example, a Google Site, master Trello, Github markdown files, Airtable, Notion… whatever works for your team and your students.

How to support learners at different levels


  • “Leveling” in class: play to slightly above the middle
  • What’s the goal? Improve everyone’s skills, with some even distribution. Not everyone is going to be ready for everything in class, and that’s OK. To some extent, you’ll need to accept this and also coach your students about this. (Feedback is crucial here.) However, this doesn’t mean your goal will necessarily be to lift everyone the same amount. My personal goal is to tighten the distribution of skills as much as possible, while lifting everyone. Yours may be different, and I’m not saying it always works out that way, but it’s good to have a goal in mind to be more deliberate in your approach.
  • There are two basic parts to differentiation: remediation and extension. Most of what you’ll teach will be complex enough, and draw on a sufficient number of skills and competencies, that almost everyone in class will be good at some things and struggle with others. I think of differentiation like this as well—not just differentiating instruction or assignments, but celebrating differentiation among learners as well. We all have different strengths and weaknesses, different comfort zones, backgrounds, wants and needs. And that’s before we even step into a learning environment.
  • In class, differentiation can look like this: based on some check for understanding, decide on a threshold of number of students who have demonstrated understanding before you move on, say 10–15%. In my classes, I strive for 2–3 at most. Keep track of who these students are so you can follow up with them after class to spot check a couple of things. If checking in 1 on 1 doesn’t help, try suggesting some readings. Handling these understanding issues outside of class allows things to keep moving for everyone else.
  • “Hey, I noticed you had some confusion about how to form a neutral question. Let’s try it one more time before we go to lunch, okay?”
  • This will be difficult to do without planning and managing your time well, and checking for understanding regularly. If you have a TA or co-teacher in the room, they may be able to assist by
    • jotting down names of students to work with individually after class
    • helping out students in the moment (especially with coding or software hiccups)
    • proactively helping out the students who are struggling with something as a “first line of defense”
  • For labs and homework, try adding bonus steps for students who are moving more quickly through certain material. These kind of extensions should give more advanced students in certain areas more of a challenge to deepen their knowledge and skills, without moving them into new material that will be covered soon in class. This can be a difficult balancing act, but try to use extensions to reach a deeper learning goal rather than new learning goals.
  • I do a lot of differentiation through scheduled 1-on-1s with my students. I ask them to come prepared with a self-assessment for how they’re doing across a number of competencies that I use throughout class, so that I can see how they understand their performance across those areas. As we go through, I ask them to give me examples of where they’ve seen themselves succeed and struggle within each bucket. As we go, I try to adjust their interpretation as needed, by either pointing out something they’ve done recently that exceeded their self-assessment, or something I saw them struggle with that they may be ignoring or overlooking. By the end of the session, I ask them what area they would want to most see improvement, and then use that as a basis to suggest extra practice, things to focus on in upcoming projects, or even additional readings, videos, or other resources they might find helpful.

How to give learners feedback that really works

How to build a team around you

How to help a teacher improve over time

How to prepare a new teacher for their first class without breaking a sweat

How to evaluate a teaching candidate


Release Notes

Differentiation, activities, and notes

Version 0.0.2 July 23, 2019

Smaller set of changes this time, hoping I can get down the workflow of doing these kind of releases as I go.

New chapter outlines

  • How to support learners at different levels
  • How to plan a successful activity


  • Started keeping release notes
  • Started keeping feedback notes from colleagues

Initial Outline

Version 0.0.1 July 22, 2019

So far, this is a combination of initial thoughts, outlines, and rough notes for about half of what I’m planning to cover. I realized along the way that I have a more developed sense of checking for understanding in class than I originally thought. I feel like this is gonna be an interesting ride.

In this version, you’ll find an outline + notes for the following chapters:

  • How to plan a module/unit
  • How to plan a successful lesson
  • How to leave at 6 every day with peace of mind
  • How to tell whether they learned what they’re supposed to
  • How to not get bored
  • How to figure out what they really need to learn
  • How to prepare before class starts

Lesson ideas

For teachers and coaches

  • How to plan a module/unit
  • How to plan a successful lesson
  • How to leave at 6 every day with peace of mind
  • How to tell whether they learned what they’re supposed to
  • How to not get bored
  • How to figure out what they really need to learn
  • How to plan a successful activity
  • How to prepare before class starts
  • How to support learners at different levels
  • How to give learners feedback that really works
  • How to build a team around you

For managers

  • How to help a teacher improve over time
  • How to prepare a new teacher for their first class without breaking a sweat
  • How to evaluate a teaching candidate

Topics brainstorm

  • checking for understanding
  • ask ask ask
  • write pair share
  • draw pair share
  • learning objectives
  • backward planning
  • blooms taxonomy
  • naming lessons
  • be less helpful
  • facilitator
  • guide on the side
  • observation and coaching sessions
  • giving and receiving feedback
  • competencies
  • active learning
  • code-along
  • design-along
  • unit planning
  • scaffolding
  • adult learning
  • self-directed learning
  • bookshelf metaphor
  • expectation setting
  • situation behavior impact
  • glows and grows
  • rituals
  • start stop continue
  • standup
  • critique
  • differentiation
  • remediation
  • classroom management
  • 1-on-1s
  • worksheets
  • visual organizers
  • scavenger hunts
  • hackathons
  • fishbowl
  • role-playing
  • data-driven instruction
  • career services feedback loops
  • flipped / blended learning
  • timed activities
  • transfer of ownership
  • metacognition
  • draw yourself
  • morning quiz
  • exercises
  • labs
  • structuring the week
  • peer feedback
  • TA role
  • prework review
  • classroom culture
  • professional “safe distance”
  • high-leverage feedback
  • rubrics
  • writing assignments
  • modeling
  • will/skill journey
  • materials review
  • process, architecture, refinement
  • essential questions

Feedback Notes

Shalyn on soft skills

I feel like the hardest part of teaching isn’t the hard skills but managing and encouraging the growth of soft skills.

André on teams

💡 How to build a team around you

Shalyn on instructions

Oh, so one thing the training always helps with is activities like energizers

One activity we did that I immediately did when the class was having students back to back, one person with a picture of random shapes, the other facing a white board table, and the person with the picture tries to describe the picture enough for the other person to draw, but drawer can’t speak at all or ask for them to repeat

Was a good lesson on how difficult it is to give directions or communicate a full idea without feedback, but also difficult to know what someone needs if you don’t have the space to ask questions and clarify