Javascript for Programmers
2.4 (7 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.
201 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Javascript for Programmers to your Wishlist.

Add to Wishlist

Javascript for Programmers

Jasmine Driven Javascript Testing
2.4 (7 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.
201 students enrolled
Created by Blazing Cloud
Published 9/2011
English
Price: $50
30-Day Money-Back Guarantee
Includes:
  • 2 hours on-demand video
  • 1 Article
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Core language syntax
  • How Javascript works with the DOM
  • How to use event in a web browser
  • Object-oriented programming in Javascript
  • How to write test-first Javascript code using Jasmine
View Curriculum
Description

BDD Homework : https://github.com/blazingcloud/javascript_lessons

JavaScript for Programmers approaches JavaScript as a programming language. To build today's modern web applications, you need to know more than how to create an "on click" handler or paste some sample jquery code. Understanding the fundamentals of the language and how to create object-oriented code will allow you to access to the power of JavaScript. In this class, you'll use Jasmine, a behavior driven development framework, as a learning tool to work through exercises that solidify the concepts through hands-on experience with jasmine JavaScript.

After taking this course, you will have practical experience with JavaScript language fundamentals. You will have a solid understanding of the language and a foundation in best practice development for using Jasmine JavaScript Testing framework with your JavaScript code.

Who is the target audience?
  • Experienced programmers who need or want to learn Javascript
  • People who use jQuery, but want a better understanding of what is going on
  • C, Java, Python, PHP, or Ruby developers curious about test-driving while learning more about Javascript
  • New Javascript programmers who wish to challenge themselves and dive deeper into the language
Students Who Viewed This Course Also Viewed
Curriculum For This Course
36 Lectures
06:24:23
+
Introduction
3 Lectures 24:00

Welcome to Behaviour Driven Development.

Preview 21:36

Semicolons in JavaScript are optional http://mislav.uniqpath.com/2010/05/semicolons/
Preview 00:02

Firebug is a very important Web tool - Knowing your way around it is the first step - as is turning on the console and the net tab as well as the script debugger.

Preview 02:22
+
Types
4 Lectures 28:59

The Java Type System

Types
04:44

I walk through many aspects of the javascript type system in this lecture.

Javascript Types - Comprehensive Demo
24:15

This file contain basic syntax and runtime that you can play with in your browser (see demo).

Resource: HTML/Javascript document for exploring types
3.3 kB

For the eager students and voracious learners: here is the complete reference for the Javascript language.  This is the actual language specification which is quite readable (for a language specification) and is the definitive reference.  Browser implementations may vary, but most are very close to this spec.

JAVASCRIPT AKA ECMASCRIPT SPECIFICATION 5.1
258 pages
+
Jasmine: Testing your Javascript Code
3 Lectures 12:15

This lecture introduces Test-Driven Development (TDD), also called Test First Development or Behavior Driven Development.  In Behavior Driven Development, we write executable specifications for our code that verify behavior by example. So instead of writing tests, we call them examples that are grouped together in suites that together form a spec. This change in nomenclature reinforces the notion that this is part of the design process, rather than an afterthought.

In this class we use a Test First Teaching process where failing examples are provided for you and are designed to teach how to write code in Javascript. The Jasmine BDD framework, used in this class, has a syntax modeled on the popular RSpec BDD framework for Ruby.  This lecture introduces the Jasmine syntax and shows how to run a Jasmine spec and make it pass.

In this and later lectures, you will need the exercises that can be found here:

http://github.com/blazingcloud/javascript_lessons

Introducting TDD, BDD and Jasmine
05:55

This lecture demonstrates Jasmine syntax of "it" and "describe" in more detail.

You will need the exercises that can be found here:

http://github.com/blazingcloud/javascript_lessons

Jasmine BDD Framework In More Detail
04:59

Introduction To Javascript Lessons
01:21
+
Iteration
2 Lectures 01:03

Here we have HTML/JS demoing iteration by example.

Javascript Iteration HTML/JS
2.0 kB

This lecture discusses how to iterate over collections in Javascript, including why you need to be careful when using "for...in"

Iteration
01:03
+
Objects
3 Lectures 16:23

Explore the Object style of javascript

Javascript Objects HTML/JS
1.5 kB

Objects in Javascript are quite a bit different than objects in other languages. This lecture explains how objects in Javascript are really just a hash or associative arrays and how to add and access properties and functions.

Objects in Javascript with Demo
12:50

Even More About Objects
03:33
+
Classes
2 Lectures 03:08

This lecture introduces the different kinds of ways we define classes in Javascript and more about prototype-based inheritance.

Classes
03:08

This html file contains example of doing object oriented constructs in Javascript.  It has the code from the "Classes" lecture and more examples that illustrate classes and built-in types in Javascript.

Javascript Classes HTML/JS
4.9 kB
+
Functions: More Deails and Best Practices
1 Lecture 05:27

Functions were initially introduce in the lecture on Objects.  This lecture dives into functions in more detail, including best practices about when to use one kind of syntax vs. another.

Functions In Detail
05:27
+
Closures
2 Lectures 12:23

A closure is a function defined with another function -- it can reference the scope of that function.  Closures are very powerful and are often used when writing applications in Javascript.

An Introduction to Closures
06:55

After going through the Closure lecture I realized that we were missing a simple example of how to do closures the right way.

Here it is.

Closures the Right Way
05:28
+
Javascript in the Browser
2 Lectures 07:54

The Browser Object Model (BOM) and the Document Object Model (DOM) are essential to working with Javascript in the a web application.

The Browser Object Model and the DOM
06:17

When writing Javascript for web applications, you will be using events a lot.  This lecture dives into how and when to use events.

Events
01:37
+
Object Oriented Pattern with Prototype
3 Lectures 14:41

In Javascript we can define objects with unique behavior without first creating a class that defines the behavior.  In this lecture, we learn about another syntax form that object definitions take. You will learn how to compose an object literal as well as see a variety of ways to use a closure in the context of a javascript object.

Object From Scratch - Literals
03:40

Prototypical Inheritance Pattern
04:08

Going Deeper into Prototype in Javascript
06:53
1 More Section
About the Instructor
Blazing Cloud
0.0 Average rating
0 Reviews
0 Students
0 Courses
Blazing Cloud expert training for innovation

Blazing Cloud is a consulting firm based in San Francisico, California. We offer in-person, local classes as well as on-site and remote training. 

Many of our classes apply an innovative teaching approach that is gaining widespread adoption, called Test-First Teaching, where students implement exercises that will cause pre-defined tests to pass. Many senior software engineers in the field find that testing is an effective way to learn a new language or API. This methodology also provides a good introduction to best practices for people who are new to testing.

About Blazing Cloud Instructors:

Curtis Schofield has been developing in Ruby since 2003 and Rails since 2005. He is expert at Javascript and full-stack development. He has experience in Java, both server-side and with Android. In addition to software development work at Blazing Cloud, Curtis instructs the Ruby on Rails class. He has 11 years of software development experience and holds a degree in Mathematics, with a minor in Computer Science.