JavaScript Programming Essentials (Coursera)

Offered by IBM,
JavaScript Programming Essentials (Coursera)

JavaScript has become the most popular programming language amongst software developers. This JavaScript essentials course is designed for anyone interested in a software engineering career as a web, mobile, front-end, back-end or full stack developer.

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

You’ll start with JavaScript basics, covering fundamental concepts and ECMAScript 6 features. You’ll also explore key data structures, including arrays, DOM, AJAX, and effective debugging techniques.
Next, you will focus on honing your error handling and DOM manipulation skills. You’ll explore handling errors and exceptions in JavaScript, become proficient in working with functions and events, apply string manipulation techniques, and learn to traverse and manipulate the DOM to create dynamic web pages.
You’ll use JavaScript functions, tools, and libraries to create and style navigation and pages and utilize AJAX to fetch and display data from APIs.
Throughout this course, we will provide step-by-step instructional guidance through videos followed by hands-on labs to practice what you learn. You will also complete a final project to showcase your newly acquired JavaScript programming skills and build a dynamic website.
This course is for JavaScript beginners and assumes a basic working knowledge of HTML, CSS and Git.
This course is available as part of :

What you'll learn

  • Describe JavaScript development concepts, list ES6 features, outline data structures, and explore arrays, DOM, AJAX, and debugging techniques.
  • Explore handling errors and exceptions, functions and events, apply string manipulation and error-handing techniques, and traverse the DOM.
  • Compare functions, values, reference types, and strategies in promises and async/await, and discuss modifying the appearance of DOM elements.
  • Employ JavaScript functions, services, tools, and libraries to create and style navigation and pages, and AJAX to fetch and display data from APIs.

Syllabus

Introduction to JavaScript Development
In this module, you will learn about introductory JavaScript development concepts. You will learn the basics of software development, including the evolution of JavaScript with ES6, which standardized the JavaScript language. You will explore variables and data types in JavaScript. You will acquire an understanding of operators and expressions with the help of examples. You will study different types of functions and concepts, such as closure and hoisting. You will get oriented to ECMAScript. Finally, you will learn about events in JavaScript and their triggers to make dynamic web pages.

Arrays and Objects in JavaScript
In this module, you will learn about arrays and objects. You will first acquire a strong understanding of arrays and gain practical skills in creating, manipulating, and iterating arrays. You will learn about various JavaScript array methods and explore two-dimensional arrays. Additionally, you will gain a clear understanding of classes and objects in JavaScript and learn about accessing object properties. You’ll explore various string manipulation techniques and recognize the importance of the math object in JavaScript and the use of date objects.

Working with DOM in JavaScript
In this module, you will learn about debugging techniques and tools in JavaScript. In lesson 1, you will explore more about the Try-catch block as a debugging tool. You will get oriented to the working of the DOM and its various nodes. You will study various methods to access and manipulate DOM elements. In lesson 2, you will learn key components of the Browser Object Model (BOM) and how to use them in an HTML file. Next, you will understand different traversing methods and techniques using examples. You also learn how to style the DOM to change its visual representation.

JavaScript Async
In this module, you will learn the importance of JavaScript Object Notion (JSON) in data interchange. In lesson 1, you will also be able to differentiate between JSON and object. You will understand asynchronous and synchronous programming using examples. You will also learn the key difference between asynchronous and synchronous programming. You will explore the history and evolution of Asynchronous JavaScript and XML (AJAX). You will acquire knowledge of best practices to implement AJAX in development. You will also learn the features and functionalities of XMLHttpRequest with examples. In lesson 2, you will learn callbacks using an example. You will also learn about promises, their three states, syntax, and advantages. You will explore the characteristics of fetch API and its different methods to interact with data on web resources. You will also learn about Axios and its syntax using an example. You will be able to differentiate between Axios and fetch API.

Final Project and Course Wrap-up

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Fundamental Skills in Bioinformatics (Coursera) Coursera
King Abdullah University of Science and Technology (KAUST)

Fundamental Skills in Bioinformatics (Coursera)

The course provides a broad and mainly practical overview of fundamental skills for bioinformatics (and, in general, data analysis). The aim is to support the simultaneous development of quantitative and programming skills for biological and biomedical students with little or no background in programming or quantitative analysis.

Nov 16th 2026
4 Weeks
Aprenda a ensinar programação com o Programaê! (Coursera) Coursera
Fundação Lemann,Fundação Telefônica

Aprenda a ensinar programação com o Programaê! (Coursera)

O curso "Aprenda a ensinar programação com o Programaê!" tem como objetivo apoiar professores no desenvolvimento de suas aulas com o ‘Programaê!’, um movimento que quer aproximar a programação do cotidiano de jovens de todo o Brasil por meio de um portal prático, agregador de ideias, soluções, dicas e planos de aula estruturados para professores.

Nov 16th 2026
3 Weeks
AJAX for Web Developers (Coursera) Coursera
Coursera Instructor Network

AJAX for Web Developers (Coursera)

The "AJAX for Web Developers" course explores how modern websites update parts of a web page without the need to reload the entire page, providing a fluid and fast user experience. This course covers the relationship between client apps or websites and servers, the distinction between full page loads and AJAX, and the best use-cases for each.

Nov 16th 2026
3 Weeks
Big Data Analysis with Scala and Spark (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Big Data Analysis with Scala and Spark (Coursera)

Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout.

Nov 9th 2026
4 Weeks
Programming Languages, Part C (Coursera) Coursera
University of Washington

Programming Languages, Part C (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Nov 16th 2026
3 Weeks
Java程序设计 (Coursera) Coursera
Peking University

Java程序设计 (Coursera)

《Java程序设计》课程是使用Java语言进行应用程序设计的课程,针对各专业的大学本科生开设。课程的主要目标有三: 一、掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯,会使用重构、设计模式、单元测试、日志、质量管理工具提高代码的质量。 对于学过“计算机基础、计算概论或C语言的学生”尤为适用。

Nov 16th 2026
5-12 Weeks
C++程序设计 (Coursera) Coursera
Peking University

C++程序设计 (Coursera)

讲授C++语言中和面向对象有关的概念和语法,如类和对象、运算符重载、继承和多态、类模板和算法模板、标准模板库等。目标是使得学生能够用C++语言,以面向对象的方法编写可维护性、可扩充性好的,较大规模的程序,初步领会面向对象程序设计方法的优势所在。

Nov 16th 2026
5-12 Weeks
Programação para todos (Conceitos básicos de Python) (Coursera) Coursera
University of Michigan

Programação para todos (Conceitos básicos de Python) (Coursera)

Este curso tem como objetivo ensinar a todos os conceitos básicos de programação de computadores usando Python. Abordamos o básico de como criar um programa a partir de uma série de instruções simples em Python. O curso não tem pré-requisitos e evita tudo, exceto a matemática mais simples. Qualquer pessoa com experiência moderada em computadores deve ser capaz de dominar os materiais deste curso. Este curso abordará os capítulos 1 ao 5 do livro “Python para Todos”.

Nov 16th 2026
5-12 Weeks
Programming for Data Science (Coursera) Coursera
University of Leeds

Programming for Data Science (Coursera)

Explore the basics of programming and familiarise yourself with the Python language. After completing this course, you will be able to write Python programs in Jupyter Notebook and describe basic programming. In this course, you will learn everything you need to start your programming journey. You will discover the different data types available in Python and how to use them, learn how to apply conditional and looping control structures, and write your own functions.

Nov 16th 2026
3 Weeks