The course can be followed online, without the need to install any additional software locally.
The course makes use of:
Both of these services allow you to login with a GitHub account, and if you do not already have a GitHub account it is recommended to create one: https://github.com/
Knowing how to use Git is not required for this course, it is only needed to authenticate with the other online services that we will be using.
It is recommended to create your GitHub account, and log in to Repl.it and CodeSandbox prior to the class beginning.
The course will be a combination of
-
Lecture / Slides
-
Live coding to explain concepts
-
Mini-exercises / hands-on - these are usually to reinforce a single concept and should not take very long to complete
-
Larger exercises - combine a few concepts from the previous section(s) - and are intended to take longer to complete. For the exercise time for the longer ones, we will be using coloured sticky-notes for students to indicate where they are.
-
Green - working - making progress, not stuck
-
Yellow/Orange - working - could use some assistance
-
Red - stuck, or having issues and need help troubleshooting At the start of an exercise, the class will be asked to place a Green post-it note onto the top of their laptop, if they need help or get stuck - place the yellow or redone as needed.
Once complete - remove any post-it notes from the laptop.
At the end of the exercise - I will go over a previously prepared solution.If anyone in the class is willing to share theirs - can do a class code review of their approach.
Below is the updated Agenda, the intent is to accommodate 4 days with training from 9am-2/3pm - with office-hours for the remainder of the afternoon.
It is recommended that students read - JavaScript - The React Parts beforehand, this is material that will be covered in the first day, day and a half.
For people that are unfamiliar with ES2015 - that is the material that will be covered mostly in the first day.
Day 2 will start with Promises - even if people feel comfortable with promises - it’s still a good idea to attend, and moving into React mid-morning/early afternoon.
We will try our best to stick to the below schedule, but things may shift slightly depending on class speed and needs.
*Day 1 -*Beginner / Intermediate -
- Variables
- let, const, var,
- String Literals
- Object Literals
- Object & Array Destructuring
- Functions
- scope / context / this
- arrow functions
- default parameters
- destructuring arguments
- destructruing results
- Array Methods (may move to day 2 depending on time)
- Intro to Functional Programming concepts
- map
- filter
- reduce, etc
- Promises
- Intro to React
- JSX
- Functional Components
- Props
- React - Class Components
- ES6 Classes
- Events
- State
- React Lifecycle
- Data Fetching / API calls
- React Forms
- React Hooks
- useState
- useReducer
- Time allowing - may get into useContext, useEffect
- Office Hours Day
- Additional Topics
- Routing
- Advanced State Management (TBC)