Fundamentals of Web Applications (Fall 2013): Difference between revisions

From Soma-notes
Line 48: Line 48:
     <tr>
     <tr>
       <td>
       <td>
       <p>Jan. 8
       <p>Sept. 9
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>Introduction
       <p>[[WebFund 2013F Lecture 1|Lecture 1]]
       </p>
       </p>
       </td>
       </td>
Line 58: Line 58:
     <tr>
     <tr>
       <td>
       <td>
       <p>Jan. 10
       <p>Sept. 11
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W: Symbols|Symbols]]
       <p>[[WebFund 2013F Lecture 2|Lecture 2]]
       </p>
       </p>
       </td>
       </td>
Line 68: Line 68:
     <tr>
     <tr>
       <td>
       <td>
       <p>Jan. 15
       <p>Sept. 16
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 3|Lecture 3]]
       <p>[[WebFund 2013F Lecture 3|Lecture 3]]
       </p>
       </p>
       </td>
       </td>
Line 78: Line 78:
     <tr>
     <tr>
       <td>
       <td>
       <p>Jan. 17
       <p>Sept. 18
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 4|Lecture 4]]
       <p>[[WebFund 2013F Lecture 4|Lecture 4]]
       </p>
       </p>
       </td>
       </td>
Line 88: Line 88:
     <tr>
     <tr>
       <td>
       <td>
       <p>Jan. 22
       <p>Sept. 23
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 5|Lecture 5]]
       <p>[[WebFund 2013F Lecture 5|Lecture 5]]
       </p>
       </p>
       </td>
       </td>
Line 98: Line 98:
     <tr>
     <tr>
       <td>
       <td>
       <p>Jan. 24
       <p>Sept. 25
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 6|Lecture 6]]
       <p>[[WebFund 2013F Lecture 6|Lecture 6]]
       </p>
       </p>
       </td>
       </td>
Line 108: Line 108:
     <tr>
     <tr>
       <td>
       <td>
       <p>Jan. 29
       <p>Sept. 30
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 7|Lecture 7]]
       <p>[[WebFund 2013F Lecture 7|Lecture 7]]
       </p>
       </p>
       </td>
       </td>
Line 118: Line 118:
     <tr>
     <tr>
       <td>
       <td>
       <p>Jan. 31
       <p>Oct. 2
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 8|Lecture 8]]
       <p>[[WebFund 2013F Lecture 8|Lecture 8]]
       </p>
       </p>
       </td>
       </td>
Line 128: Line 128:
     <tr>
     <tr>
       <td>
       <td>
       <p>Feb. 5
       <p>Oct. 7
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 9|Lecture 9]]
       <p>[[WebFund 2013F Lecture 9|Lecture 9]]
       </p>
       </p>
       </td>
       </td>
Line 138: Line 138:
     <tr>
     <tr>
       <td>
       <td>
       <p>Feb. 7
       <p>Oct. 9
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 10|Lecture 10]]
       <p>[[WebFund 2013F Lecture 10|Lecture 10]]
       </p>
       </p>
       </td>
       </td>
Line 148: Line 148:
     <tr>
     <tr>
       <td>
       <td>
       <p>Feb. 12
       <p>Oct. 16
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Midterm Review|Midterm Review]]
       <p>[[WebFund 2013F Midterm Review|Midterm Review]]
       </p>
       </p>
       </td>
       </td>
Line 158: Line 158:
     <tr>
     <tr>
       <td>
       <td>
       <p>Feb. 14
       <p>Oct. 21
       </p>
       </p>
       </td>
       </td>
Line 168: Line 168:
     <tr>
     <tr>
       <td>
       <td>
       <p>Feb. 26
       <p>Oct. 23
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 11|Lecture 11]]
       <p>[[WebFund 2013F Lecture 11|Lecture 11]]
       </p>
       </p>
       </td>
       </td>
Line 178: Line 178:
     <tr>
     <tr>
       <td>
       <td>
       <p>Feb. 28
       <p>Nov. 4
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 12|Lecture 12]]
       <p>[[WebFund 2013F Lecture 12|Lecture 12]]
       </p>
       </p>
       </td>
       </td>
Line 188: Line 188:
     <tr>
     <tr>
       <td>
       <td>
       <p>Mar. 5
       <p>Nov. 6
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 13|Lecture 13]]
       <p>[[WebFund 2013F Lecture 13|Lecture 13]]
       </p>
       </p>
       </td>
       </td>
Line 198: Line 198:
     <tr>
     <tr>
       <td>
       <td>
       <p>Mar. 7
       <p>Nov. 11
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 14|Lecture 14]]
       <p>[[WebFund 2013F Lecture 14|Lecture 14]]
       </p>
       </p>
       </td>
       </td>
Line 208: Line 208:
     <tr>
     <tr>
       <td>
       <td>
       <p>Mar. 12
       <p>Nov. 13
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 15+16|Lecture 15: Networking 1 (Barbeau)]]
       <p>[[WebFund 2013F Lecture 15|Lecture 15]]
       </p>
       </p>
       </td>
       </td>
Line 218: Line 218:
     <tr>
     <tr>
       <td>
       <td>
       <p>Mar. 14
       <p>Nov. 18
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 15+16|Lecture 16: Networking 2 (Barbeau)]]
       <p>[[WebFund 2013F Lecture 16|Lecture 16]]
       </p>
       </p>
       </td>
       </td>
Line 228: Line 228:
     <tr>
     <tr>
       <td>
       <td>
       <p>Mar. 19
       <p>Nov. 20
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 17|Lecture 17: Design Strategies]]
       <p>[[WebFund 2013F Lecture 17|Lecture 17]]
       </p>
       </p>
       </td>
       </td>
Line 238: Line 238:
     <tr>
     <tr>
       <td>
       <td>
       <p>Mar. 21
       <p>Nov. 25
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 18|Lecture 18: Regular Expressions]]
       <p>[[WebFund 2013F Lecture 18|Lecture 18]]
       </p>
       </p>
       </td>
       </td>
Line 248: Line 248:
     <tr>
     <tr>
       <td>
       <td>
       <p>Mar. 26
       <p>Nov. 27
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 19|Lecture 19: Web Server Security]]
       <p>[[WebFund 2013F Lecture 19|Lecture 19]]
       </p>
       </p>
       </td>
       </td>
Line 258: Line 258:
     <tr>
     <tr>
       <td>
       <td>
       <p>Mar. 28
       <p>Dec. 2
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 20|Lecture 20: Web Client Security]]
       <p>[[WebFund 2013F Lecture 20|Lecture 20]]
       </p>
       </p>
       </td>
       </td>
Line 268: Line 268:
     <tr>
     <tr>
       <td>
       <td>
       <p>Apr. 2
       <p>Dec. 4
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 21|Lecture 21: Other Web Frameworks]]
       <p>[[WebFund 2013F Lecture 21|Lecture 21]]
       </p>
       </p>
       </td>
       </td>
Line 278: Line 278:
     <tr>
     <tr>
       <td>
       <td>
       <p>Apr. 4
       <p>Dec. 9
       </p>
       </p>
       </td>
       </td>
       <td>
       <td>
       <p>[[WebFund 2013W Lecture 22|Lecture 22: The Future]]
       <p>[[WebFund 2013F Lecture 22|Lecture 22]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Apr. 9
      </p>
      </td>
      <td>
      <p>[[WebFund 2013W Lecture 23|Lecture 23: Final Exam Review]]
       </p>
       </p>
       </td>
       </td>

Revision as of 20:30, 5 September 2013

Administration

The course outline for this course is TBD.

Course discussions will be on cuLearn.

You should get an account on this wiki so you can add to it. Email Prof. Somayaji to get one with your preferred username and email address to which a password should be sent. (Note this is not a requirement.)

Required Textbooks

There are two required texts for this course:

These books have been ordered by the University bookstore. You may also buy them online in paper or ebook form. They are also available through Safari Books Online. There is even an interactive version of Crockford's book which includes an embedded JavaScript interpreter. You can get access to Safari Books Online through the Carleton Library (four concurrent users only) or partial access by becoming a member of IEEE Computer Society.

Other Resources

JavaScript

The easiest way to get started with JavaScript and get basic understanding of web technologies is to go through the interactive lessons on Code Academy. I suggest you go through their JavaScript, Web Fundamentals, and jQuery tracks. They shouldn't take you very long to do given that you already know how to program.

Crockford also has a lot of online resources on JavaScript, including videos of talks he's given that cover much of the content in his book. Look at his JavaScript page and this page of his videos.

Another good book is Eloquent JavaScript: A Modern Introduction to Programming by Marijn Haverbeke. A version of this book is available online for free. The for-sale version is apparently updated and edited.

The standard reference for JavaScript is JavaScript: The Definitive Guide by David Flanagan. It is a big book, but it is comprehensive.


Node

Another introduction to node.js is The Node Beginner Book by Manuel Kiessling.

This page by Evan Hahn has a good overview of the express/connect/node software stack.

Lectures

Date

Topic

Sept. 9

Lecture 1

Sept. 11

Lecture 2

Sept. 16

Lecture 3

Sept. 18

Lecture 4

Sept. 23

Lecture 5

Sept. 25

Lecture 6

Sept. 30

Lecture 7

Oct. 2

Lecture 8

Oct. 7

Lecture 9

Oct. 9

Lecture 10

Oct. 16

Midterm Review

Oct. 21

Midterm (in class)

Oct. 23

Lecture 11

Nov. 4

Lecture 12

Nov. 6

Lecture 13

Nov. 11

Lecture 14

Nov. 13

Lecture 15

Nov. 18

Lecture 16

Nov. 20

Lecture 17

Nov. 25

Lecture 18

Nov. 27

Lecture 19

Dec. 2

Lecture 20

Dec. 4

Lecture 21

Dec. 9

Lecture 22

Tutorials/Weekly Tasks

Each week you will get a progress grade from 0-4, given to you by a TA. If you are being diligent, you should be able to get 4's every week. The easiest way to get your grade is to come to tutorial and meet with your TA; alternately, you can meet a TA in their office hours or, at their discretion, discuss things with them online.

Below is a schedule with the tasks you need to accomplish each week for everyone. Note you need to accomplish the task before your next tutorial. So, if you attend the Monday tutorials, you need to show progress before the following Monday.

After February 1st, all milestones are between you and your TA and will follow those outline in your proposal. Milestone deliverables and precise due dates may be revised at the discretion of your TA.

Date

Tutorials/Tasks

Jan. 11,14

Setup Accounts, Run node.js

Jan. 18,21

Project Partners, Blog Example

Jan. 25, 28

Web Developer Tools (optional)

Feb. 1, 1 PM

Project Proposal Due

Feb. 1, 4

jQuery UI

Feb. 8, 11

Express and AJAX

Feb. 15, 25

Sessions

March 1, 4

MongoDB

March 8, 11

Authenticated Sessions