Drawing, Coding and Adult Learning
Some time ago, I attended an online cohort-based course (CTT's L1 program), where a group presented a summary of their research on adult learning. In this post, I am combining adult learning theories with my experience learning to code, draw, and paint.
I will introduce two popular adult learning concepts and then write about how I have experienced these while learning two different skills.
Adult learning & Bloom's taxonomy
I was delighted to read about Bloom's taxonomy because I have thought and written about how I learn earlier. I will introduce top-level concepts here and encourage you to read more about the taxonomy elsewhere.
Bloom and his collaborators published a framework for categorizing education goals. Here is what Bloom's original taxonomy looked like:
Knowledge, Comprehension, Application, Analysis, Synthesis, and Evaluation
I like how someone improved (synthesized) these to use action words:
Remember, Understand, Apply, Analyse, Evaluate, Create
While you are reading about Bloom's taxonomy, also find out more about different types of knowledge used in the learning process (also called cognition):
Factual, Conceptual, Procedural, Metacognitive
We keep improving all four types of knowledge as we learn, analyze, apply, and create more.
Kolb's experiential learning cycle
After the taxonomy, the next topic I have in mind is David Kolb's learning styles model. He published his four stages of experiential learning cycle theory in 1984, but I discovered his research too late.
Kolb defined a cycle of concrete experience, reflective observation, abstract conceptualization, and experimentation as the way we learn.
Additionally, he used the elements of the learning cycle to define learning style preferences. Diverging, Assimilating, Converging, and Accommodating learning styles are a combination of perception and processing continuum defined by Kolb.
Drawing expertise levels
When I read about Bloom's taxonomy and Kolb's learning styles, I could see how both had examined many individuals and abstracted these (now obvious) patterns.
I started learning to draw during the COVID-19 times. I took many drawing courses at Udemy and finally got to a place where I could follow video instructions and get a good enough outcome.
I thought about when I would feel good enough about drawing to stop doing this on a daily schedule. I came up with several drawing expertise levels (I wasn't thinking of painting at this time):
- Draw basic line drawings after following video instructions.
- Draw 3D objects with light and shadow after following video instructions.
- Draw multiple objects, landscapes, etc., with video instructions.
- Draw from photographs (multiple objects, landscapes, etc.)
- Draw from real-life
- Draw from memory
- Draw from imagination
- Draw from feelings
As I learned more, I realized this was an imperfect ladder, and precision drawing, manipulating size ratios, etc., would also contribute to drawing expertise.
I decided I wanted to be able to draw most of the things from photographs (I still haven't got to portrait precision), and that's when I will switch to a weekly schedule. I have also added painting to this schedule.
Coding expertise levels
I am a software engineer, and I have also tried to map these levels to how I have learned to code and how I see other engineers learning new languages, frameworks, etc.
Here is how many of us learn a new programming language:
- We go through tutorials that explain the syntax.
- We follow these tutorials (video or books), retype (or copy) the code from examples, and make the code work.
- After reading about a topic, we work on exercises that use the subject.
- We try to build clones of existing applications/services (A lot of new things are learned along the way- outside of tutorials)
- We build new services.
- Some people also create blog posts, tutorials, videos, etc., while they learn.
- Many are lucky enough to teach the language to others.
We also learn when others read our code and give us feedback.
Bloom's taxonomy, drawing, and coding
When I look at syntax tutorials or basic drawing tutorials that talk about contour lines and values, I relate this to factual knowledge and the process of remembering.
When I use tutorials to draw 3D objects or recreate programs, I am still looking at factual knowledge, but I see some conceptual understanding added at this stage.
When we start drawing from photographs or real-life or recreating known applications, we start building procedural knowledge. We are applying the knowledge that we now remember and understand.
The ultimate metacognitive knowledge is applied when we create new drawings from imagination or create completed new services.
Kolb's experiential learning cycle, drawing, and coding
Kolb's experiential learning cycle fits the learning process that many programmers use today.
We can map the cycle of concrete experience, reflective observation, abstract conceptualization, and experimentation to writing sample code, reviewing and reading other people's code, learning from reading and writing code, and then using this learning in coding.
Adult learning has been a fascinating topic for me to study, and it will affect how I learn, teach, and design learning programs in the future. Are you learning something new? Can you map your skill level and learning style?