5. The method of claim 1 wherein the recommended teaching plan is selected from the group consisting of: a teaching plan for teacher-managed, meaning-focused learning and a first suggested amount of time; a teaching plan for teacher-managed, code-focused learning and a second suggested amount of time; a teaching plan for student-managed, meaning-focused learning and a third suggested amount of time; and a teaching plan for student-managed, code-focused learning and a fourth suggested amount of time.
5. The method of claim 1 wherein the recommended teaching plan is selected from the group consisting of: a teaching plan for teacher-managed, meaning-focused learning and a first suggested amount of time; a teaching plan for teacher-managed, code-focused learning and a second suggested amount of time; a teaching plan for student-managed, meaning-focused learning and a third suggested amount of time; and a teaching plan for student-managed, code-focused learning and a fourth suggested amount of time. 8. The method of claim 5 wherein the software application suggests a lesson plan that substantially satisfies the recommended teaching plan.