Web Application Architectures (Coursera)

Web Application Architectures (Coursera)

Learn how to build and deploy modern web application architectures – applications that run over the Internet, in the "cloud," using a browser as the user interface.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

A newer version of this course is available here:
Web Application Development: Basic Concepts

This course explores the development of web application architectures from an engineering perspective. We will consider the fundamental design patterns and philosophies associated with modern web application architectures, along with their major components. By the end of this course, I expect you to be able to:

  • Design, develop and deploy a modern web application. This course is not about how to build a pretty web page, it's about how to build and deploy the full stack of protocols and technologies associated with a complete web app. That said, it is not possible for you to become an expert in this area in a few weeks. My goal, rather, is to put you on the right path by providing a solid foundation and framework for understanding web applications, allowing you to dig deeper and learn more on your own. The next bullet points describe how we're going to do this.
  • Understand the major architectural components in web apps, and how they fit together. Modern web apps are complex. A typical application has a database along with numerous scripts on one end of the web stack, a web server in the middle that delivers information over the Internet, and a user's browser on the other end of the web stack. Even getting started in trying to understand these components can be overwhelming. Consider just the programming languages involved in a typical web stack: from the database (SQL), to the web server (scripting language), to the browser (JavaScript, HTML, CSS), we're dealing with five different programming languages, not to mention the protocols they're operating over – and you need to know a little about them too! We'll introduce a number of software design patterns throughout the course that are aimed at helping you to manage this complexity.
  • Use Ruby on Rails. We're going to learn about web apps through the Ruby on Rails framework. Rails is a framework for creating web applications that is built on top of the Ruby programming language. I believe this is one of the best frameworks for learning about web applications, and it's also proving highly successful as a platform for commercial offerings. That said, there are many other frameworks available, and the concepts you will learn using Rails are transferable to these other frameworks.
  • Better understand modern software engineering practice. We’ll be using the latest tools and practices in software development, source code control, testing, and application deployment. This will include exposure to agile development practices, the numerous tools that software engineers are expected to know how to use, and the cloud-based resources that are becoming increasingly important in web applications.
Note: This course is currently not available.

Related Courses

Introduction and Programming with IoT Boards (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Introduction and Programming with IoT Boards (Coursera)

Internet of Things (IoT) is an emerging area of information and communications technology (ICT) involving many disciplines of computer science and engineering including sensors/actuators, communications networking, server platforms, data analytics and smart applications. IoT is considered to be an essential part of the 4th Industrial Revolution along with AI and Big Data. This course will be very useful to senior undergraduate and graduate students as well as engineers who are working in the industry.

Nov 23rd 2026
5-12 Weeks
Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will build upon concepts from the prior course, including handling notifications, using multimedia and graphics and incorporating touch and gestures into your apps.

Nov 23rd 2026
5-12 Weeks
VLSI CAD Part II: Layout (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part II: Layout (Coursera)

A modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Nov 16th 2026
5-12 Weeks
Learn TypeScript (Coursera) Coursera
Scrimba

Learn TypeScript (Coursera)

Are you a proficient developer in HTML, CSS, and JavaScript, looking to elevate your technical skillset? Have you observed an increasing demand for TypeScript in the professional job market and are keen to explore its significance? Are you in search of a programming language that offers ease in readability and debugging? If the answer to any of these questions is affirmative, then you have arrived at the optimal course to advance your career.

Nov 23rd 2026
4 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Nov 16th 2026
5-12 Weeks
Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Nov 16th 2026
5-12 Weeks
Programación en Python (Coursera) Coursera
Universidad de los Andes

Programación en Python (Coursera)

¡Te damos la bienvenida al curso de Programación en Python de la Universidad de los Andes! El propósito de este curso es ofrecerte un ambiente interactivo para que desarrolles tus habilidades de pensamiento computacional, aprendas a programar en el lenguaje Python y te entrenes en la resolución de problemas utilizando un computador. La estrategia pedagógica empleada es el aprendizaje activo basado en casos.

Nov 23rd 2026
4 Weeks
AWS Database Specialty Certification (Coursera) Coursera
EDUCBA

AWS Database Specialty Certification (Coursera)

This course offers a comprehensive journey through the world of databases and their management on the AWS cloud platform. From understanding the core concepts of databases to mastering advanced topics like migration, automation, and security, participants will gain a solid foundation in database design, deployment, and management using AWS services.

Nov 23rd 2026
5-12 Weeks
Applied Calculus with Python (Coursera) Coursera
Johns Hopkins University

Applied Calculus with Python (Coursera)

This course is designed for the Python programmer who wants to develop the foundations of Calculus to help solve challenging problems as well as the student of mathematics looking to learn the theory and numerical techniques of applied calculus implemented in Python. By the end of this course, you will have learned how to apply essential calculus concepts to develop robust Python applications that solve a variety of real-world challenges.

Nov 23rd 2026
5-12 Weeks