Learn Programming: from Novice to JavaScript Guru in 2 Weeks
4.6 (35 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,426 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn Programming: from Novice to JavaScript Guru in 2 Weeks to your Wishlist.

Add to Wishlist

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 (35 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,426 students enrolled
Created by Dr Alex Davidovic
Last updated 7/2014
English
Price: $50
30-Day Money-Back Guarantee
Includes:
  • 3.5 hours on-demand video
  • 1 Article
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • 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
View Curriculum
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
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.

Who 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
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 43 Lectures Collapse All 43 Lectures 03:35:09
+
Getting Started
6 Lectures 24:43

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...

Preview 06:35

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.

Preview 01:40

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).

Preview 07:47

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.

Preview 04:21

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!
Preview 03:18

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!

Preview 01:02
+
The Building Blocks of JavaScript
9 Lectures 57:45

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

Preview 11:33

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

Preview 08:46

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.
Preview 04:35

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

Preview 09:03

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

Reserved Keywords
02:24

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

The Building Blocks of JavaScript - Quiz (A)
8 questions

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

JavaScript Operators
10:02

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

Working with Functions
07:30

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

Special Characters
02:27

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

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.

The Final Word
01:25
+
Controlling the Program Flow
5 Lectures 20:46

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

Sequence and Conditional Branching
05:18

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

Conditional Operator
01:57

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

Iteration
08:48

  • 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

Break, Continue and Switch Statements
03:13

Controlling the Program Flow Quiz
3 questions

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.

The Final Word
01:30
+
Arrays, Objects and Advanced Concepts
7 Lectures 30:37

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

The Life of Variables
03:33

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

Passing Data by Value and by Reference
03:30

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
04:52

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

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

Objects
05:52

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

Object Constructors
05:08

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

Recursion
06:37

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

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 :)

The Final Word
01:05
+
Using JavaScript in Web Pages
5 Lectures 20:55

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

The Structure of a Web Page and Common HTML Tags
06:56

Do you know your HTML?
3 questions

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

Adding and Modifying HTML Content
05:18

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

Message Boxes
03:15

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

Code Islands and Embedded JavaScript
04:33

Using JavaScript in Web Pages Quiz
3 questions

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.

The Final Word
00:53
+
Animation
6 Lectures 16:58

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

Moving an Image
06:36

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

Animation Sequencing
01:42

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

Looping Animation
01:57

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

Animating Text Objects
02:08

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

Adding Sound to Your Pages
02:54

Section 6 Quiz
3 questions

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.

The Final Word
01:41
+
Project: Creating Your Own Teleprompter
4 Lectures 41:09

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
The Teleprompter Project Structure
07:41

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.

CSS - Cascading Style Sheets
06:57

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

Coding the Teleprompter
17:09

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.

Improving the Teleprompter
09:22
+
Conclusion
1 Lecture 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.

What you've learned, and where to go from here
02:09
About the Instructor
Dr Alex Davidovic
4.8 Average rating
48 Reviews
1,873 Students
4 Courses
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.