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
- Currying functions
- Composition over inheritance
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 brainstorming and preparing an idea for your Capstone project. The Capstone project is a larger project that you'll spend a majority of the final course crafting, with the intention that you will be able to leverage this project to showcase your skills to employers, and explore ideas and concepts that you're interested in that haven't been covered in classes.
Keep in mind that you're not beholden to any ideas you come up with at this point. The main goal we have with this section is to get you thinking about project ideas early on, and teachers will be able to provide you with feedback and advice to help you approach your most successful ideas later on.
For this first Capstone exploration, the objectives are fairly simple:
- An idea board(s) to show us your thought process and what other project ideas you considered
- Includes a one page outline of capstone project.