Learning to code

What is coding?

Precision

Misconceptions

Text-based

Terminal

How coding languages work

Compilers

Abstraction

Machine language #

geektyper.net

Outcomes

Indirect benefits

Positive beliefs and attitudes

Empowerment

Transferable mental models

Top-down design

Languages

Refactoring

Abstraction

Reasoning from definitons

Precision

Enjoyment

Growth mindset

Learning is a tool

The computer is a tool for me to build anything I can imagine

I don't need permission to learn or create

I can explain things to myself without a teacher

Learning is fun

Learning is relevant

Creating is fun

Challenges are fun

I can get better at anything with effort

“I can’t” isn’t a part of my vocabulary. “I could if I...” is what I think instead.

I can learn anything I want to.

It’s OK to be wrong. Being wrong is a stepping stone to being right. #

There’s no such thing as being “bad at math” or any subject.

My thoughts are worthwhile

I am full of potential

Symbolic thinking

Debugging

Java

Python

Ruby

Haskell

Scheme

Scratch

JavaScript

ProccessingJS

WoofJS

JQuery

ReactJS

VueJS

NodeJS

Rails

Sinatra

Django

Matlab

HTML

CSS

Mathmatica

Direct benefits

Software job $$$

Ability to "talk tech"

To build a piece of software

To start a tech company

To have the skill

Modeling

Sequential thinking

Functional thinking

Environment

Online Class

Coursera

Free Code Camp

Codecademy

In-person class

High school

AP CS Principles

AP CS

After-school

IMACS

The Coding Space

"On the job"

Internship

Starting a company

Hackathon

Models of cognition

Predicitive Processing

Analogy as core of cognition

Concrete than abstract

Constructivism

“Learning as reconstruction rather than transmission

Constructionism #

“intellectual structures grow out of one another and… acquire emotional form

Mathland

Microworld

Learn by doing

Assimilation

“ anything is easy if you can assimilate it into your collection of models”

Teaching methods

Instructionist

Homework

Tests

Lecture

Constructionist

Mixed age/ability classes

Creative Projects

Untutorial

Virtual playground

Project Based

Self-paced

Socratic Method

Motivation

Intrinsic

Extrinsic

Gold star

Manipulative Praise #

Grades

Enjoyment of creation process #

Satisfaction of completing a challenge #

Satisfaction of sharing a project

Criticism

Award

Privledges

Genuine praise

Specific

No qualifications

How it makes the praises feel

Transitional objects

Gears

Scratch blocks

Legos

Describes person

Judges work

Emphasis process over person #

LOGO

Scratch

“more like learning French by living in France than like trying to learn it through the unnatural process of American foreign-language instruction in classrooms”

“ a concept is a package of analogies”

Learning is relating ideas already in your head to each other

Two way predictions

Prediction ➡ variation ➡ surprise ➡ memory

TODO

Pride #

“Attention” is low-leveler neurons

Layers of neurons, higher to lower

How to choose a language

How to choose a projecth

TODO

TODO

TODO

Time spent is key

Pimpsleur v duolingo

Social pressures

Minimizing time stuck

Ease of setup

Habit

Alexander technique

Meditation

Making the unconscious conscious

Different amont of checkpoints in rowing stroke

Gamification

Relating things to each other = compression + pointers #

Generic hardware #