Web App Dev
Produce a full-stack web application in Python's Flask framework. While this is difficult and complex, it'll be a rewarding challenge.
Web Development is my favorite area of Computer Science to study. Programming at the hub of all information gives you a bird’s eye view of how business operations fit together. If an organization has mobile apps, websites, and some sort of critical information for their business, then web developers are the people holding systems together. There's so much happening in this field, too. In fact, we've got to be careful that all this cool tech doesn't overwhelm you.
Want to jump in with both feet and go hard on the research? See if you can get your head around the growing change from REST API to GraphQL. What are those and why is there a change happening? Don't sweat it if YouTube videos and articles go right over your head. It's good to start dabbling and exposing yourself to top-level discussion.
Little kids like to keep asking, “Why?”
A thread of inquiry can always get more detailed. It never stops. You can keep digging deeper. Sooner or later we just accept the idea of something and stop asking questions. For example, I know hardly any of the electrical engineering involved to build a stick of RAM but I would still claim I know what RAM is. I’ve just accepted that there’s a thing called RAM and it works like so and I’m okay not knowing any more details than that for right now.
The great Richard Feynman addresses acceptable levels of abstraction, though he doesn't call it such
We are going to narrow our focus to building a Python Flask app using templates and a pre-built starting point. We can build really cool things but it means that we’re going to brush over big concepts that are totally worth studying. Sometimes it’s hard to feel like you understand something if you can’t take the time to closely examine all of the pieces and principles involved. Write down questions, don’t stifle your curiosity, but be patient as we setup lots of abstract ideas that we won’t be able to satisfactorily investigate for a while. TLDR: Be patient and keep a running list of concepts and questions to research later.
The tools you'll need to install are explained in section 4. This is where you sign up for accounts, add bookmarks to training resources, and just generally glance around at the web dev ecosystem.
- SourceLair: In my experience, setting up a development environment on your computer can be so frustrating that it often discourages people from giving web dev a fair shake. A website that allows you to skip most of the setup can be a great help.
- Guided Training: Do your homework! Actually grind out the projects. Learn the rules of new languages.