Când
04.04.2022 - 24.06.2022 18:00 - 20:00
Description
Instructor – Paul Negoescu
Learn React by diving in at the deep end. We’ll develop a few applications from very low to medium complexity and while doing so learn the ins and outs of React. The goal is to gain an understanding of React, from the very basic concepts to the more advanced, production-required ones.
Expectations and Goals
This course will only cover React and associated topics and tools. We will not discuss basic JavaScript or programming concepts. We will not discuss new JavaScript features, we will just use them. There won’t be a lot of theory in isolation, we will develop apps and discuss features as we need them.
We won’t use separate state management (Redux, Recoil etc.) as it is only useful in complex, huge apps with a lot of shared state nowadays.
We won’t use Next or other React based frameworks (Gatsby?).
Our goal is to experience React and all it has to offer, to learn how to structure our code, how to extract reusable functionality, how to test our code and more. It’s more about best practices, clean code, clean architecture, and sort of a mastery exercise where we build a very solid foundation instead of a very high tower of many knowledge pieces.
What’s Required of You?
You need to have:
• Solid understanding of JavaScript (including but not limited to fetch, scope, local and session storage, cookies, timing functions, flow control structures)
• Solid understanding of ES2015+ concepts (including but not limited to const, let, arrow functions, classes, array iteration methods, promises, async/await, for … of, spread operator, rest parameters, default parameters, array and object destructuring)
• Knowledge of APIs and HTTP, in particular REST
• Very good algorithmic thinking
• Good English
• A computer with Windows, Mac or Linux, a good IDE and git
• WebCam and Microphone are mandatory
Course Schedule
Week 1
- Intro and setting up
- Styling – Tailwind
Week 2
- Component state and props
- Routing – React Router 6
Week 3
- Async requests
- Using libs
Week 4
- Forms and custom hooks
- Form libs
Week 5
- Authentication
- Context
Week 6
- Compound Components
- Performance
Week 7
- Render as you fetch
- Suspense
Week 8
- Unit Testing
- Testing React specific things
Week 9
- Integration testing
- E2E testing
Week 10
- Working on the project
Week 11
- Working on the project
Week 12
- Finishing up and Evaluation
Exam Schedule
Week 12
- Evaluate Overall Understanding of the discussed concepts
FAQ
Q: If I attended one of your courses which covered React before, will I find something new now?
A: Yes, there is a lot of new information and advanced, in-depth subjects. BUT if you are an active React developer the benefit you would get from this course is a lot less and you might find it boring.
Q: If I am a React developer will I benefit from this course?
A: You might find new stuff here that you didn’t know but it might be better to leave your spot open for people who do not know React at all.
Q: Do I need to be a JavaScript developer to come to your course?
A: No, but you do need in-depth knowledge about JavaScript. This is not easy for people who come from other languages. You will find the course difficult to digest if you don’t understand JavaScript at a proficient level.
Q: Do I need HTML and CSS knowledge for this course?
A: No, you don’t. But we will use CSS that is close to vanilla, basic stuff, it’s preferred that you understand how CSS works and what several properties and values do as we will not explain any CSS concepts.
Q: How will students be selected?
A: Based on a questionnaire/quiz and CV. You will only be contacted if we select you for the course and the selection process is not meant to be transparent. We try to select the candidates who benefit most from the course curricula
Q: Will the course be lecture-heavy or practice-heavy?
A: It’s the latter one. You will be expected to write a lot of code, to collaborate a lot and to show your screen. Active participation is not optional! Just listening in and passively watching the others is not an option ?!
Q: Do I have to have my webcam on all the time?
A: Yes! Not optional! No exceptions! We’ll consider excluding colleagues who do not participate actively as we go through the course.
Q: Will the course be recorded?
A: No!
Q: How will I catch up if I miss a session?
A: From colleagues, from GitHub, from context.
Q: Is attendance a factor in successfully finishing this course?
A: Yes, you need to attend at least 80% of all sessions and finish at least 80% of any assignments. This means you need to attend at least 20 of the 24 sessions.
Registration
If you would like to enroll in this course go here.
Categorii
