Comprehensible Input

Comprehensible input
was developed by Steven Krashen as a method for language learning. I believe this can be
applied in other areas of learning.

The basic idea is to learn enough about the concept that you can explore
the concept further simply by applying the concept. It may be
uncomfortable when you come across things you don't know, but since you
have a some familiarity the context may help you understand those things
you don't know.

Language learning

In language learning, this can be achieved through reading and
listening. When you don't know certain words, you can derive their
meaning from context (or by looking them up). By experiencing these
words in the context that they are used, it can help to solidify your
learning.

Applied in programming

I believe this concept can be applied to learning programming languages
on some level.\
I often see programming courses try to teach several fundamental
concepts at once. For a beginner, this can be a lot to internalize. I'd
like to experiment with teaching a minimal amount of concepts that will
get someone started developing and that will be enough to propel them
into learning more advanced concepts. This might start as a "learn
functions first" method of learning programming.

I found a
paper
that seems to align with these thoughts. I might chose this method for
the python course I'm putting together.