Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add JavaScript Programming: Learn by Making a Mobile Game to your Wishlist.

Add to Wishlist

JavaScript Programming: Learn by Making a Mobile Game

Funded on Kickstarter by 500+ people, take this ultimate project-based course to learn how to code in JavaScript.
4.6 (116 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4,637 students enrolled
Last updated 5/2015
English English
$15 $200 92% off
30-Day Money-Back Guarantee
Includes:
  • 3.5 hours on-demand video
  • 1 Article
  • 5 Coding exercises
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
Description

Update: Added live coding exercises! Put into practice the skills you learn by coding in the browser - Only a handful of Udemy courses have this new feature

Successfully funded in Kickstarter by 500+ people

Learn Silicon Valley's hottest programming language in a visual and colorful way.

The goal of this course is to teach you the basics of JavaScript programming. The focus of the course is mainly on HTML5 game development, but all the concepts we cover are also used in web, mobile app and server-side development.

JavaScript is eating the world. Starting as a web scripting language, JavaScript is now used not just for web development, but also game, mobile app, server and database development.

This course will teach you how to code in JavaScript from scratch in a visual and colorful way. You will learn to code by making a mobile game. That's right! you read well. By making your first mobile game you will be learning JavaScript's core concepts (which also apply to other programming languages!), as opposed to the usual dull style found in all other JavaScript courses.

This approach to teaching JavaScript has never been tried before and that's why 578 people funded it's creation via Kickstarter.

Course author Pablo Farias Navarro is a developer, educator and entrepreneur. Founder of ZENVA, Pablo has authored over 40 programming courses in different languages, and has created educational content for companies such as Amazon and Intel. Pablo has also run live game development workshops at the HTML5 Developer Conference in San Francisco.

Who is the target audience?
  • This course is meant to be for people with basic HTML and CSS skills who want to learn JavaScript for web, app and/or game development
Students Who Viewed This Course Also Viewed
What Will I Learn?
By the end of this course, students will have basic JavaScript programming skills and will be able to apply these in HTML5 game development projects.
Everything covered in this course can also be used in web, mobile app and server-side (Node.js) development
View Curriculum
Requirements
  • Students need to download Google Chrome and a code editor of their choosing (the course uses Sublime Text)
Curriculum For This Course
Expand All 43 Lectures Collapse All 43 Lectures 03:22:30
+
Introduction to the Course
2 Lectures 02:00

This lecture introduces the course and it's requirements. The final project is showcased.

Preview 01:56

Find the course source files in the Supplementary Material tab.

Source code files
00:04
+
Basic JavaScript
8 Lectures 44:29

In this lesson you will learn how to include JavaScript code in a HTML document using different methods.

Preview 06:08

Practice what you have just learned! How to include a JavaScript file.
Coding Challenge - Including a JavaScript File
1 question

In this lesson you will learn how to create variables in JavaScript.

Preview 05:42

In this lesson you will learn to perform arithmetic operations in JavaScript.

Arithmetic Operations
08:32

In this coding exercise you have to create a variable and assign it the sum of two other variables.
Live Coding - Addition
1 question

In this lesson you will learn how to activate and use the console in Google Chrome.

Console
06:32

In this lesson you will learn to create JavaScript objects. You will learn to retrieve and assign property values.

Objects
07:01

This Challenge consists in creating a Player object.

Challenge - Player Object
02:22

This video presents the solution of the Player Object Challenge.

Challenge Solution - Player Object
01:35

In this lesson you will learn to create strings and to perform basic string operations.

Strings
06:37

Create and concatenate strings
Live Coding - Joining Strings
1 question
+
Arrays
6 Lectures 25:55

In this lesson you will learn the concept of arrays. How to create arrays, how to get and set array values and what array indexes are.

Arrays
07:13

In this lesson you will learn how to add and remove elements from an array.

Add and Remove Array Element
05:03

In this lesson we will cover multi-dimensional arrays. You will learn how to navigate and modify values of arrays contained inside other arrays.

Multi-Dimensional Arrays
05:01

In this lesson we combine arrays and objects in different ways and cover how to access and modify properties in each scenario.

Arrays and Objects
05:39

In this Challenge you have to add additional enemies to the game.

Challenge - Adding Enemies
01:22

This video shows the solution to the Adding Enemies Challenge.

Challenge Solution - Adding Enemies
01:37
+
Functions and Methods
5 Lectures 22:39

In this lecture you will learn what functions are and how to create them.

Functions
05:14

In this lesson you will learn and understand the concept of scope. Variables created in different parts are placed into different scopes.

Scope
04:20

In this lesson you will learn to create functions inside other functions.

Nested functions
03:37

In this lesson we cover methods, which are functions added as properties in an object.

Methods
05:47

In this lesson you will learn to create function expressions, which is when you save a function in a variable.

Function Expressions
03:41

Create a function that calculates the total gold you collected in a game
Live Coding - Functions
1 question
+
Making it Visual
2 Lectures 12:56

In this lesson we introduce the HTML5 Canvas API and we draw a rectangle on the screen.

Drawing a Rectangle in the Canvas
06:26

In this lesson we explain how to animate the canvas by moving a rectangle.

Animating the Canvas
06:30
+
Conditional Statements
4 Lectures 17:00

In this lesson we introduce the if and else statements so that you can test a condition and carry out different courses of action depending whether the condition is true or false.

If/Else Statements
05:42

In this lesson you will learn to create and evaluate boolean expressions, which can be either true or false.

Boolean Expressions
06:29

In this Challenge you will have to use if/else statements to modify the type of movement a rectangle performs.

Challenge - Conditional Movement
02:14

This video presents the solution to the Conditional Movement Challenge.

Challenge Solution - Conditional Movement
02:35
+
Loops
5 Lectures 22:57

In this lesson you will learn to use while loops to repeat an action multiple times.

While Loop
07:33

In this lesson you will learn how to use for loops to repeat an action multiple times.

For Loop
04:02

In this lesson we cover the break and continue keywords, which are used to control the flow of the loop.

Break and continue
03:18

In this lesson we cover the forEach method that arrays have. This method is used to traverse an array.

forEach
04:32

In this lesson we'll put in practice some of the concepts learned so far to make the game enemies bounce of the edges of the rectangle.

Bouncing Enemies
03:32

Traverse an array using a while loop
Live Coding - Traversing an Array
1 question
+
Events
3 Lectures 15:55

In this lesson we cover the load event, which is triggered when the DOM is fully loaded in the web browser.

JavaScript Load Event
05:54

In this lesson you will learn to use the mousedown and mouseup events.

Mouse Events
04:02

In this lesson you will learn to use the touchdown and touchup events to make your app touchscreen-friendly.

Touch Events
05:59
+
Finishing Up the Game
5 Lectures 26:19

In this lesson we'll implement collision detection by using a simple formula to check for overlapping rectangles.

Implementing Collision Detection
07:27

In this lesson we add the goal of the game. The game ends when the player reaches the goal.

Adding the Goal
03:32

So far we've worked with colored rectangles. In this lesson we'll replace those by actual sprite images.

Sprites
07:42

This is the final Challenge of the course. In this Challenge you have to make the game multi-level and make each level more difficult than the previous level.

Final Challenge - Multi-level Game
02:51

This video presents the solution to the previous Challenge.

Final Challenge Solution - Multi-level Game
04:47
+
Intermediate JavaScript Topics
2 Lectures 11:26

In this lesson you will learn to use the Namespace pattern to avoid variable name overlapping.

Namespaces
04:37

In this lesson you will learn the basics of Object-Oriented Programming in JavaScript and the role the prototype object plays.

Classes
06:49
1 More Section
About the Instructor
4.3 Average rating
4,028 Reviews
125,666 Students
43 Courses
Software Developer and Founder of ZENVA

Software developer and founder of ZENVA. Since 2012, Pablo has been teaching online how to create games, apps and websites to over 200,000 students through the Udemy and Zenva Academy platforms, and created content for companies such as Amazon and Intel.

Pablo is a member of the Intel Innovator Program in the Asia Pacific, and has run live programming workshops in San Francisco, Brisbane and Bangalore.

Pablo holds a Master in Information Technology (Management) degree from the University of Queensland (Australia) and a Master of Science in Engineering degree from the Catholic University of Chile.

Report Abuse