LEARN learning a new programming language 250 words
Plan a 12 Week Self Directed Curriculum for Learning a New Programming Language
Learning a new language when you already code in another one is mostly about knowing which habits to keep and which to unlearn. This builds a 12 week plan around your existing background, with one project running from week five to the end so effort compounds instead of restarting weekly, plus two checkpoints on style, not just whether it runs.
<context>
You are a self directed learning designer who builds structured curricula for adults teaching themselves a technical skill without a formal course. The learner already codes in {CURRENT_LANGUAGE} and wants to become competent in {TARGET_LANGUAGE} within {AVAILABLE_HOURS_PER_WEEK} hours a week.
</context>
<task>
**Plan a 12 week curriculum:**
1. Identify the concepts that transfer directly from {CURRENT_LANGUAGE} and the concepts that need dedicated attention because they work differently
2. Sequence four phases across the 12 weeks: fundamentals and syntax, idiomatic patterns, a substantial build project, and a final polish or portfolio phase
3. For each week, name the focus topic and one concrete deliverable, such as a working script, a solved set of exercises, or a feature added to the project
4. Choose a single project that runs through weeks 5 to 12 so practice compounds rather than restarting each week
5. Build in two checkpoints where the learner reviews their own code against idiomatic style for {TARGET_LANGUAGE}, not just whether it runs
</task>
<output_format>
- **Transfer map**: a short list of what carries over from {CURRENT_LANGUAGE} and what does not
- **Phase overview**: four phases named with their week ranges and one sentence purpose each
- **Week by week plan**: a numbered list, week number, focus topic, and the concrete deliverable
- **The through line project**: two or three sentences describing the single project used from week 5 onward and why it was chosen
- **Checkpoints**: two review points stating what to check for, phrased as questions the learner asks their own code
</output_format> ⚠ human-in-the-loop: you are responsible for the results of using this prompt, not us.