"Tell me and I forget, show me and I remember, involve me and I understand."
Learning is a an active verb, it's the result of engaging and experimenting with your environment. Forming and exploring the right questions is our favorite way of interacting with new challenges.
Questions only matter if you try to find the answer. Writing them down isn't enough. To get the most out of Inquiry-Based Learning you'll have to ask questions you care about, trying to find answers that interest you.
Staying curious ties in very closely with motivation. Remember why you're learning to program, tweak your projects so they interest you, don't stick stubbornly to a project that's going nowhere, ... there's an endless list of reasons to lose interest in what you're working on.
At the end of the day, staying curious is a personal thing. You'll have to experiment and figure out what works for you.
Your mindset makes all the difference. Even with the best study questions (and unlimited curiosity) you will have a hard time moving forward if studying feels like work. Of course studying will be hard, will take dedication, and won't always feel productive, but that doesn't mean you can't have fun with it!
Turn everything you do into a little bit of a game, puzzle, or work of art. See how many times you can make yourself smile, even if it means you have to laugh at yourself for trying.
Unstructured learning is dangerous to meaningful learning. It's very easy to ...
- ... learn incorrect habits and processes. What sets apart expert from novice programmers isn't an encyclopedic list of facts, it's the good habits and intuitions they have accumulated through years of quality experience. Learning with no guidance can either delay or actively work against building efficient habits & processes.
- ... learn plausible but incorrect mental models. You won't notice when the challenges are simple, but you will crash and burn later when the challenges become harder and your incorrect understanding is no longer enough.
- ... completely miss the point. Learning wonderful, correct, new concepts that have nothing to do with what you're supposed to learn will set you back for a long time as you struggle to catch back up.
Any of these mistakes will doubly waste your efforts. First when you learned the wrong thing, and again when you have to get yourself back on track.
To get the most from our curriculum we highly recommend you carefully follow every project spec, and completely fill out every project template - even when it feels slow or un-important. They are carefully designed to guide you through the processes of being a good developer, it's more important how you complete these projects than what they look like at the end.
More on Inquiry-Based Learning:
Not all questions are created equal. Whenever something pops into your head, take a moment to refactor it into something meaningful before diving in head first.
- Predictive & Falsifiable?
- It will print {name: "Kelly"}.
- This variable will change 4 times.
- Multiple Choice?
- Open-Ended?
- True/False?
- "If I come across hoisting I'll back off"
- "After 5 minutes I'm moving on"
- "I don't need to understand this concept yet, just use it"
- "I'll only read code to find my answer, not words"
- Facts
- Vocabulary
- Explicit procedures
- Abstract procedures
- Conversational
- Could teach it
- Could reconstruct it
- A mix?
- Why did I like this question better?
- Do I choose this type of question more often?
- Why?
- Can this question be answered definitively?
- Will I be able to recognize a right answer?
- Do I need a right answer?
- Is this question like any others?
- Are these questions secretly asking the same thing?
- Can I find a common confusion behind these different-looking questions?
- What level of abstraction am I working in?
- Can this be addressed with memorization?
More on Forming Questions:
Isolated questions will lead to isolated learning. Connect your questions into a larger and coherent story, one you can use to build short & long term study plans. If you do a good job of constructing, relating, and coordinating your study questions you will at the same time be constructing a concrete study plan and a self-assessment tool.
- Ask different types of questions
- Explore a couple oddball questions
- Don't put all of your eggs in one conceptual basket
- See if you can get multiple topics into one question
- Balance Convergent & Divergent questions
- What can I do with a good answer to this question?
- Which questions is this similar too?
- Should I answer this one or that one first?
- Are these questions really the same?
- Would asking both of these be confusing?
- When should I go from theoretical answers to practical ones?
- When should I go from practical answers to theoretical ones?
- Narrow & break down the topics you want to study
- Rephrase your study goals as questions
- Often in formulating a clear question you will find your answer
- By analyzing your list of questions, you can see:
- Am I on topic?
- If not am I distracted in breadth or depth?
- What are common themes in my questions?
- Can I trace those to a common misunderstanding?
- Am I on topic?
- Organize your questions by theme/concept/interestingness, building them into a study plan
- Start tackling them one at a time!