Skip to content

Latest commit

 

History

History
84 lines (58 loc) · 3.17 KB

ETHOS.md

File metadata and controls

84 lines (58 loc) · 3.17 KB

Lesson Plan Overview

This document outlines the way we prefer to organize our lessons.

What we will be building


Brief Overview

  • Start by explaining what will be built
  • Give a brief overview of the technology or programming language that is going to be used
  • Showcase the final product before starting
    • If the demo is web based, point them to the demo URL (JSFiddle, Codepen, etc)
    • If the demo is script based, point them to the source code
    • This will allow advanced learners to play with the code while others catch up

Prerequisites


Tools

  • Make sure they have a common web browser and code editor present
  • List the tools that will be used during the lesson
    • If additional software is required:
      • Ensure that the software is available on Mac and Windows
      • Stick with freely available software
      • When possible, link to the direct download URL
      • For long links, use a URL shortener
    • If a webservice is required:
      • Ensure that no registration is required to use the service
      • Check the service's browser compatibility

Experience

  • Check if the lesson requires prior knowledge
    • For a certain technology (JS plugin or programming language):
      • Confirm if it has been used before
      • Check if students can recall previously taught syntax and concepts
    • If using mathematial concepts:
      • Check if the students are familiar with the concept
      • Use analogies to explain the concepts, if complex

Implementation


Code

  • Arrange code blocks as functions and useful chunks
  • Use indicative variable names ( height instead of h)
  • Use GitHub's extended markdown for syntax highlighting
  • Add frequent screenshots of the stages of development

Explanation

  • After every code block, explain what the aforementioned code does
    • This can be conveyed in point form
    • This section should be used for pointing out how different pieces (services, functions, etc) talk to each other
    • Explanation can range from sharing a new concept to simply interpreting the code in english

Customization


Point out any additional customizations that can be performed to what was built. This could include changing values in the code to see different outcomes, changing colors of items or adding additional functionality.

  • This can be treated as self driven or mentor directed
  • List some possible customizations that can be performed (changing colors, enabling/disabling features, etc)
  • This can be promoted by displaying customized demos where students try to replicate what is shown

Additional Resources


Additional resources (cool demos, extensions, documentation, etc) can also be shown to students. This is optional.

Homework


Additionaly, some homework can be assigned after the lession (also optional) where students can combine work from the customization section or other criteria. An exercise, for example, can include converting a JSFiddle page to a HTML, CSS, JS page