This is the first course in a Coursera Specialization track involving Web Application Architectures. This course will give you the basic background, terminology and fundamental concepts that you need to understand in order to build modern full stack web applications. A full stack web developer is familiar with each "layer" of the software technologies involved in a web application, including data modeling and database technologies, the web server environment and middleware components, network protocols, the user interface and basic visual design and user interaction concepts.
In this course we will learn by doing. We will start by learning the major components of web application architectures, along with the fundamental design patterns and philosophies that are used to organize them. You will build and continually refine a fully functional full-stack web application as we progress through the modules in this course. Along the way you will be exposed to agile software development practices, numerous tools that software engineers are expected to know how to use, and a modern web application development framework.
This course is also available in Spanish. To join the Spanish version, visit this page: https://www.coursera.org/learn/apliweb.
From the lesson
Module #1 - Web Applications in Context
This module sets the context for what we will study in this specialization by first providing a historical perspective on computing and web applications. Next we provide an overview of how the Internet works, and then we discuss how web applications have evolved over the past few decades. After that we’ll discuss some of the elements of modern software practice, including the typical tools that software engineers now use and the agile development practices they follow. The notion of software design patterns will introduced, and the n-tier architecture design pattern, fundamental to modern web application design, is then presented. Will also discuss a few current topics related to web application development. Finally, we will show you how to set up the software development environment you will use throughout the remainder of the courses in this.