Web programming gives you practical experience with important aspects of computer science. This includes distributed systems, security, concurrency, networking, caching, data structures, databases, asynchronous execution, protocols, and efficiency.
The content for this course is represented by the following parts.
- 📘 Instruction
- 📱 Simon
- 🚀 Startup
- 📅 Schedule
- 💯 Grades and submissions are managed in Canvas
By the end of this instruction you should achieve the following outcomes:
- Web Pages: Create interactive web applications using HTML, CSS, and JavaScript.
- Web Frameworks: Modularize, build, and package an application using a web framework.
- Web Services: Create a backend service using DNS, HTTPS, WebSocket, service endpoints, authentication, and data persistence.
- Infrastructure: Deploy applications and manage code.
- Security and Design: Appreciate production web application security and design practices.
The course covers a full stack of web programming technologies and topics.
- Command console
- HTML
- CSS
- JavaScript
- Responsive design
- Domain Names and DNS
- HTTP, HTTPS, and web certificates
- Web Servers demonstrated with AWS
- Web Services
- Web Frameworks focusing on React
- Data Services demonstrated with MongoDB
- Mobile devices with Progressive Web Applications
- Realtime peer to peer interaction with WebSocket
- Security
- UI Testing
- Web design
The instruction makes extensive use of MDN Web Docs and we highly encourage you to spend many hours getting lost in their exceptional content.
React is used to demonstrate the power of web frameworks. Without the significant contributions of the React community we would not be able to stand on the shoulders of giants.
Much appreciation goes to CodePen for hosting many of the exercises and instruction examples.
Amazon Web Services made it possible to experiment with DNS, create web servers, and host the project content
The demonstration application Simon
is based on the game by Milton-Bradley. Simon is a registered trademark of Hasbro. Our use of the name and the game is for non-profit educational use only. No part of the Simon code should be used outside of that definition.