Skip to main content

📓 Functional Programming with JavaScript Objectives

Up to this point, we have focused on object-oriented programming. However, there are other paradigms beyond object-oriented programming. One of the most useful and popular paradigms is functional programming. This course section, we will focus on learning how to program using a functional approach.

Having at least a basic understanding of functional programming is essential to progressing as a developer. Just as importantly, being familiar is also essential to becoming a good React developer because React is functional, not object-oriented.

It's important to note that functional programming is very challenging for people at first. It is okay if you do not understand all the concepts covered in this course section. Instead, this is an opportunity to get exposure to and work towards understanding important computer programming concepts that will help you advance your career.

In this course section, we'll cover the following:

  • Pure functions
  • First class functions
  • Higher order functions
  • Immutability
  • Closures
  • Currying functions
  • Recursion
  • Composition over inheritance
  • JavaScript methods commonly used for functional programming

Independent Project Objectives

For this course section, the independent project will be different from previous weeks. You will spend your normally scheduled independent project time studying for a whiteboard technical interview. Then, you will take part in a whiteboard technical interview with your peers. You will submit peer evaluations for the technical interviews you participate in and also submit your whiteboard solution in lieu of the usual independent project. More details on technical whiteboarding will be provided in this weekend's homework.

This course section's group whiteboard interview will be reviewed for the following objectives:

  • Whiteboard solution has been submitted.
  • Whiteboard interview meets all requirements (based on peer feedback).
  • Your evaluations for peers are complete and include constructive feedback.