Skip to content

Latest commit

 

History

History
78 lines (50 loc) · 5.73 KB

INSTRUCTIONS.md

File metadata and controls

78 lines (50 loc) · 5.73 KB

How to Use This Guide

This guide is hosted in Timesplitter, a tool for helping instructors teach their best classes. We use Timesplitter as a virtual teaching assistant, so that classes stay on time and on track.

Before You Teach

Before you start teaching, there are a few things you can do to be more prepared.

1. Materials

Gather the materials that are necessary for the class. You'll need this guide open on a second screen (iPad/tablet or 2nd monitor). If you're teaching the course online, you may want to invest in a second monitor. It doesn't have to be the most expensive monitor, but this will allow you to use it as a cheatsheet while you're teaching.

Checklist:

  • Open this guide on a iPad/tablet or Second Screen
  • Download the Student Repo
  • Review and Run the Samples, Exercises, and Labs (if it's new to you or it's been a while)

2. Computer and Environment Setup

With your supporting materials pulled up, think of all of the things you can do to make your computer and environment (coding environment and physical environment) as distraction-free as possible.

Checklist:

  • Turn Off Notifications/Turn on Do Not Disturb on Your Computer
  • Silence Your Mobile Device
  • Make Your Room/Office as Quiet as Possible
  • Adjust Your Code Editor Settings to Minimize Popups, Code Hints (VSCode Example Here)
  • Choose a legible code editor with plenty of contrast
    • Suggestions: Visual Studio Light, Visual Studio Dark, Night Owl
    • In Person: Go to the back of the classroom (see what it's like for the person in the worst seat in the room) and make sure that you can see the screen well. Turn off lights as needed to ensure the best results.
  • In Person Only: Write the Agenda, Your Contact Info on the Whiteboard
  • Make sure to communicate about what will be covered at what time and what breaks will happen at the top of the day.

Course Components

This course is comprised of four different parts: Slides, Samples, Exercises, and Labs.

  1. Slides: These are brief presentations that introduce concepts at the beginning of a content block. Slides are intended to provide a birds-eye overview of a topic and to Slides are saved as HTML files that can be viewed full screen in a web browser.

  2. Samples: These are very short code blocks to introduce concepts. Samples can be typed, or you can just show the code based on timing/your preference.

  3. Exercises: An exercise is a longer format sample that you will build together with the students step by step.

  4. Lab: This is where students will apply what they've learned in a hands-on activity. The students will be given a list of requirements, and they'll do the activity to reinforce what they've learned.

Everything is designed to start off easier and progressively get harder. There should be no expectation that the class will finish all of the materials, but the course is intentionally overbuilt (too much to cover) in case you have extra time or an inordinately quick-learning collection of students. Required topics are marked and everything else can be considered bonus or extra credit.

Building confidence should be prioritized over everything. We want students to type code and be successful. We don't expect students to have knowledge on every edge case. We want them to feel confident about the fundamentals and feel motivated to take the next steps into the darker corners.

Student Engagement

Whether you're teaching online or in person, it's important to have in mind a few questions:

  • Are the students engaged?
  • Are they getting the support they need with questions and problems?
  • Is the pace of the class appropriate for the students?

It's tricky to do (online particularly), but always strive to create an interactive and engaging environment. Some techniques for that include:

  • Stop frequently to ask if anyone has questions
    • A good way to phrase this is "What questions do you have?" instead of "Does anyone have any questions?" to create a friendlier environment for questions.
  • Create Polls - this could be totally not code related or you could ask opinion questions about the technology.
    • Another poll to use is "So far is the class: Too Fast, Too Slow, Just Right?" This is really important to gauge the pace
  • If you visit a link to show something, make sure to share the link in the chat (online) or add it to the student resources.
  • Student Challenges - if the opportunity comes up, it's nice to say "Here's a challenge. Try to [do the next step]. Once you're done, you can share your answer in the chat/aloud"
  • Student Presentations - if there's time, you can encourage people to share their solution to the lab. This gives students a chance to see that there's no "one correct answer".
  • [In person] Face forward, point your toes to the back of the room - this ensures that people can hear you ok
  • [In person] If there is a microphone, always use it, even if you think you are loud. This ensures that the course is as accessible as possible.
  • [Online] Keep Your Camera On - This puts a face to your talking and encourages people to pay attention

A Note on Screen Work

This course is designed to have the instructor live code the samples, but you don't have to do everything. You should live code the exercises, as you'll be building something together with the students. The more you teach the course, the more comfortable you'll get with livecoding.

Making sure that people can see your screen is one of your most important jobs. This can be achieved through increasing color contrast and making sure that your text size is large enough.

And, remember ABZ: Always Be Zooming. When you start from a blank file, zoom way in so your code fills the screen. As you add more code, zoom out!