Welcome to Introduction to Web Programming. In this course, you will learn to design, build, and deploy full-stack web applications that serve real users and solve meaningful problems. Along the way, you’ll engage in the practices of modern software developers—reasoning about system architecture, using AI as a collaborative tool, and taking responsibility for the security, performance, and impact of the systems you create. More than just learning technologies, this course is about developing the habits of thoughtful, capable engineers who can adapt, continue learning, and use their skills to contribute positively to others.
This course uses MasteryLS for learning the content. To get started:
- Navigate to MasteryLS.
- Register for an account. Use your BYU email address so that your grades can be recorded in Canvas. This will send you a one-time password to your BYU email to complete the registration.
- Click on the Web Programming v2 course for enrollment.
- Click on the newly enrolled Web Programming v2 course to start learning.
- Read the Learner Tutorial on how to use MasteryLS.
By the end of this course you will be able to:
Full-Stack Web Application Development: Design and implement interactive, full-stack web applications using modern web technologies, applying computational thinking and user-centered design to solve meaningful problems that serve others.
Web Architecture: Design and reason about web architectures, including client-server communication, APIs, authentication, real-time interaction, and data persistence, with an awareness of the responsibility to build systems that meet present needs and continue to serve well as those needs change over time.
AI-Augmented Development: Use AI tools as a collaborative partner to support design, implementation, debugging, and learning, while critically evaluating their outputs for correctness and long-term maintainability.
Security and Societal Impact: Apply secure coding practices and evaluate the ethical implications of web technologies, including privacy, accessibility, and eternal impact of the systems they build.
Deployment and Application Management: Deploy and manage web applications, demonstrating responsibility for reliability, performance, and the experience of real users in production environments.
{"id":"ef2f9d20-99b5-4adc-ab98-3a6536234103", "title":"Course Outcomes", "type":"likert", "showResults":"editor", "required":"true"}
How familiar are you currently with the course outcomes?
Scale: Beginner|Intermediate|Proficient|Advanced|Expert
| id | statement |
|----|-----------|
|dev|**Full-Stack Web Application Development**|
|arch|**Web Architecture**|
|ai|**AI-Augmented Development**|
|sec|**Security and Societal Impact**|
|devop|**Deployment and Application Management**|
The course covers a full stack of web programming technologies and topics.
- Web design
- Command console
- HTML
- CSS
- JavaScript
- Responsive design
- Domain Names and DNS
- HTTP, HTTPS, and web certificates
- Realtime peer to peer interaction with WebSocket
- Web Servers using AWS
- Web Services
- Web Frameworks focusing on React
- Data Services using MongoDB
- Mobile devices with installable applications
- Security
- UX design and accessibility
The instruction makes extensive use of MDN Web Docs and we highly encourage you to spend many hours studying 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.
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.


