Computational Thinking with Javascript 1: Draw & Animate (Coursera)

Offered by University of Glasgow,
Computational Thinking with Javascript 1: Draw & Animate (Coursera)

This is the first course in a sequence of four courses that develops essential 21st century computational thinking (CT) skills using the popular JavaScript language as a vehicle. At the end of this first course you will: know a framework for CT to help you learn about it and work with others; be developing your CT skills so that you can more easily work with digital technology of all kinds; be able to read and write programs in JavaScript that involve drawing and animation, using a specialised library; and post your creations on the web so that others can appreciate your skills.

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

This course is suitable for: complete beginners; those who have taken an introductory course in any programming language and want to learn more deeply about the thinking and learning skills they are starting to develop; those who wish to learn Javascript in a supportive environment.
The follow-on courses explore the manipulation and analysis of data, such an important aspect of our lives now, again in a highly supportive environment, and then we move the context to mainstream web--based platforms so that you can use these skills more widely.
Course 1 of 4 in the Computational Thinking with JavaScript Specialization.

What You Will Learn
A key problem solving framework to use new technologies in any problem domain.
Experience using the framework with Javascript and animated graphics.

Syllabus

WEEK 1
Introductions - and starting out with CT using graphics in JavaScript
This module introduces the instructors for this course and for the longer Computational Thinking with Javascript specialisation. A framework for understanding computational thinking is introduced and first steps are taken with Javascript, applying it in the context of simple graphics - drawing and animation.

WEEK 2
Solving problems / programming a task
In this module, you take the foundations you have learned about computational thinking, some early programming constructs, and your program reading skills, and you start to learn about writing programs for tasks.

WEEK 3
More complex drawings, and how to handle their descriptions
As our drawings become more complex, their descriptions will quickly become unwieldy. To counter this, we introduce programming language constructs that allow highly complex drawings to be described in just a few lines. They're a bit harder to understand at first, but in the long term, they're essential.

WEEK 4
Animations - and consolidating what we've learned so far
Drawing still pictures is one thing - but the process-oriented element of programming lends itself to animation - an activity taking place over time. In this module, we'll make use of all we've learned so far to create animations. Functions will be used in a new and important way - as a so-called "callback" - which form the foundation of interactive programming as we'll see in Course 3 of the specialisation.

  • A key problem solving framework to use new technologies in any problem domain.
  • Experience using the framework with Javascript and animated graphics.
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Pixel Art for Video Games (Coursera) Coursera
Michigan State University

Pixel Art for Video Games (Coursera)

This course is aimed to give you the tools and knowledge you need to start creating simple art for video games made in the Unity game engine. Through the aesthetic of pixel art we will explore artistic principals like shape language, color theory, and composition as well as show you a step by step workflow for creating assets that you can use to make your own games.

Nov 2nd 2026
5-12 Weeks
Functional Program Design in Scala (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Program Design in Scala (Scala 2 version) (Coursera)

In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types.

Nov 2nd 2026
5-12 Weeks
Problem Solving Using Computational Thinking (Coursera) Coursera
University of Michigan

Problem Solving Using Computational Thinking (Coursera)

Have you ever heard that computers "think"? Believe it or not, computers really do not think. Instead, they do exactly what we tell them to do. Programming is, "telling the computer what to do and how to do it." Before you can think about programming a computer, you need to work out exactly what it is you want to tell the computer to do. Thinking through problems this way is Computational Thinking. Computational Thinking allows us to take complex problems, understand what the problem is, and develop solutions. We can present these solutions in a way that both computers and people can understand.

Nov 9th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 1) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 1) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Nov 2nd 2026
5-12 Weeks
Introduction to Open Source Application Development (Coursera) Coursera
Illinois Tech

Introduction to Open Source Application Development (Coursera)

This course introduces basic concepts of systems programming using a modern open source language. You will learn to apply basic programming concepts toward solving problems, writing pseudocode, working with and effectively using basic data types, abstract data types, control structures, code modularization and arrays. You will learn to detect errors, work with variables and loops, and discover how functions, methods, and operators work with different data types. You will also be introduced to the object paradigm including classes, inheritance, and polymorphism.

Nov 9th 2026
5-12 Weeks
Computer Science: Programming with a Purpose (Coursera) Coursera
Princeton University

Computer Science: Programming with a Purpose (Coursera)

The basis for education in the last millennium was “reading, writing, and arithmetic;” now it is reading, writing, and computing. Learning to program is an essential part of the education of every student, not just in the sciences and engineering, but in the arts, social sciences, and humanities, as well. Beyond direct applications, it is the first step in understanding the nature of computer science’s undeniable impact on the modern world.

Nov 2nd 2026
5-12 Weeks
Learn HTML and CSS (Coursera) Coursera
Scrimba

Learn HTML and CSS (Coursera)

This course is perfect if you want to learn how to code websites from scratch. You will learn the basics of HTML and CSS through interactive challenges. Along the way, you will build multiple projects, like a Google.com clone, a Space Exploration page, and a fun birthday site filled with GIFs. While most of the challenges are done in Scrimba's interactive editor, you will also learn how to use professional tools like VS Code for code editing, GitHub for hosting your code, and Netlify for deploying your projects to the world wide web.

Nov 9th 2026
5-12 Weeks
Basic Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Basic Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Nov 9th 2026
4 Weeks
Programming Fundamentals (Coursera) Coursera
Duke University

Programming Fundamentals (Coursera)

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

Nov 2nd 2026
4 Weeks
Learn Imba (Coursera) Coursera
Scrimba

Learn Imba (Coursera)

In this class, you'll dive into Imba, the programming language used to build scrimba.com. Imba, a compile-to-JavaScript language, packs a punch with nifty features for whipping up web apps, including built-in tags and styles. We'll cover the ABCs of Imba syntax and work on creating a Dopamine Box app. By the finish line, you'll be armed with the skills to construct your very own web app UI using Imba.

Nov 9th 2026
1 Week
Laboratório de Programação Orientada a Objetos - Parte 2 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 2 (Coursera)

Esta é a segunda parte do curso avançado de Programação Orientada a Objetos oferecido pelo Departamento de Ciência da Computação do IME-USP. O curso é voltado para profissionais ou estudantes interessados em Desenvolvimento de Software Avançado e que já dominam uma linguagem de programação e já conhecem os fundamentos básicos da orientação a objetos.

Nov 9th 2026
5-12 Weeks