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.
What's included
1 video
Show info about module content
1 video•Total 2 minutes
Welcome•2 minutes
Module #1 - Web Applications in Context
Module 2•3 hours to complete
Module details
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.
Setting up your Development Environment - An Overview•1 minute
Video 1: Setting up your Development Environment•7 minutes
Video 2: Ruby and Rails•4 minutes
Video 3: Editors, GIT, SQLiteBrowser•5 minutes
Video 4: Web Developer Tools•2 minutes
Video 5: Interview - Melanie Moses•5 minutes
3 readings•Total 30 minutes
Learning Outcomes•10 minutes
Lesson #1 - Web Applications: An Overview•10 minutes
How the Internet Works: An Overview•10 minutes
1 assignment•Total 30 minutes
Web Applications in Context•30 minutes
2 discussion prompts•Total 20 minutes
Reflection #1•10 minutes
Reflection #2•10 minutes
Module #2 - Web Applications Frameworks
Module 3•5 hours to complete
Module details
In this module you will learn about web application frameworks. We will start by talking about the evolution of software and programming languages, and then talk about software application frameworks. The fundamental trade-off we will consider is programmer productivity versus program efficiency. Next you will learn about web application frameworks, as well as the model-view-controller design pattern that is the backbone for many of these frameworks. We will also consider how these frameworks support the agile programming principles associated with modern software practice. This will include a discussion of distributed version control systems and you will learn how to use the popular Git system. We will also demonstrate how to use Git with a Ruby on Rails application. We will use Git to submit all of the programming applications in this specialization.
What's included
20 videos1 reading1 programming assignment
Show info about module content
20 videos•Total 121 minutes
What are Web App Frameworks? - An Overview•1 minute
Video 1: What is Programming?•6 minutes
Video 2: Application Frameworks•3 minutes
Video 3: Web Application Frameworks•8 minutes
Video 4: The Model-View-Controller Design Pattern•5 minutes
The Ruby on Rails Framework - An Overview•0 minutes
Video 1: Your First Rails Program•10 minutes
Video 2: Scaffolding•11 minutes
Video 3: Ruby Programming I: Objects, Classes and Inheritance•13 minutes
Video 4: Ruby Programming II: Strings, Regular Expressions and Symbols•13 minutes
Video 5: Ruby Programming III: Expressions and Control Structures•10 minutes
Modern Software Practices - An Overview•1 minute
Video 1 -Software Processes•8 minutes
Video 2 - Agile Development•4 minutes
Video 3 - The Blog App•9 minutes
Version Control - An Overview•0 minutes
Video 1 - Why Version Control•3 minutes
Video 2 - Version Control Basics•3 minutes
Video 3 - Git Introduction•8 minutes
Video 4 - Git in Practice•5 minutes
1 reading•Total 10 minutes
Learning Outcomes•10 minutes
1 programming assignment•Total 180 minutes
Blog App Iteration 1•180 minutes
Module #3 - Managing Data
Module 4•5 hours to complete
Module details
A successful web application provides information t
o users that is (1) useful, and also (2)
easy to access and understand. This information is
often collected from users, as well as
from other information sources, and must be stored
in a manner that allows it to be
manipulated by the web application. The typical app
roach is to store this data in a
relational database. In this module you will learn
some basic concepts associated with
modeling the data in a web application, including h
ow to specify the relationships between
various data entities. We will also investigate ho
w to hook a web application up to a back-
end data store, along with good design techniques t
hat will make it easier to use the data in
your web applications by maintaining consistency th
roughout the entire web stack.
What's included
20 videos1 reading1 programming assignment
Show info about module content
20 videos•Total 83 minutes
Relational Databases in Web Apps - An Overview•0 minutes
Video #1 - Data Management in Web Apps•3 minutes
Video #2 - Relational Databases: Basic Concepts•4 minutes
Video #3 - Database Schema I•5 minutes
Video #4 - Database Schema II•3 minutes
Database Integration in Web Apps - An Overview•0 minutes
Video #1 - Application Environments•7 minutes
Video #2 - Database Configuration•5 minutes
Video #3 - Database Management•4 minutes
Video #4 - Blog App Databases•6 minutes
Active Record Design Pattern - An Overview•1 minute
Video #1 - Active Record Design - An Overview•4 minutes
Video #2 - Active Record in Rails•9 minutes
Video #3 - Database Migrations•7 minutes
Video #4 - Blog - Iteration 2•5 minutes
Database Associations and Validations - An Overview•0 minutes
Video #1 - Associations•5 minutes
Video #2 -Blog App - Iteration 3•5 minutes
Video #3 - Validations•7 minutes
Video #4 - Blog App - Iteration 4•3 minutes
1 reading•Total 10 minutes
Learning Outcomes•10 minutes
1 programming assignment•Total 180 minutes
Blog App - Iteration 2, 3, & 4•180 minutes
Module #4 - Middleware
Module 5•2 hours to complete
Module details
Middleware is an abstraction layer that hides details about hardware devices and other lower-level software services from an application. Middleware services implement common low-level functions, such as communication with the operating system, application servers, database servers, etc., so that application developers do not need to concern themselves with these details, and can instead focus on the application functionality they are trying to provide. In a web application, these services generally make use of the HTTP protocol, and in a web application framework, the MVC design pattern can be thought of as being implemented over the middleware.
What's included
14 videos1 reading1 assignment
Show info about module content
14 videos•Total 71 minutes
Middleware an Introduction - An Overview•1 minute
Video 1: What is Middleware?•3 minutes
Video 2: Middleware in Web Apps•12 minutes
Video 3: Middleware Frameworks•10 minutes
The HTTP Protocal - An Overview•0 minutes
Video 1: HTTP Overview•6 minutes
Video 2: HTTP Request•7 minutes
Video 3: HTTP Response•4 minutes
Video 4: HTTP Sessions and Cookies•5 minutes
MVC Over Rails Middleware- An Overview•1 minute
Video 1: Request Processing•7 minutes
Video 2: RESTful Web Services•3 minutes
Video 3: Response Processing•5 minutes
Video 4: MVC in Rails•7 minutes
1 reading•Total 10 minutes
Learning Outcomes•10 minutes
1 assignment•Total 30 minutes
Middleware•30 minutes
Module #5 - The User Interface
Module 6•4 hours to complete
Module details
In our final module we will discuss the User Interface. We will touch on CSS and JavaScript, and how these are used to add style to layout and design of HTML documents. We will also learn about Ajax and how it improves user requests.
What's included
14 videos1 reading1 programming assignment
Show info about module content
14 videos•Total 67 minutes
Presentation Tier Overview - An Overview•1 minute
Video 1: The Presentation Tier•4 minutes
Video 2: Layout and Design•8 minutes
Video 3: HTML: History and Philosophy•5 minutes
Video 4: HTML CSS and JavaScript•3 minutes
HTML CSS and JavaScript Overview - An Overview•1 minute
Video 1: HTML Overivew•13 minutes
Video 2: CSS Overview•6 minutes
Video 3: JavaScript Overview•5 minutes
Dynamic Content and Ajax Overview - An Overview•0 minutes
Video 1: Ajax Background•3 minutes
Video 2: Ajax Cycle•4 minutes
Video 3: Dynamic Content Creation•6 minutes
Video 4: Blog App - Iteration 5•9 minutes
1 reading•Total 10 minutes
Learning Outcomes•10 minutes
1 programming assignment•Total 180 minutes
Blog App - Iteration 5•180 minutes
Instructors
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
As New Mexico’s flagship institution, UNM is a place where cutting-edge research and creative endeavors flourish. We empower our students to lead in tackling complex societal challenges, offering an exceptional education inspired by vision, scholarship, and creativity. UNM’s distinctive campus environment blend of culture and cuisine, styles and stories, people, pursuits and panoramas.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.