My thoughts on a Web Applications class
I've been working with UT Austin and a soon-to-be professor on creating a class on modern web applications in hopes that it will not only be interesting and relevant to students, but beneficial to local companies looking to hire. Here is an email summarizing my thought process on the outline:
D - Attached is my mind map for potential topics on the class, also some ideas on projects and tests.
Basically I divided it into the following five chunks:
- Application - web frameworks, types of web apps, javascript
- Data - databases, cloud storage
- Infrastructure - hosting, domains, networks
- Presentation - Front end, advertising, SEO, analytics
- Security - Attacks, protection, standards
I spent a long time deciding if it were better to go:
- low -> high level: Example: write some JS, plug that JS into an application, see how that JS interacts with the user
- or high -> low level: Example: See how JS interacts with the user, dissect the application and see how JS is plugged in, decompose and write the JS.
I think both ways have pros and cons, and not just for Javascript. Eventually I looked back at my schooling of CS and found that I learned best when I learn in a "high -> low -> high" function, ie. "Here's an overview of how it all works, now go make it work, now look back and see how it works".
I also think practicality will be very valuable in this class, especially from the standpoint that it will better captivate your student's interests. Let's face it, a large portion of the students taking this class are probably looking for ways to better themselves when it comes to freelancing or modern web industries, so as trivial as it sounds to introduce them to things like Wordpress, Squarespace, E-commerce solutions, etc., I have a hunch they will greatly appreciate the overview and listen more intently when it comes to things like optimizing db queries ;)
There's a lot more to discuss but hopefully this will help get you started. Feel free to reach out or give me a call if you're ever feeling overwhelmed or just need to bounce ideas off of me. You the man!