Web Programming (Spring 2025)
Web Programming
Course Outline
In this module, students will gain a comprehensive introduction to web development, focusing on both the foundational and advanced aspects of creating modern web applications. The course begins with the basics of web programming, including HTML, CSS, and JavaScript, and progresses to more complex topics such as DOM manipulation, asynchronous JavaScript, and API integration.
Students will explore server-side development with Node.js along with SQLite. The module also covers modern front-end development using React, with emphasis on building interactive and dynamic user interfaces. Advanced topics include Continuous Integration (CI) and Continuous Deployment (CD) processes for testing, web hosting, and containerization to ensure efficient and scalable application deployment.
Through hands-on projects and a final presentation, students will apply their learning to design, implement, and deploy full-stack web applications. By the end of the semester, students will have practical experience and a solid understanding of web development principles, tools, and workflows.
General Course Objectives
By the end of this course, students will be able to:
- Design and implement web applications using JavaScript, SQL, HTML, CSS, and React.
- Apply best practices in application design, including scalability, security, and user experience optimization.
- Write and utilize APIs, manipulate the DOM, and create dynamic, interactive user interfaces.
- Test, containerize, and deploy web applications on the Internet using modern CI/CD workflows.
Course Calendar
Here you can find all the dates and times for lectures, assignments, readings, and so on. Below is the general calendar for the class. Please keep in mind that it might slightly vary every semester.
- You are expected to finish readings before class. They are chosen and designed to enhance lecture topics and learning.