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.

If you want to skip all the background stuff and get started in a hurry:

Mr. A is crazy about Web Dev

Web Development is one of the most valuable areas 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. There are mind-blowing concepts like TCP/IP and REST API and GraphQL. The architecture that powers the Internet is ingenious. There are so many interesting topics, we must intentionally narrow our focus to a small slice of Web Development so we can actually build something. We must be careful designing our scope of work (SoW) and our accepted level of abstraction.

Acceptable Level of Abstraction

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.

Setup Your Tools

Accounts You’ll Need:

Extra Resources for the Try-Hards: