Optimizing Instruction: The Workshop Model

Wednesday, July 29th 2020, 9:00:28 am

Tim Feimer wants his middle school students to know anyone can learn computer science. To that end, he uses the Workshop Model to ensure no student gets lost in the details or feels overwhelmed. By breaking lessons down into four familiar parts—Aim/Do Now, Mini-Lesson, Student Practice, and Sharing—he has created a classroom culture where each student is building an identity for themselves as a coder.  


In courses where students are expected to complete multiple long-term projects over the course of the school year, a clear structure will help them feel more confident and take more creative risks. Use the Workshop Model to structure every lesson so students know what to expect and how to behave every time they walk into your classroom.


  • Make sure the Aim helps students focus on what they will learn that day. Pick a Do Now activity that reinforces content they learned in the previous lesson and can be started and completed within five minutes of entering the classroom.
  • Teach a Mini-Lesson that gives students one or two major ideas or skills that can be understood and applied to their assignments immediately.
  • Reserve the majority of class time for Practice, letting students work on an assignment or making progress on a long-term project. During this time, be available for questions and individualized instruction.
  • Make sure you leave time at the end of class for sharing. Students should be able to say what they accomplished during class and note the questions or challenges they encountered. Create an environment where students can help each other solve problems or debug code, and make sure the class is ready to move on together to the next lesson.



  • Give students a Do Now as soon as they enter the classroom to help them focus on the concept you want them to explore that day.


  • Use the Do Now to reinforce an old skill, the Mini-Lesson to introduce a new skill, and the Student Practice for students to synthesize and apply both skills to a website or program.


  • Introduce past examples of student work during the Do Now, and teach underlying concepts during the Mini-Lesson. Then challenge students to build up past work during Student Practice.


  • Use the Do Now and Mini-Lesson to introduce a critical topic in computing. Afterwards, give students the chance to form and express opinions during Student Practice.


  • Aim / Do Now: What teachers (and learners) want to achieve in a lesson or a course.

Resource content by Tim Feimer, with the assistance of the CS4All team. Video by Rook Productions. Consultation by Tythe Design and Tiny Panther. Published by CS4All.