Web Programming, CSC 435, Spring 2014
|
|
|
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:
- Web Standards: Programmer's Reference, Steven M. Schafer, Wiley Publishing, 2005. Required.
- Learning Web Design, 4th Edition
A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics, by Jennifer Niederst Robbins. . Required.
- JavaScript: The Good parts; Douglas Crockford, O'Reilly Media Inc., 2008. Highly recommended.
- Teach Yourself Javascript in 24 Hours, Michael Moncur, Sams Publishing, 2007 Recommended.
- Learning SQL, Alan Beautieu, O'Reilly Media Inc., 2005. Recommended.
|
|
Online resource:
- bentobox
- 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! |
|
|
Date | Topic |
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 |
|
|