# 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**