Functional in Ten

Principles

  1. Students will learn how to write simple programs from the very first lesson.
  2. Each subsequent lesson will first demonstrate a shortcoming with relying only on what you've learned in previous lessons, and therefore demonstrate the utility of any new concepts being introduced.
  3. Each lesson will include hands-on time where a student tries to tackle similar problems, and feedback is given to the student as they make mistakes.
  4. Each task that the student is asked to do will be so similar to what's already been done that it will require no leaps of knowledge, and is only there to verify that the student has fully grasped the content of the lesson.
  5. Homework tasks will be given after each lesson, where again, no cognitive leaps will be expected of the student, and they will exist only to prove to the student that they can program even when unaccompanied.

Lessons

Lesson #1

Links:

Topics covered:

  1. Constant definitions.
  2. Simple types (numbers, boolean & strings).
  3. Ternary expressions.

Lesson #2

Links:

Topics covered:

  1. Templated strings.
  2. Topic Recap.

Lesson #3

Links:

Topics covered:

  1. DRYness.
  2. Functions.

Lesson #4

Links:

Topics covered:

  1. Lists.
  2. Methods.
  3. The filter, map & join methods for lists.

Lesson #5

Links:

Topics covered:

  1. Types.
  2. Objects.
  3. Tuples.
  4. Destructuring.
  5. Rest & spread syntax.

Lesson #6

Links:

Topics covered:

  1. Recursion.

Lesson #7

Links:

Topics covered:

  1. Topic recap.

Lesson #8

Links:

Topics covered:

  1. Advanced recursion.
  2. The substring method for strings.
  3. Stack overflow.
    • ???

Lesson #9

Links:

Topics covered:

  1. The range function?
    • Or should I use recursion and a counter?
  2. The import and export functions, assuming I use range.

Lesson #10

Links:

Topics covered:

  1. Coding challenge.