Introduction to JavaScript Spring 2011

esse quam videri
Jump to: navigation, search

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

The majority of your grade will come from work you turn into class. A small fraction of your grade will be from class participation and attendance. All class work (except written exams) is expected to be posted on your class portfolio site. Work that isn't posted won't be graded. Class work will fall into these categories:

In-Class Work

There will be some time to work on examples in class. Some of these examples will count towards your grade. In class assignments are due at the begging of class one week after they are assigned. I will still accept them one week late for full credit.

Assignments

Assignments are homework. They are worth considerably more points than in-class work. I expect them to be posted to your portfolio before the beginning of the class that they are due. If an assignment is late it can be posted before the beginning of the next class. Late assignments will not be accepted.

Projects

Projects are homework that you will have a much longer timeline than assignments have. A proposal should be approved before you begin work on your projects, and they should be documented. Projects are worth a huge chunk of your final grade. Late projects will not be accepted, and count as as a zero.

Exams

There will be midterm and final exam for this class.

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 is the best JavaScript book I have found for people that don't have any prior programing or JavaScript background.

JavaScript: the Definitive Guide: this is, essentially, the JavaScript Bible. If you want to know where much of the content of this course comes from, look no further than this book. I highly recommend buying it. And make sure to get the latest edition (currently, the 5th is the latest).

JavaScript: the Good Parts: this is a brief and opinionated book, but if you're already somewhat familiar with JavaScript, it makes a good reference. It's no substitute for the Definitive Guide, but it contains some good information.

Resources

This is a list of resources that will come in handy for this class.

Tutor

Phil's tutoring schedule:

  • Tuesday: 3:30-5:30
  • Wednesday: 5-10
  • Thursday: 5-6:30

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

Erik Anderson

Brian Barton

Heather Bonkowski

Rebecca Christensen

Eric Farias

Gregory Frohbieter

Jim Hall

Terrell Johnson

Kristopher Kierys

Megan Lewis

Eric Mikkelsen

Phil Scholp

Karl Statz

Maria Tzeka