DEV Community

Discussion on: Is "fundamentals first" the best approach to learning web development?

Collapse
 
squirrellogic profile image
Squirrel Logic

"Fundamentals first" is a concept we are struggling with teaching art/design classes. There's this balance of being stuck in education hell and actually working on a useful project. The most successful creatives (which include developers) have a project they want to make before they start learning. That helps a ton with motivation. Learning the fundamentals usually means that work on their project has halted until they know enough. But the problem is that it's impossible to know how much you need to know to start working on your project idea. I believe that even if they did know how much knowledge they needed to get started, they would be doing nothing but learning for so long before furthering their project that they would burn out.

I think the best way to learn the fundamentals and not burn out due to inactivity on your first project, is through "just-in-time learning." Learn some fundamentals, then do some exercise that pushes your project forward in some way. When you try out each new skill, you need to figure out how to somehow apply it to your project. Learning HTML? Use HTML to create a proposal for your project, using semantic markup. Learning CSS? Mock up an interface for your project, or a promotional page for it. Learning JavaScript? Create an array that has all the tags for your project, or an object that has the data type for your project.

If courses were designed with more open-ended assignments that would help push people's projects along as they learn the fundamentals, I think people would burn out less while still learning things in the right order. I do like the in-browser unit tests that freeCodeCamp uses for grading, but right after those tests, people should be directed to work on their project. That will also help the fundamentals stick.