Learn Programming: from Novice to JavaScript Guru in 2 Weeks

Step-by-step guide with all the tools and resources you need to master all your web projects with ease and confidence
4.6 (31 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.
1,415 students enrolled
$19
$50
62% off
Take This Course
  • Lectures 43
  • Length 3.5 hours
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 7/2014 English

Course Description

JavaScript is arguably the ideal language to learn programming: it does not require a compiler or a linker, it is simple and easy to use, yet incredibly versatile.

JavaScript is the backbone that gives your web pages life and interactivity, you can use it to customize other applications that you use such as a word processor or a spreadsheet program, you can also create stand-alone programs, and even components and libraries to be used by other programming languages.

This ambitious hands-on, step-by-step course by Dr Alex Davidovic takes you from your first programming steps to becoming a JavaScript guru. The material is divided into bite-size chunks that can be easily completed, and going through half a section every day brings you to the end of the course in two weeks. As soon as you master the programming fundamentals, the building blocks and the ways to control the program flow, you start "swimming in the deep water" and take aim at the advanced concepts such as recursion (a function calling itself) and working with objects.

You learn how to animate text and images, capture the mouse, keyboard and other events, and direct the execution of the program accordingly.

As a special project at the end of the course, you get to design a teleprompter, which comes handy whenever you get to shoot a video for your website. The knowledge that you gain by completing the project is something that you apply to a whole range of software projects.

The course includes 8 sections, 43 lectures, 35 videos, and the download with the documentation and the source code for all the lectures. Also included is the special bonus that allows you to bring your JavaScript and web-development knowledge to an even higher level after you finish the course, through self-study.

What are the requirements?

  • No prior programming knowledge required
  • You need a code editor, and there are free ones and paid oned to choose from, as recommended in the course
  • You need a visual web-page editor, and there are free ones and paid oned to choose from, as recommended in the course

What am I going to get from this course?

  • Master the programming fundamentals through a hands-on experience
  • Learn the JavaScript building blocks, and how to control the program flow
  • Learn how to use JavaScript in web pages
  • Learn how to manipulate the properties of different objects on a web page
  • Animate images and text objects on a web page
  • Develop your own highly-practical software project - the teleprompter

What is the target audience?

  • All the people who have always wanted to learn programming, but didn't know where to start
  • Professionals who want to feature their own products and services in highly interactive web pages
  • Professionals who want to customize the software they work with (e.g. Office products)
  • Web developers and webmasters who want to expand their knowledge and start doing web programming
  • All the people who want to make a living out of software development
  • All the people who want to do computer programming as a hobby

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Getting Started
06:35

Congratulations on your decision to learn programming, which is such an important skill in this computer age, and a heartfelt welcome to the course! It's an honor to have you as my student, and I promise to do everything in my power to help you learn more in two weeks than you'd ever think possible. You're in for a treat!

JavaScript is the ideal language to learn programming, and also an incredibly versatile one, with the power to make your pages interactive and update them on the fly, with the ability to automate repetitive tasks, and capable even of creating the stand-alone programs and reusable libraries.

Roll up your sleeves, pour yourself some fresh coffee, and let's get started...

Article

The entire course is outlined, section by section.

When you go through half a section every day, you need 2 weeks to complete the course - but this can vary depending on your available time.

07:47

To organize your programming environment, you need a code editor and a visual web-page editor.

Recommended code editors: Antechinus JavaScript Editor ($17) or Blue Griffon (free).

Recommended visual editors: Adobe Dreamweaver (expensive!) or Blue Griffon (free).

04:21

Traditionally, the first program you write displays the "Hello World" message.

Make sure to download the Programming Tutorial, with all the examples that we're working on, neatly categorized and with all the source code.

03:18

By choosing JavaScript, you've hit the jackpot: it's not just easy to master and the best language to learn programming, it is also incredibly versatile.

Use it to:

Add life and interactivity to your web pages
Customize your applications
Automate routine tasks
Create .NET programs, components and libraries
...and a lot more!
01:02

You've already covered lots of ground: you have your programming environment in place, you know a lot more about JavaScript than before, and you've created your first JavaScript program!

Section 2: The Building Blocks of JavaScript
11:33

A variable is the location used for storing and manipulating values by name. As JavaScript is loosely typed, a single variable can hold different types of data over the course of a script.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
The Building Blocks of JavaScript / Variables, statements, expressions and functions

08:46

Statements, expressions and functions are the essential building blocks of JavaScript and other programming languages.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
The Building Blocks of JavaScript / Variables, statements, expressions and functions

04:35

Declaring variables in JavaScript is easy: you can use them immediately and you do not have to specify its type. Top 3 rules to remember:

The first character must be a letter, or an underscore (_), or a dollar sign ($).
The subsequent characters can be letters, numbers, underscores, or dollar signs.
The variable must not contain any embedded space characters.
09:03

JavaScript allows you to easily convert one type to another. In many cases, this conversion is automatic.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
The Building Blocks of JavaScript / Declaring and naming variables

02:24

There is a number of JavaScript reserved keywords, intrinsic (built-in) objects and functions that you need to know about. Do not use any of them for naming your variables.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
The Building Blocks of JavaScript / Reserved keywords

8 questions

Take your time to check your understanding of the building blocks of JavaScript. There's no time limit.

10:02

There are three types of operators that you use all the time: computational, increment/decrement and logical, which are used for testing and directing the program flow.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
The Building Blocks of JavaScript / JavaScript Operators

07:30

Functions are the essential building blocks of your scripts. They are used to combine multiple statements in one place.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
The Building Blocks of JavaScript / Working with functions

02:27

JavaScript uses escape sequences to allow you to place special characters into strings. The escape sequence starts with a backslash (\), followed by another character.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
The Building Blocks of JavaScript / Spacial characters

The Building Blocks of JavaScript - Quiz (B)
4 questions
01:25

You've reached another milestone! In this section you've covered the variables, statements, expressions, and other building blocks of JavaScript. In addition, you've learned about reserved words, JavaScript operators and special characters.

If you have any questions, comments or suggestions, I'd love to hear them. Start a discussion, share your experience with other students.

Section 3: Controlling the Program Flow
05:18

Of all the ways to control the program flow, using sequence is the simplest: just list the statements to execute one after the other. For conditional branching, JavaScript uses if and if...else statements.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Controlling the Program Flow / Sequence, conditional branching, and iteration

01:57

JavaScript supports the conditional operator (A) ? (B) : (C); which is a shorter way of an if..else statement.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Controlling the Program Flow / Sequence, conditional branching and iteration

08:48

In general, repetitive execution is called looping. JavaScript gives you several ways to execute a statement or block of statements repeatedly.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Controlling the Program Flow / Sequence, conditional branching, and iteration

03:13
  • The break statement can be used to stop execution if some condition is met.
  • The continue statement can be used to jump immediately to the next iteration, skipping the rest of the code block but updating the counter variable as usual if the loop is a for or for...in loop.
  • The switch statement is used as a convenient replacement for multiple if...else if statements.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Controlling the Program Flow / Sequence, conditional branching and iteration

Controlling the Program Flow Quiz
3 questions
01:30

Without the firm grasp on how to control the program flow, it is impossible to design any complex piece of software to execute correctly. The 3 key ways to direct the program flow are:

Sequence
Conditional Branching
Iteration / Looping

Congratulations, after mastering this section you're ready for the advanced concepts.

Section 4: Arrays, Objects and Advanced Concepts
03:33

The variables that you declare can be global or local, which depends on whether you want to give the access to them to the rest of the program or not.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Arrays, objects and Advanced Concepts / The life of variables

03:30

When you pass data to a function by value, this means that you are passing whatever the variable is holding, not the variable itself.

Passing by reference means that the alias representing the variable itself is received, not the copy.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Arrays, objects and Advanced Concepts / Passing data by value and by reference

04:52

Arrays in JavaScript are incredibly flexible. The first element in an array has the index 0, and the length of an array is handled automatically.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Arrays, objects and Advanced Concepts / Arrays

Arrays, Objects and Advanced Topics Quiz (A)
4 questions
05:52

JavaScript objects encapsulate properties and methods operating on the properties. The built-in (intrinsic) JavaScript objects are: Array, Boolean, Date, Function, Global, Math, Number, Object and String. Apart from intrinsic objects, there are user-created objects, and host objects (document, window...).

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Arrays, objects and Advanced Concepts / Objects

05:08

A common way to create an instance of a JavaScript object is use the new operator.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Arrays, objects and Advanced Concepts / Object constructors

06:37

In a nutshell, a recursive function is the function which at some point of execution calls itself. Each recursive call brings you one step closer to a solution.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Arrays, objects and Advanced Concepts / Recursion

Arrays, Objects and Advanced Topics Quiz (B)
4 questions
01:05

In this section, you've dived into the advanced concepts and the nitty-gritty of real-life programming. Using local and global variables, passing data by value or reference, and creating arrays and objects will soon be an natural as breathing - or close to it :)

Section 5: Using JavaScript in Web Pages
06:56

The main purpose of JavaScript is to augment the web pages. Before you put your JavaScript code into the web context, we look at the structure of the web page and the most common HTML tags.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Using JavaScript in Web Pages / JavaScript in Web Pages

Do you know your HTML?
3 questions
05:18

JavaScript provides you with a number of ways to manipulate the data on your web page, and display it in the browser window. The top 3 are:

By using document.write() or document.writeln()
By using alert(), prompt() and confirm()
Directly via getElementByID()

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Using JavaScript in Web Pages / JavaScript in Web Pages

03:15

There are three JavaScript message boxes that you are likely to use a lot in your web pages: alert, confirm and prompt. All three are modal, which means that you cannot use the main window under it until you deal with the message box first.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Using JavaScript in Web Pages / Message boxes

04:33

You can use JavaScript in your web pages in two ways:

As a "code island"
As a separate .js file linked to your page.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Using JavaScript in Web Pages / Code islands and embedded JavaScript

Using JavaScript in Web Pages Quiz
3 questions
00:53

The primary purpose of JavaScript is to augment your web pages. After completing the JavaScript fundamentals and the advanced concepts in the previous sections, in this one you apply your knowledge by placing your code in the context of a web page.

Section 6: Animation
06:36

This part of the course further explains how to use JavaScript in your web pages to animate text. It is great fun as you get to program things to move around the screen, and it adds value to your web pages :)

Animations not only make your pages more interesting, but are also great for illustrating how things work, directing the attention of your visitors, and a whole other range of applications.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Animation / Moving an image

01:42

In this lecture you learn how to control the sequence of events, in this case 3 animations one after another.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Animation / Animation sequencing

01:57

There are situations when you want your animations to keep looping until a certain condition is met - for example, when you want to illustrate an ongoing process such as file upload or a file download.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Animation / Looping animation

02:08

Moving text is very similar to moving images: one good way to do it is to use the <div> tag.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Animation / Animating text objects

02:54

At present, adding sound to your web pages is quite tricky because different web browsers support different sound formats - but the sound-support library that you get to use in this lecture makes it a breeze.

In the Programming Tutorial that you've downloaded, you'll find the documentation and the source code for this lesson in the following section:
Animation / Adding sound to your pages

Section 6 Quiz
3 questions
01:41

Animating text, images, and other objects on a web page greatly add to the quality of the interface... and furthermore, many processes are best explained or demonstrated through animations.

Section 7: Project: Creating Your Own Teleprompter
07:41

The first step in designing the teleprompter is to define its structure. The project has 3 files:

The web page
The Cascading Style Sheet (.css)  defining the fonts, colors and other styles used by the web page
The JavaScript file (,js) with all the code needed to run the teleprompter
06:57

Cascading Style Sheet (CSS) files are great because they allow you to define fonts, colors, margins and other properties for all the elements on your web pages, and apply them to your entire website.

17:09

It's time to supply the engine of our Teleprompter project... in JavaScript, of course!

09:22

Our teleprompter is up and running... but it could be better! In this lesson we improve on the existing design by adding the keyboard input to start and stop the scrolling, and to accelerate or decellerate it.

Section 8: Conclusion
02:09

Congratulations, you've nailed it! You've completed the course and you are now ready to start creating real-life applications. In addition, there's a Special Bonus - JavaScript Reference to allow you to bring your JavaScript knowledge to an even higher level through self-study, with over 300 examples that you can copy-paste-and-execute.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Dr Alex Davidovic, International Chess Master, Olympian and Software Engineer

Dr Alex Davidovic is the father of 2, a seasoned computer programmer and a chess coach.

Dr Alex is passionate about chess. He is an International Chess Master, played professionally for 5 years, and competed in two Chess Olympiads, in Manila (Philippines) in 1992 and Elista (Kalmykia) in 1998, playing the total of 20 games for the Australian team and only losing one, either winning or drawing all other games.

Following Dr Alex's teaching methods, many of his chess students achieved extraordinary results, including one World Champion under 20 and over 10 adult or age-group national champions.

Ever since completing his PhD in Computer and Information Science on the topic of adaptive tutoring systems, Dr Alex has been applying the results of his research to make learning complex concepts such as computer programming and chess easy to master.

He has been a computer programmer since 1991. Over one million people use the software developed by Dr Alex and his company C Point Pty Ltd:

  • Antechinus C# Editor, the first-ever integrated environment for the C# programming language
  • Antechinus JavaScript Editor, which is used by web designers and programming students alike
  • Antechinus Animator Professional, for creating stop-motion animations
  • ...and 300+ other major software projects.

Ready to start learning?
Take This Course