Overview
Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
This Specialization introduces learners to computational thinking, programming logic, and problem-solving using JavaScript. Designed for beginners with little technical background, the program helps learners understand how software systems work and how to solve real-world problems using code.
Through hands-on exercises and guided projects, learners will build interactive web applications, generate graphics, and analyze data using JavaScript within a beginner-friendly web-based development environment. As the program progresses, learners transition to industry-standard tools and workflows used by professional developers.
In addition to technical programming skills, the Specialization emphasizes self-directed learning, debugging strategies, and computational problem-solving frameworks, empowering learners to confidently approach new technologies, programming languages, and complex challenges throughout their careers.
By the end of the Specialization, learners will have built practical coding projects and gained the core thinking skills that underpin modern software development and computing innovation.
Syllabus
- Course 1: Computational Thinking with JavaScript 1: Draw & Animate
- Course 2: Computational Thinking with JavaScript 2: Model & Analyse
- Course 3: Computational Thinking with JavaScript 3: Organise & Interact
- Course 4: Computational Thinking with JavaScript 4: Create & Deploy
Courses
-
This is the first course in a four‑course sequence that develops essential 21st‑century computational thinking skills, using JavaScript as a practical and accessible vehicle. The course introduces computational thinking as a way of approaching problems, learning new technologies, and working effectively with others. You will be introduced to a shared framework for computational thinking that will guide your learning throughout the course and the wider Specialization. Using this framework, you will begin to read and write simple JavaScript programs that create drawings and animations with the help of a specialised graphics library. Along the way, you will reflect on how programs behave, how processes are expressed precisely, and how creative ideas can be turned into working computational artefacts. This course is suitable for complete beginners, for learners with some prior programming experience who want to develop their thinking skills more deeply, and for anyone who wants to learn JavaScript in a supportive environment. Later courses in the sequence build on these foundations, extending your skills to data, the web, and larger software projects.
-
This is the second course in the four‑course Computational Thinking with JavaScript Specialization. Building on the foundations from Course 1, the emphasis here is on modelling aspects of the real world using computational representations, particularly data. You will deepen your understanding of computational thinking by working with abstract data structures and simple analytical processes. Using JavaScript and specialised libraries, you will write programs that process, analyse, and visualise data, supporting reasoning about patterns and behaviour. Throughout the course, attention is given to how data is represented, transformed, and interpreted, and to how these choices shape what a computational model can reveal. This course is suitable for learners who have completed Computational Thinking with JavaScript 1: Draw & Animate, or who already have basic JavaScript experience and want to explore data and analysis in a structured and supportive setting. The skills developed here form an essential bridge between expressive programming and the interactive, web‑based systems explored in later courses.
-
In this third course in the Computational Thinking with JavaScript Specialization, you apply your developing skills to the context of the web. You will explore how JavaScript and HTML work together to support the web pages and interactive experiences that are part of everyday life. The focus of the course is on organisation and interaction. You will learn how interactive programs are structured, how they respond to user actions, and how behaviour changes over time. As your programs grow larger, you will increasingly focus on managing complexity through careful organisation, abstraction, and clear structure. You will also move beyond the sheltered programming environment used earlier in the sequence, working with external tools, libraries, and environments. Throughout, the computational thinking frameworks introduced in the earlier courses are reinforced, with particular attention paid to maintaining a coherent understanding across multiple representations, technologies, and interacting components.
-
This fourth and final course is the capstone of the Computational Thinking with JavaScript Specialization. It builds on everything you have learned so far and supports you in designing, implementing, deploying, and reflecting on a complete software project. You will work through the stages of a small‑scale software development process, beginning with identifying requirements and assessing feasibility, and progressing through implementation, deployment, evaluation, and reflection. Using JavaScript, HTML, and a range of libraries, you will develop a larger application of your own choosing, while being encouraged to explore new tools where appropriate. Throughout the course, interaction with peers plays a key role. You will review others’ work, receive feedback on your own project, and reflect on how computational thinking supports effective software design and communication. This course emphasises synthesis, decision‑making, and reflection, bringing the series to a coherent and purposeful conclusion.
Taught by
Jeremy Singer and Quintin Cutts