For intellitech, it is inevitable to learn about how to learn. Since it is abstract, let’s first think about how to learn a programming language concretely. The learning process of programming is a repetition of three phases: information gathering, modeling, verification.

image Fig: Learning process is a repetition of three phases: information gathering, modeling, verification

- [[concrete]]  = [[concrete]] phase
    - [[information gathering]]  = [[information gathering]]
    - [[personal experience]]  = [[experience]]
- [[abstract]]  = [[abstract]] phase
    - [[abstraction]]  = [[abstraction]]
    - [[modelling (e.g. a system, etc.)]]  = [[modeling]]
    - [[Finding Patterns]]  = [[pattern discovery]]
- [[application]]  = [[application]] phase
    - [[practice]]  = [[practice]]
    - [[verification]]  = [[verification]]

Keywords: learning cycle

en.icon --- This page is auto-translated from [/nishio/(0.2) How to learn programming](https://scrapbox.io/nishio/(0.2) How to learn programming) using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at [@nishio_en](https://twitter.com/nishio_en). I'm very happy to spread my thought to non-Japanese readers.