---
# System prepended metadata

title: TeachTogether.tech Day 1

---

# TeachTogether.tech Day 1

- Strongest predictor of learning: do you have someone to learn something with
    - We are social animals
        - Our groups decide "what is worth learning?"
- The idea that we are just a neural network is ineffective
    - When they graduate, they are ineffective at working in teams
- GPA driven teaching: No retention because presented as "Here's stuff; here's the test" and then they forget
    - If people learn, comeback 60-90 days later to check in to see "learning as a habit"
- Our education punishes people who work in groups
- Study groups +1

## Learning Personas

- Characterize demographics; who are we trying to reach? - Like a user story but for learning
    - General Background
    - Starting Point/Revelant Experience
    - Perceived Needs
    - Special Considerations
        - Financial constraints
        - Has job
    - How can you help them?
- A "portfolio of people" to target personas
- Trying to fill in some gaps
- Study: search terms don't know the jargon
    - "How to build a website" instead of "JavaScript course"
    - What are they looking for?
    - What do they think their problem is?
    - They might very well be looking for the wrong thing
- Explain in *their* terms
- Doug Lemov (sp?)
    - Have class build confidence in us (instructors)
        - Conscious or subconcious skepticism
        - Start off with "something useful" and something engaging
            - They can follow up with "Cool, I want to learn more"
- **I am not like my learners**

## Mental Models

- Cognitive Progressions (Patricia Benner)
    - Being an experts is not just about knowing more; they start to think differently
    - The progression is very consistent
        - Novice
        - Advanced beginner
        - Competent
        - Proficient
        - Expert
- We are looking mainly at 3
    - Novice
        - Doing things by rote; not understanding the mechanism; when something goes wrong, they can't debug
        - Asking them to write code is less effective on gauging ability than debugging code
        - Asking nonsensical questions
            - "What color is the database?"
        - Using the wrong terms
            - Just spitting out jargon with reckless disregard
        - Can't tell what's relevant
            - Not sure what's exactly wrong and can't pick out the important things from an error message
        - Lack of confidence: Not reliable
            - Dunning Kruger Effect: Suddenly we have so many experts at basketball
            - Rating confidence but its based on privilege
                - Mac user vs. windows user on Linux proficiency
            - Asking people to rate themselves doesn't give you "good" information
        - **Novices don't have an accurate mental model of how something works"**
        - **Their mental models are disjointed**
    - Competent
        - **Their mental model is more connected; it may take some time to get to a specific "node"**
    - Expert
        - Experts are "not faster at thinking"
        - **They have many more connections and are more densely connected**
        - Have to relearn how to see the problem in novice's eyes
- Help novices build mental models (it's okay for it to be "false" as long as it is useful)
    - They can then type a useful search query on Google/Stackoverflow
    - Can be self directed learners with our assistance instead of us guiding them step by step all the time
        - Can they recognize useful answers?
- How to start building mental models?
    - Build a concept map
        - What do we want our students to get from the lesson?
            - Emphasize relationships; where does it "sit"?; what's the flow?; how are they connected?
        - Effective way of communication not just for students but for other instructors
    - Have learners draw a concept map back at us
        - Shows us gaps in their knowledge
- Exercise: Draw a concept map on what Fullstack is about?
- **It's better to be honest to students about your knowledge**
- Johnson's Rule: If it seems like you slaved away at something; it is less socially acceptable to call something out on understanding other than just quick and dirty drawing something out
- Concept Maps vs. Flow Charts
    - Depends on the lesson
        - Do the instructors/team members agree on the "type"?
            - Parts of a whole vs. Flowchart/Workflow vs. Something else?
            - Useful to see if there's a disconnect

## Cognitive Load

- Two kinds of memory
    - Long term memory (permanent storage)
        - It's slow to take something from long term memory into working memory
    - Working memory
        - Every time you callback into working memory, it gets rewritten and put back into hard drive (potentially with falseness)
- Primary channels
    - Image
    - Speech
- Present diagram piecewise - it's more effective
- Vision dominates senses
    - Coding doesn't always use images
- **"Reading is weird"**
    - Our brain hasn't caught up to this
    - Text is speech in visual form
        - Used for accessibility reasons
    - Extra mental effort
- "**Every inconsistency takes processing power"**
- **Explicitly teaching things one component at a time**
- **Parsons Problems**
    - Thinking about order of pieces of tasks in programming
- Exercise: Jumble order of some small program and ask students to rearrange it

## Capacity

- "Machine Gun Powerpoints" (Ineffective)
    - Load up short term memory and keep it there long enough for it to be transcribed to long term memory
- How can we think larger thoughts in light of only being able to hold 7+/i stuff in memories
- **Find the patterns in programming - give the pattern a name**
    - Ex: Add all elements of array is structurally similar to concatenating strings in an array
- **Novices will learn patterns that don't exist** (I specifically think technical analysis in trading)
    - Think: variable names
- **Pedagogical concept knowledge**
    - Most advanced
        - Sport
        - Music
        - English as Second Language
        - Mathematics
- When Greg teaches Python
    - Get them writing different functions that do different things
- Homework: Add one thing to Google Doc that works for you when you teach
- **Democratizing Programming**

## Assessment: How Do We Tell If It's Working?

- Unit Test For Learning
    - Diagnosing misconceptions
    - Having an idea but getting the wrong answer
        - Each of the wrong answers is based on a specific flaw (mental model that produce each of the wrong answers)
    - Probing for errors with unit tests
    - Formative Assessment
        - Every 10 minutes check for understanding
        - Try to probe it to see where the misconception lies instead of asking "Do we get it?/Are you with me?"
        - Unambiguous correct answers
- ***Peer Instruction:* Clearing up misconceptions through disagreement and student engagement (1 on 1 mentorship based on who got the right answer to someone who has a misconception or wrong answer**
- **Responsive Teaching** (like Responsive Design)
- Improv as a driver for teaching
    - What is the game in this particular sketch?
    - Why does this lesson work?
- Write your tests to clarify your goals
    - Write code to make your tests pass
- Formative Assessment
    - How you steer yourself through the lesson
- Summative Assessment
    - How to figure out how to move on
    - What's the big wrap up project/questions?
    - Concept map ideas should show up in summative assessment
        - Each "scene" informs the formative assessment
- What do you do when 80% understands and 20% don't?
    - Sooner or later we may need to leave someone "behind"
        - Not fair to 80%
- Perils of Pre-Assessment
    - Can be misleading
    - Can scare away some people

## Some Questions

**If they are bored, turn them into a teacher as quickly as possible**

**Leaky Abstraction**

- Give them debugging problems where they can't understand/figure out by dropping down below the abstraction level

**Inverted Classrooms**

- How do we get students to do pre-reading/watching?
    - Study groups?

**Periodically ask students for screen recordings to see if students have understanding on the tools**

- Touch typing
    - Combinatorial iteration

**Pair programming "bell" to switch who is the typist**

**Pick two learners in the beginning of class and have them take notes on the class**