Course Review - 2021 Complete Web Dev Course (Angela Yu)
tl;dr tl;dr Very good intro to full stack dev but very long
Publish Date: 2021-08-31
*Before starting, I took this course from December 2020 to about February 2021, but looking at it now it doesn't seem like there have been any updates to it.*
The App Brewery
The App Brewery is a coding school(?) that has both online and offline classes covering a range of topics related to web and app development. These courses are offered through their home page as well as on Udemy (courses are the same).
There are a number of courses available ranging from app development (iOS, Flutter), to web dev, Python, machine learning, and more. I have completed the web dev course and the Python course, and have started the iOS/Swift course.
The 2021 Complete Web Development Course
HTML and CSS Sections
The first few sections cover the basics of HTML and CSS. If you're a complete newbie, then these sections are very valuable to understand what is in a basic HTML and CSS file and how they interact with each other. That being said, you won't learn any really amazing CSS tricks in particular and you will need a lot more practice and studying to get decent at CSS.
Verdict - Very useful for complete beginners
The next section covers Bootstrap. If I remember correctly, the lessons use Bootstrap 4, but now Bootstrap 5 has been released. For the most part it isn't a big issue, but I do recall that some of the files she started with are slightly changed in the update and some of the Bootstrap classes are also slightly different.
Verdict - Meh. It was good to see something like Bootstrap, but I think I've only used Bootstrap once in the real world and have otherwise used things like straight CSS and Tailwind CSS quite a bit more.
Node JS and Express JS Sections
To be honest I can't really remember anything from these sections. I think they were fairly brief.
APIs, JSON, Git, Github Sections
The API and JSON section was kind of like the Node/Express sections - kind of lost in everything and I don't really remember anything. However, the Git and Github sections I do remember being quite useful as it goes over some of the more common command line commands for Git and how the files move around the different sections.
Verdict - Important stuff as version control and being able to push to and push from Github (or wherever) is something that every programmer needs to do. API calls and using JSON is also important, but I think it wasn't really covered that much here and more just left to understand through usage later.
Databases (SQL and MongoDB/Mongoose)
A hugely important section, but again one that I felt was a bit confusing. The SQL section was pretty straightforward (this course used SQLlite online). The NOSQL section (Mongo DB) was simultaneously understandable but also quite confusing. I don't know if people in the real world who use Mongo DB use the command line to interact with their database, but it was something I didn't get in the end. Because you spent a lot of time learning how to run the commands in the shell, but then the next section switched to Mongoose and doing it in the code? So, I get that there is value in learning the absolute fundamentals and basics, but I felt slightly un-prepared for dealing with the next section. I also seem to recall that some of the stuff with Mongo DB were out of date, and that was frustrating.
Verdict - Important and useful, but ultimately a bit confusing. Admittedly databases are still something I struggle a lot with.
This section covered a handful of basic levels of authentication and security - simple name and password, environment variables, basic hashing, salting and hashing, cookies and sessions, and third-party authentication (IE Google). Security is, of course, a massively important topic especially if you are doing full-stack or backend work. And I kinda wish this section had been a bit more in-depth. I also kinda wish that it covered other third-party ways to do simple authentication related stuff like password recovery, hints, and resets.
Verdict - Highly informative on how basic security works and why certain security practices are encouraged. Wish it had been a bit more in-depth and a bit broader in scope.
The final section covers React (CRA), ES6, and JSX. Doing it along side, it made sense. But trying to do it on my own was a challenge. This section uses React hooks (there is very little mention of class components) and only covers the useState hook. For the most part it is just trying to show how React works in basic.
If you're clueless about web dev this course gives you a pretty good look at all aspects of web development. I also think that Angela is one of the better teachers in terms of explanations and planning a course. There is a nice mix of explanations and opportunities to complete a task or project yourself.
A LOT of people have taken this course. As such, the comments section is very active. So, if you have some problem or issue someone else either A) already has had the same problem and a solution has been found or B) someone else can answer your question and help you get to a solution.
Because there is so much in the course you likely will forget a lot of it unless you spend a significant amount of time reviewing and re-doing lessons and activities. Sections also occasionally felt like they dragged on a times and were a bit too long.
As with any online course there were sections that were out of date and if you're a beginner following the official documentation or re-factoring the code you've already written from the course can be daunting. Granted these are important and necessary skills for programmers, but in the moment it can feel like an annoying and frustrating thing to have to do.
Who Should Take This Course?
I would recommend this course to someone who is either A) completely new to web dev and wants to get a broad overview of what is involved or B) someone new to web dev who isn't sure if they should do frontend, backend, or full-stack dev (or something completely different). Because of its broad nature this course is ideal for someone who needs to get a lot of information and some experience using different aspects of web dev in a (relatively) short period of time. To be very specific, I would recommend this course to someone who is considering a boot camp, but isn't really sure if web dev is right for them or as a starting point for a new web dev to do in place of a boot camp.