Your browser is ancient!
Upgrade to a different browser to experience this site.

Developing Full-Stack Applications with JavaScript

What You'll Learn

  • Manage dependencies and modularize projects using npm, bundlers, and ES6 modules.
  • Write basic Node.js applications and servers.
  • Build real-time multi-user applications using WebRTC and WebSockets.
  • Create accessible applications that follow accessibility principles and use the Internationalization API to accommodate global users.
4 Modules
48 Hours
12 hrs per module (approx.)

About Developing Full-Stack Applications with JavaScript

"Developing Full-Stack Applications" focuses on advanced JavaScript concepts to build modern, scalable, and collaborative applications. You will move beyond client-only development to learn how to integrate external libraries, manage project dependencies, and build server-side applications with Node.js.

You’ll be introduced to building real-time multi-user applications, with an emphasis on critical cross-cutting concerns such as accessibility (a11y) and internationalization (i18n). Through hands-on projects, you will gain the skills to design interactive, collaborative, inclusive, and usable applications.

This is the third course in a four-part series, "Practical JavaScript: From Scratch to React," that provides you with hands-on experience in creating seamless front- and back-end applications.

Skills You'll Gain

  • Computer Programming
  • Pure JavaScript
  • Web Accessibility Standards
  • Web Development

What You'll Earn

Certificate of Completion
Certificates of completion acknowledge knowledge acquired upon completion of a non-credit course or program.
Experience Type
100% Online
Format
Self-Paced
Subject
  • Computer Science
Platform
Coursera
Welcome Message

Welcome to Developing Full-Stack Applications with JavaScript! This is the third course in a four-part series focused on JavaScript. This course focuses on advanced JavaScript concepts that support the development of modern, scalable, and collaborative applications. You will move beyond client-only development to learn how to integrate external libraries, manage project dependencies, and build server-side applications with Node.js.

The course also introduces how to build real-time multi-user applications and emphasizes critical cross-cutting concerns such as accessibility (a11y) and internationalization (i18n). Through hands-on projects, you will gain the skills to design applications that are interactive, collaborative, inclusive, and usable.

This abbreviated syllabus description was created with the help of AI tools and reviewed by staff. The full syllabus is available to those who enroll in the course.

Course Schedule

Module 1: Libraries and Modules

  • This module introduces how modern JavaScript projects manage external code and structure larger programs. You will begin with the basics of the command line and package management using npm.
  • You will learn how to create and configure a package.json file, add third-party libraries, and manage project dependencies.
  • You will explore bundlers such as Webpack, which bundle code and dependencies into optimized, deployable packages.
  • You will also learn about semantic versioning and code licensing.

Module 2: Server-Side JavaScript

  • You will learn server-side programming with JavaScript using Node.js.
  • You will run JavaScript outside the browser, build a simple HTTP server, and respond to client requests.
  • You will use WebSockets for real-time, two-way communication between clients and servers.

Module 3: Multi-User Applications

  • You will learn how to build applications that support multiple users.
  • You will store information client-side using localStorage and cookies, and server-side using a database.
  • You will implement user authentication.
  • You will compare synchronization mechanisms for shared state across clients, including Operational Transformations (OT) and Conflict-Free Replicated Data Types (CRDTs), to build real-time collaborative applications.
  • You will establish peer-to-peer connections using WebRTC to enable direct communication for applications such as video chat.

Module 4: Internationalization and Accessibility

  • You will learn how to design applications that are usable and inclusive for all users, regardless of ability, culture, or location.
  • You will explore the principles of Accessibility (a11y) and Internationalization (i18n).
  • You will learn about Localization (l10n) as the process of adapting applications for specific languages and cultural contexts.
Grading Policy

Learners must earn 80% overall to pass. There are four module quizzes, each worth approximately 25% of your final grade.

Course content developed by U-M faculty and managed by the university. Faculty titles and affiliations are updated periodically.

Intermediate Level

Experience with basic HTML/CSS, DOM manipulation, events, and asynchronous JavaScript (like Promises and fetch) is highly recommended

Enrollment Options

Individuals

This experience is available to individual learners on the following platforms:

U-M Community

Free access is only available to current U-M students, alumni, faculty, and staff.

Organizations

Special pricing and tailored programming bundles available for organizational partners.

What are Coursera and edX?

Michigan Online learning experiences may be hosted on one or more learning platforms. Platform features may vary, including payment models, social communities, and learner support.

Coursera

  • Hosts online courses, series, and Teach-Outs from Michigan Online
  • Enroll and preview courses anytime
  • May earn a non-credit certificate from Coursera

edX

  • Hosts online courses and series from Michigan Online
  • Many offer a free (limited) audit option
  • May earn a non-credit certificate from edX

For more information visit the What are Coursera and edX? FAQ section

Michigan Online
For You

Sign up for a Michigan Online account to customize your experience!