This is the P2PU Archive. If you want the current site, go to!

Javascript: 101

This course is complete. Subscribe to the announcement list for updates.
Javascript: 101 course photo

Javascript: 101

Parag Shah's picture
Course organiser: Parag Shah
About the Course Organiser: 

I have an MS in Computer Science, and work as an independant programmer and mentor. I have been working for more than a decade mainly in the Java ecosystem.

More recently I am researching how we can utilize the potential of the web and new media technologies to facilitate open, collaborative learning.

No of Seats: 
Course Status: 


Christos Gogos's picture
Chris Corney's picture
Carrie Oviatt's picture
David Morales's picture
dacorie SMITH's picture
Dameon Jamie's picture
Darth Binamira's picture
David ONeill's picture
Dean Farrell's picture
Darryl Banks's picture
Deepanjan Nag's picture
Piyush Walia's picture
JD Richards's picture
Dana C's picture
Dhruva Krishnan's picture
Dan Morton's picture
Dan M
dario soto's picture
Andy Myers's picture
dysert's picture
Ed Degeyter's picture
Ed De
Eric Kirk's picture
Glenn Hellquist's picture
Edoardo Batini's picture
Eric K's picture
Erik Hanson's picture
This course will cover basic concepts of Javascript programming and the DOM (document object model)


Update: We have created a course website to organize this course over the next 6 weeks.

Javascript began as a language to program web pages, but now it has become much more than that. There are server side frameworks for creating entire applications in Javascript, and testing frameworks which allow us to write scripts in Javascripts, and the original intent of creating dynamic web pages with Javascript as well.

The course content will consist of a series of video talks delivered by Douglas Crockford on Javascript programming. I have orgamized these videos in the form of a course on this website.

The basic process of learning and participation will be as follows:
1. Watch a video which explains certain Javascript concepts
2. Reflect on what you learned and blog your notes/reflections. If you have the time read the blog post of one or more other participants and engage them in a technical conversation.
3. Do the homework which may be a quiz and/or a small programming assignment
4. Upload the programming assignment to any open source repository
5. Write a blog post to describe how you approached the assignment, what doubts you had while doing the assignment, and anything related to the assignment.
6. In this entire process of you have any questions, technical, or otherwise, please post them on th forum
7. Along with asking questions, please also try and answer other participant's question whenever you can. Remember teaching is a great way to learn.

The blog posts and assignments uploaded on open source repositories will become your "proof of learning".

Course Schedule:

Week 1:

Week 2

Week 3

Week 4

Week 5

Week 6

  • Backlog and recap

Learning objectives

This course covers basic concepts of Javascript programming, along with the DOM (document object model). The purpose of the course is to understand the syntax, capabilities, and limitations of Javascript, and to lay the foundations of becoming a good Javascript programmer.



To everyone that's worried

Alex Kang's picture
Alex Kang
Thu, 2011-01-13 07:38

To everyone that's worried about the "-1" number of seats available:

I signed up and completed the tasks at 6pm. I then saw this page and noticed the "-1". At around 7:20pm I received an email stating that my request to join the course was granted. So please don't be discouraged by the "-1", it's surely a mistake.

Apply for the course as you normally would.

I applied by posting my notes from the video on my blog site and then created a brand new page in my site to complete the second task.

Parag seems like a reasonable person and not one to turn someone away because of limited resources. If you don't have a domain or any web space then I'm sure if you email him your notes as well as attach an HTML file with the completed second task he'd be willing to consider you for enrollment. I would at least email him first to be sure before giving up. In my experience, teachers think highly of those who don't let road blocks impede their growth.

I can tell this presentation

Shin's picture
Thu, 2011-01-13 09:24

I can tell this presentation was given to a group of seasoned programmers because I have no idea what he means when he makes references to hash tables, OOP, unification and other general
programming terms.

<< true that. LOL. Had hard time digest some fancy lingo at first try

If you need a web page a

stephen dixon's picture
stephen dixon
Thu, 2011-01-13 08:48

If you need a web page a useful service is It links a folder on your machine to a "cloud" based backup, and it includes a Pulic folder where you can put documents including html, and they will be accessible to anyone. So it's an easy way to publish HTML files, without the overhead of running a server or usign ftp and so on.

yes, I agree. I use it all

Melipone Moody's picture
Melipone Moody
Thu, 2011-01-13 20:41

yes, I agree. I use it all the time and I was thinking that it will be useful here.

I really, really hope I make

John Astorga's picture
John Astorga
Thu, 2011-01-13 20:37

I really, really hope I make it in!!!!

Don't worry about the -1

ozzie sutcliffe's picture
ozzie sutcliffe
Fri, 2011-01-14 00:03

Don't worry about the -1 thingy it does not mean the course is full.

Looking forward to start the

Luis Amaya's picture
Luis Amaya
Fri, 2011-01-14 02:20

Looking forward to start the course!!

Another thing that confuses

Shin's picture
Fri, 2011-01-14 08:34

Another thing that confuses many beginners is that programmers use what is almost a foreign language when talking about programming. Terms such as "variable", "function", "object" and so forth don't have just their regular English meanings but also sometimes different and quite specific meaning to programmers.-- quotes

i have submitted my signup

Andrew Turner's picture
Andrew Turner
Sat, 2011-01-15 01:58

i have submitted my signup task but have not heard back for approval. How do I post the link to my blog post regarding the signup task, do i put the link here in the comments...or?

I guess the instructions

Deepanjan Nag's picture
Deepanjan Nag
Sat, 2011-01-15 02:16

I guess the instructions regarding the sign up process are a bit confusing. Some people are coming up with dedicated blogs just to sign up! Maybe some clarity is warranted.

Re: Where to post the sign-up

Erik Anderson's picture
Erik Anderson
Sat, 2011-01-15 02:48

Re: Where to post the sign-up task questions:

I'll post what I did and hopefully this will work for others.

@Parag (our wonderful instructor) on Mon, 2011-01-10 05:38 said the following in this forum:

Please click on the 'Apply' button on the course page. The application form will contain a place where you can paste a link to the blog post containing your sign-up task.
I get the 'approve' option only when a participant clicks on the 'Apply' button to apply for the course.

Following these instructions I did the following:

When I read these above mentioned instructions I already confirmed with the p2pu website that I was interested in taking the course, meaning I had already clicked the "Apply" button and was not visible to me on javaScript 101 course landing page.

So what I did was unsubscribe from the course
reapplied to the course (now that I 'left' the course the "Apply" button reappeared on the javaScript 101 course landing page
I added my responses to the section labeled "Sign-Up" task text box form.
I submitted this form and got a "Your Application is pending" on the javaScript 101 course landing page (where the "Apply" button was located in step #2, above.
I then got an email a day later, from Parag that I was accepted into the class.

How I decided to complete tasks 1 and 2 was to create a blog post that did the following:
Described what I learned from me watching the video.
Inserted my sample JavaScript code +html so it can be inserted into a webpage (that answers task 2) into the body of my blog.

All of what I just described got me a slot in the course, I would suggest anyone else do a version of this and they will succeed as well. Have any more questions or concerns I am sure that Parag will be glad to help you or make some ammends to the sing-up task as other people have mentioned in this forum.

I look forward to the class and working with you all!


I have already clicked

Andrew Turner's picture
Andrew Turner
Sat, 2011-01-15 06:32

I have already clicked "apply" but I posted my html code and not the link to my blog. So, here is my link to my blog containing the homework - . I hope this will let me into the course.

The intro talks about writing

Amene Katanda's picture
Amene Katanda
Sat, 2011-01-15 12:31

The intro talks about writing a blog about what I have learned. Does anyone know how to go about starting a blog in here?

Somewhere in here someone

dysert's picture
Sat, 2011-01-15 12:41

Somewhere in here someone posted some sites where you can create a free blog. I can't find that entry now, but you could go to and create a free blog there. If I'm not mistaken, though, the more important thing is to prove that you watched the video, so if you just write in here about what you learned in the video I suspect he'll approve you. For that matter, you could probably also post your Javascript solution in here as well.

Another easy site for settign

stephen dixon's picture
stephen dixon
Sat, 2011-01-15 15:12

Another easy site for setting up a blog is You can just email in your blog posts.

Eriki Anderson has documented

ozzie sutcliffe's picture
ozzie sutcliffe
Sat, 2011-01-15 18:10

Eriki Anderson has documented correctly.

Also create an account at
login and put your code the the top left box click run
you will end up with url is an example.

Now all you have to do is post the link in your blog and you are done.

I recently submitted my

Dustin Beaird's picture
Dustin Beaird
Sun, 2011-01-16 17:11

I recently submitted my application with task two complete and I never gave you my blog post! it is and will we be notified if we are accepted into the course?

sorry, i don't have any blog

darrel's picture
Wed, 2011-01-19 19:09

sorry, i don't have any blog site. I've written the program on the sign up page.

Well, since everyone is

Georges Duplessy's picture
Georges Duplessy
Wed, 2011-01-19 19:34

Well, since everyone is sharing their blog post here is mine.

I hope to join the fray.

Carrie Oviatt's picture
Carrie Oviatt
Wed, 2011-01-19 20:46

I hope to join the fray. Link to blog:

CJ Oviatt

Hello Parag, I came to

Rajarshi Bhattacharjee's picture
Rajarshi Bhattach...
Wed, 2011-01-19 22:09

Hello Parag,
I came to know about P2P and Webcraft a couple of days back. I think it's a wonderful initiative!! I am specially interested in taking this course. I have submitted my blog post and html code. Since I am new to P2P, I'm not sure about the procedure for sign up. If anything else has to be done,please do inform me. My email-id is: Hoping to get accepted.Thanks!!!

well I hope I made it on

dario soto's picture
dario soto
Wed, 2011-01-19 22:57

well I hope I made it on time...
this is the site with my thoughts it has links to the videos and here and also the javascript is here

I just finished my blog post

Steve Lack's picture
Steve Lack
Fri, 2011-01-21 12:13

I just finished my blog post and javascript for the pre-requisite and came here to apply and I saw that the class is now full! If there are any additional openings or anyone drops out (just like in college!) please consider me for the class. Here's a link to my posts and script:

Oh well, at least it got me to get my personal blog set up as I was planning on doing for a long time. Here's a link to that if anyone is interested:

I've done a lot of hosted wordpress sites but this is the first time I've created a blog.

I guess I'll check back during the next session to see if I can get into this course.

If you did not get in the

ozzie sutcliffe's picture
ozzie sutcliffe
Sun, 2011-01-23 22:00

If you did not get in the class , don't sweat the details.
Everything we do and and use is public.
You can follow the class lurking..

so... how do we know when the

Matt Zenthoefer's picture
Matt Zenthoefer
Wed, 2011-01-26 05:04

so... how do we know when the class starts? I know it starts 1/26, but will there be some kind of homework assignment or something?

Hi Matt, Check your

wim sun's picture
wim sun
Wed, 2011-01-26 23:56

Hi Matt,
Check your email
complete the survey and you will be directed to the course website

Can anyone suggest an

jp roberts's picture
jp roberts
Wed, 2011-01-26 20:41

Can anyone suggest an open-source repository for posting assignments?

Did you try git + github for

Dhruva Krishnan's picture
Dhruva Krishnan
Wed, 2011-01-26 21:03

Did you try git + github for hosting projects? Check mine for example