Web Programming, CSC 435, Spring 2014

Basic Info

Instructor: Prof. Bei Xiao (bxiao AT american.edu)
Teaching assistant: TBA
Time: Mon/Thurs 4-5:15 pm
Location: SCAN 157
Office hours (Tentatively):
Dr. Xiao: Wednuesday 4-5:30pm; Thursday 11-noon (SCAN 110)
Syllabus: syllabus.pdf
 
Textbook and materials:
  1. Web Standards: Programmer's Reference, Steven M. Schafer, Wiley Publishing, 2005. Required.
  2. Learning Web Design, 4th Edition A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics, by Jennifer Niederst Robbins. . Required.
  3. JavaScript: The Good parts; Douglas Crockford, O'Reilly Media Inc., 2008. Highly recommended.
  4. Teach Yourself Javascript in 24 Hours, Michael Moncur, Sams Publishing, 2007 Recommended.
  5. Learning SQL, Alan Beautieu, O'Reilly Media Inc., 2005. Recommended.
 
Online resource:
  1. bentobox
  2. w3schools
Prerequisites: Introduction to Programming, CSC 280.
 
Grading policy: 50% homework assignments, 15% mid-term exam, 25% final project, 10% class participation.
 
Homework policy:

Homework is all about programming. No plagiarism: only high-level discussions are allowed (i.e., not relating to a single line of code), and you have to declare who you discuss with. Homework is due before class start on the assigned due date (4pm ). The late home work has 50% grade reduction. Any homework that is turned in 2 weeks after the due date will receive zero grade. Homework is posted through Blackboard and is expected to turn in through Blackboard on time. I will also post homework on the course website. So please check the website for updated schedule.

 
Attendance: We will do lots of live-programming, discussion, and quiz in class. Again, it is very much like learning a foreign language. Class participation is an important chance to practice your skills.
 
Computer and software Please bring your laptop to class and Firefox installed. I recommend Sublime Text 2 as the script editor. But TextMate, TextPad or TextWrangler are good choices as well.
 
Brief description:

The Web is intertwined with our lives. No matter if you decide to be a politician, a musician, a small business owner, a scientist, an artist, a doctor, a journalist, or purely an interesting person, web design is an extremely useful skill. Web development is useful in advertising (personal homepage), entrepreneurship, (web API), journalism (news media and blog), multi-media (Flickr), social networks (Facebook), e-commerce (Amazon), user experiences and crowd-sourcing (Amazon Mechanical Turk), and online games (Phantasy star online). This course presents the fundamental technologies behind the Web, as well as techniques for designing, developing, and evaluating Web-based applications.

Topics will include HTML, CSS, Dynamic HTML and JavaScript, CGI, PHP, database SQL, and dynamic web programming using Ajax (given time).

Our goal is to have a basic understanding of the web environment and be able to a build a dynamically-generated, database-backed page that has personalized experience based on user accounts and original design. I hope you have lots of fun!

Schedule

DateTopic Reading&Exercises Slides&Notes Homework
Mon 1.13 Introduction: Internet and the web. The internet
Chapter 1, Shafer
Lecture 1
Thu 1.16 Start with HTML, basic syntax Chapter 4,9, Robbins
Exercise: HTML basic exercise track 1-4
Lecture 2 Homework 1 Out
Thu 1.23 HTML: tables, forms, links Exercise: HTML basic exercise track 4-6 Reading: Shafer, Chapter 10
Lecture 3
Mon 1.27 HTML advanced, more exercises
Lecture 4 Homework 1 due. Homework 2 out.
Thur 1.30 Intro to CSS Chapter 6, Robbins Lecture 5
Mon 2.3 CSS: Box model, Positioning Chapter 14, Robbins Lecture 6 Homework 2 due.
Thur 2.6 CSS: Floating, Display Property, Other property
Chapter 15, Robbins Lecture 7 Homework 3 Out
Mon 2.10 CSS3 and Intro to JavaScript Lecture 8
Thur 2.13 JavaScript Snow Day
Monday 2.17 JavaScript: Boolean, Function, DOM objects Chapter 20, Schafer Lecture 9 Homework 3 Due
Thur 2.20 JavaScript Continue: Objects, Prototype, Form validation Lecthre 10
Monday 2.23 JavaScript: Object, JSON, Response to Events Lecture 11 Homework 4 is out
Thur 2.27 Graphics Design On The Web Guest Lecture: Yana Sakellion
Mon 3.03 JavaScript: DOM Lecture 12
Thur 3.06 JavaScript Lecture 13 Homework 4 is due
Mon 3.17 Snow break
Thur 3.20 Mid-term
Mon 3.24 jQuery jQuery tutorial Lecture 14
Thur 3.27 jQuery Lecture 15
Mon 3.31 Guest Lecture: HTML5 and Canvas Lecture codes
Thur 4.03 Lecture 16 Server side programing: PHP Basics PHP tutorial Lecture 16
Mon 4.07 More on PHP Homework 5 out
Thur 4.10 PHP and MySQL
Mon 4.14 MySQL Homework 5 due
Thur 4.17 Crowd-sourcing: Amazon Mechanical Turk Homework 6 out
Mon 4.21 Node.js
Thur 4.24 Node.js  
Mon 4.28 Review: putting everything together Homework 6 due
Mon 5.01 TBA Final Projects Due
Mon 5.05
Final Project presentations
 
 

page maintained by Bei Xiao