Difference between revisions of "Introduction to JavaScript Fall 2011"

esse quam videri
Jump to: navigation, search
(Created page with 'just getting started')
 
Line 1: Line 1:
just getting started
+
== Introduction ==
 +
 
 +
JavaScript is a scrappy little language that has seen a lot of changes since its introduction in 1995. Though the language has often been abused, there has been a resurgence of interest since the introduction of highly dynamic web applications like Gmail and Google Maps, which take full of advantage of JavaScript's capabilities.
 +
 
 +
This class will treat JavaScript with the respect that it deserves. Instead of relying on poorly designed tools to generate half-baked JavaScript, we will be hand writing clean and compact JavaScript.
 +
 
 +
I fully expect that this class will include students with little to no experience with programming or JavaScript. Luckily, JavaScript is a simple language to work with. Unlike many other languages, JavaScript doesn't require any fancy development environments or expensive tools. I hope that everyone will come away from this class knowing a lot more about JavaScript than they did before starting.
 +
 
 +
== Who's teaching this class? ==
 +
 
 +
My name is Brian Nielsen. I am a Front End Developer at Sears Holdings Corporation.
 +
 
 +
You can contact me at [mailto:bnielsen@colum.edu bnielsen@colum.edu].
 +
 
 +
I won't have any office hours on campus, but if you would like to meet with me, I am available before and after class by appointment.
 +
 
 +
===Class Deliverables===
 +
Class work will fall into these categories:
 +
 
 +
===In-Class Work===
 +
 
 +
In-Class works are quick and dirty examples of concepts I just talked about in lecture.
 +
 
 +
They are worth 10 points each
 +
 
 +
===Assignments===
 +
 
 +
Assignments are homework. 
 +
 
 +
They are worth 40 points each
 +
 
 +
===Projects===
 +
 
 +
Projects are homework with a much longer timeline. 
 +
There are only two them for the whole semester, and they should be stunning portfolio pieces.
 +
 
 +
They are worth 125 points each
 +
 
 +
===Exams===
 +
 
 +
There will be midterm and final exam for this class. 
 +
 
 +
Each will be worth 100 points
 +
 
 +
== Tools for this class ==
 +
 
 +
This is a list of tools that will come in handy for JavaScript development.
 +
 
 +
=== Text Editors ===
 +
'''Cross Platform'''
 +
* [http://www.aptana.com/ Aptana] (free, built on top of eclipse)
 +
 
 +
'''For Windows'''
 +
* [http://notepad-plus.sourceforge.net/uk/site.htm Notepad++] (free)
 +
* [http://www.e-texteditor.com/ e TextEditor]
 +
* [http://www.scintilla.org/SciTEDownload.html SciTE] (free and open source)
 +
 
 +
'''For OS X'''
 +
* [http://www.barebones.com/products/TextWrangler/download.html TextWrangler] (free)
 +
* [http://www.jedit.org/ jEdit] (free and open source)
 +
* [http://macromates.com/ TextMate]
 +
* [http://www.panic.com/coda/ Coda]
 +
 
 +
=== Browser Tools ===
 +
 
 +
'''Tools for Firefox'''
 +
* [http://getfirebug.com/ Firebug]
 +
* [https://addons.mozilla.org/en-US/firefox/addon/60 Web Developer Toolbar]
 +
 
 +
=== Books ===
 +
 
 +
I won't be teaching directly out of a book for this class, but there are a few books that will come in handy:
 +
 
 +
[http://www.amazon.com/DOM-Scripting-Design-JavaScript-Document/dp/1430233893/ DOM Scripting: Web Design with JavaScript and the Document Object Model]: this book is very gentle introduction to JavaScript that focus on practical examples of scripting websites.
 +
 
 +
[http://www.amazon.com/Eloquent-JavaScript-Modern-Introduction-Programming/dp/1593272820/ Eloquent JavaScript: A Modern Introduction to Programming]: this book (also available as a free eBook) goes into more detail about programming with JavaScript, and doesn't even touch DOM Scripting until the end.  Some of it's DOM Scripting practices seem a bit out of date to me, still a great read though.
 +
 
 +
[http://www.amazon.com/JavaScript-Definitive-Guide-David-Flanagan/dp/0596101996/ JavaScript: the Definitive Guide]: this is THE JavaScript reference book in my opinion.  It is thick, and dry.  I wouldn't try and read it cover to cover until you're already comfortable with JavaScript and you want to poke though every nitty gritty detail.
 +
 
 +
 
 +
== Resources ==
 +
 
 +
=== References and Tutorials ===
 +
 
 +
* [http://www.w3schools.com/js/default.asp W3Schools JavaScript reference]
 +
* [https://developer.mozilla.org/en/JavaScript Mozilla JavaScript reference]
 +
* [http://diveintohtml5.org/ Dive Into HTML5 (an online book about HTML5)]
 +
* [http://developer.yahoo.com/yui/theater/ (online videos of JavaScript lectures)]
 +
 
 +
=== Web Development Toolbox ===
 +
*[http://jslint.com JS Lint]
 +
*[http://www.spritecow.com Sprite Cow]
 +
 
 +
===Tutor===
 +
 
 +
Which tutors know some JavaScript?
 +
 
 +
===eBooks===
 +
*[http://eloquentjavascript.net/ eloquent javascript]
 +
*[http://jqfundamentals.com/book/index.html jQuery Fundamentals]
 +
 
 +
== Interesting JavaScript Websites ==
 +
 
 +
Each week, I will might you an interesting example of JavaScript usage in the wild. You can find a list of all of the websites here.
 +
If you come across any sites that you think use JavaScript in an interesting way, feel free to suggest them.
 +
 
 +
* [http://www.chromeexperiments.com/ Google's Chrome Experiments / Chrome Showcase]
 +
* [http://www.beautyoftheweb.com/ Microsoft's Beauty of the Web / IE9 Showcase]
 +
 
 +
== Class Schedule ==
 +
 
 +
* Class 01 (01/25/2011): [[Introduction_to_JavaScript_Fall_2011_Class_1|Introduction]]
 +
* Class 02 (02/01/2011): Programming Syntax and Concepts
 +
* Class 03 (02/08/2011): [[Introduction_to_JavaScript_Spring_2011_Class_3|Variables, Conditions]]
 +
* Class 04 (02/15/2011): [[Introduction_to_JavaScript_Spring_2011_Class_4|Functions, Objects]]
 +
* Class 05 (02/22/2011): [[Introduction_to_JavaScript_Spring_2011_Class_5|Arrays & Loops]]
 +
* Class 06 (03/01/2011): [[Introduction_to_JavaScript_Spring_2011_Class_6|Forms and GET data]]
 +
* Class 07 (03/08/2011): [[Introduction_to_JavaScript_Spring_2011_Class_7|Midterm Review]]
 +
* Class 08 (03/15/2011): [[Introduction_to_JavaScript_Spring_2011_Class_8|Midterm Exam]]
 +
* SP Break (03/22/2011): Spring Break, Woo!
 +
* Class 09 (03/29/2011): [[Introduction_to_JavaScript_Spring_2011_Class_9|project1 examples]]
 +
* Class 10 (04/05/2011): Project 1 Critique
 +
* Class 11 (04/12/2011): [[Introduction_to_JavaScript_Spring_2011_Class_11|jQuery!]]
 +
* Class 12 (04/19/2011): [[Introduction_to_JavaScript_Spring_2011_Class_12|Ajax]]
 +
* Class 13 (04/26/2011): [[Introduction_to_JavaScript_Spring_2011_Class_13|jQuery Plugins]]
 +
* Class 14 (05/03/2011): [[Introduction_to_JavaScript_Spring_2011_Class_14|Rapheal]]
 +
* Class 15 (05/10/2011): [[Introduction_to_JavaScript_Spring_2011_Class_15|Project 2 Critique]]
 +
 
 +
==Student portfolio sites==
 +
 
 +
 
 +
[[Category:Introduction to JavaScript Spring 2011]]

Revision as of 07:44, 6 September 2011

Introduction

JavaScript is a scrappy little language that has seen a lot of changes since its introduction in 1995. Though the language has often been abused, there has been a resurgence of interest since the introduction of highly dynamic web applications like Gmail and Google Maps, which take full of advantage of JavaScript's capabilities.

This class will treat JavaScript with the respect that it deserves. Instead of relying on poorly designed tools to generate half-baked JavaScript, we will be hand writing clean and compact JavaScript.

I fully expect that this class will include students with little to no experience with programming or JavaScript. Luckily, JavaScript is a simple language to work with. Unlike many other languages, JavaScript doesn't require any fancy development environments or expensive tools. I hope that everyone will come away from this class knowing a lot more about JavaScript than they did before starting.

Who's teaching this class?

My name is Brian Nielsen. I am a Front End Developer at Sears Holdings Corporation.

You can contact me at bnielsen@colum.edu.

I won't have any office hours on campus, but if you would like to meet with me, I am available before and after class by appointment.

Class Deliverables

Class work will fall into these categories:

In-Class Work

In-Class works are quick and dirty examples of concepts I just talked about in lecture.

They are worth 10 points each

Assignments

Assignments are homework.

They are worth 40 points each

Projects

Projects are homework with a much longer timeline. There are only two them for the whole semester, and they should be stunning portfolio pieces.

They are worth 125 points each

Exams

There will be midterm and final exam for this class.

Each will be worth 100 points

Tools for this class

This is a list of tools that will come in handy for JavaScript development.

Text Editors

Cross Platform

  • Aptana (free, built on top of eclipse)

For Windows

For OS X

Browser Tools

Tools for Firefox

Books

I won't be teaching directly out of a book for this class, but there are a few books that will come in handy:

DOM Scripting: Web Design with JavaScript and the Document Object Model: this book is very gentle introduction to JavaScript that focus on practical examples of scripting websites.

Eloquent JavaScript: A Modern Introduction to Programming: this book (also available as a free eBook) goes into more detail about programming with JavaScript, and doesn't even touch DOM Scripting until the end. Some of it's DOM Scripting practices seem a bit out of date to me, still a great read though.

JavaScript: the Definitive Guide: this is THE JavaScript reference book in my opinion. It is thick, and dry. I wouldn't try and read it cover to cover until you're already comfortable with JavaScript and you want to poke though every nitty gritty detail.


Resources

References and Tutorials

Web Development Toolbox

Tutor

Which tutors know some JavaScript?

eBooks

Interesting JavaScript Websites

Each week, I will might you an interesting example of JavaScript usage in the wild. You can find a list of all of the websites here. If you come across any sites that you think use JavaScript in an interesting way, feel free to suggest them.

Class Schedule

Student portfolio sites