Coursera: Web Application Development: Basic Concepts

 with  Greg Heileman and Manel Martínez-Ramón
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:



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.

Module #2 - Web Applications Frameworks
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.

Module #3 - Managing Data
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.

Module #4 - Middleware
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.

Module #5 - The User Interface
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.

1 Student
Cost Free Online Course (Audit)
Pace Upcoming
Subject Web Development
Provider Coursera
Language English
Certificates Paid Certificate Available
Calendar 5 weeks long
Sign up for free? Learn how
+ Add to My Courses
Learn Data Analysis

Learn to become a Data Analyst. Job offer guaranteed or get a full refund.

Become a Data Scientist

Learn Python & R at your own pace. Start now for free!

FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

1 review for Coursera's Web Application Development: Basic Concepts

Write a review
8 months ago
Xenofon Karagiannis completed this course and found the course difficulty to be easy.
Web Application Development: Basic Concepts is a really great introductory course to Web Development. It could be Web Development 101! It tries to cover a very broad spectrum of Web Development and this is apparent right from the syllabus. You get an idea of how the web works, tier architecture, some HTTP understandi Read More
Web Application Development: Basic Concepts is a really great introductory course to Web Development. It could be Web Development 101!

It tries to cover a very broad spectrum of Web Development and this is apparent right from the syllabus. You get an idea of how the web works, tier architecture, some HTTP understanding, model-view-control, an overview of CSS, HTML and JavaScript, some git, and Ruby on Rails!

Of course, having so much course material to cover, it's all an introduction. There are no lectures on Ruby language or bundler and gem management.

The assignments are to build a web app (a very VERY simple one) on Ruby on Rails and create a github repo. (I completed the course within 5 days)

The assignments are REALLY simple. They ask you to repeat what the professor did on the lecture... so if you were following the professor while watching the lecture, at the end you only have to push the code to github and submit the assignment.

Though the course is easy, it's a great 101 course and actually because of this course I enrolled on the Ruby on Rails Web Development specialization!
Was this review helpful to you? YES | NO

Write a review

How would you rate this course? *
How much of the course did you finish? *
Create Review