Description
An intense and rigorous course in core web-related technologies, Designing for E-Commerce will provide the student with a thorough, hands-on approach to creating a hand-coded web site with e-commerce functionality. Using UNIX’s command line client to manipulate a web stack, each student will acquire facility with the Apache server, MySQL, PHP, HTML, and CSS.
Prerequisite
Multimedia Tools (WMM 602) is the prerequisite for this required course. In that class, you should have acquired a working knowledge of HTML and CSS. To establish a level HTML-and-CSS playing field, a thorough review of these languages will take place during the first month of class.
Objectives
- You will learn to hand-code a Web site that fully conforms to the standards for XHTML 1.0/HTML5 and CSS2.1/CSS3.
- You will acquire a deep understanding of how front-end, Web-based technologies interact with each other.
- You will understand how back-end, server-side computer languages interact with each other, and with front-end languages, such HTML and CSS.
- You will acquire an advanced beginner knowledge of MySQL, PHP, and JavaScript.
- You will acquire a thorough comprehension of user interace, or UX, interaction.
Topics Covered
The following is a list of topics that will be covered in class, time permitting. They will not be covered in this order.
- What is the Internet?
- What is an ISP?
- How do browsers and servers communicate?
- What is Apache?
- What is MySQL?
- What is PHP?
- MySQL and PHP for client-server interaction
- What is a client-server architecture?
- Configuring a WAMP/MAMP stack
- The Document Object Model, or DOM
- SSI
- Forthcoming
- Good coding style
- Human coding vs IDE-based coding
- Authoring compliant code for XHTML and CSS
- XHTML
- Semantic markup with XHTML
- The difference between XHTML and HTML
- Forms
- An introduction to JavaScript
- An introduction to CSS
- An introduction to PHP
- An introduction to MySQL
- Collecting, analyzing, and using visitor data
Schedule
- Where: Mac lab (room 207), Graduate School of Technology, Touro College, 43 W 23rd St (map)
- Day: Wednesday
- Dates: 6 February 2013 — 22 May 2013
- Time: 6:15 PM — 9:15 PM
A 5-minute break will be given at the halfway point of each session.
The Topics section lists the material we’ll cover during the week that intersects the table along the left column, and the Homework section lists the homework due the following week. For example, on 6 February 2013, week 1, I’ll introduce the course, along with other web stack related concepts, and you need to read everything in our textbook from the preface to page 15, then answer questions 1 – 13 on page 15 for 13 February 2013 — week 2.
Every week, you’re homework will consist of reading the textbook, writing code, and answering questions at the end of each chapter. Your homework questions are neither graded nor collected, but the answers will be addressed at the beginning of each class.
Note: when reading the References section of the book, ignore and avoid any suggestions to use www.w3schools.com as a reference. You’re also advised to bypass any links suggested by Google in a search query. The site publishes many errors, and its popularity propagates these errors significantly through the Web. By not clicking on any Google search results, you’re helping to reduce the popularity of the site.
Week | Topics | Homework |
---|---|---|
One (6 Feb 13) |
|
|
Two (13 Feb 13) |
|
|
Three (20 Feb 13) |
|
|
Four (27 Feb 13) |
|
|
Five (6 Mar 13) |
|
|
Six (13 Mar 13) |
|
|
Seven (20 Mar 13) |
|
|
Eight (3 Apr 13) |
|
|
Nine (17 Apr 13) |
|
|
Ten (24 Apr 13) |
|
|
Eleven (1 May 13) |
|
|
Twelve (8 May 13) |
|
|
Thirteen (22 May 13) |
|
|
Fourteen (29 May 13) |
|
Textbooks
Only Web Programming and Internet Technologies: An E-Commerce Approach is required for the course. The CSS3 and HTML5 books are suggested. All assigned readings from the required text are listed under the Schedule section above.
Edition: 1
Author: Porter Scobey and Pawan Lingras
ISBN 13: 9780763773878
Reading: REQUIRED
A digital copy of this text is available as a rental from CourseSmart® for $75.00. You’ll have access to the book for six months, and you can print its contents once.
The textbook itself—new—is about $150.00 from most online retailers.
We’ll start working from material in this book from the very first class, so make sure to purchase it during the first week of classes.
Note: when reading the References sections, ignore and avoid any suggestions to use www.w3schools.com as a reference. You’re also advised to bypass any links suggested by Google in a search query. The site www.w3schools.com publishes many errors, and its popularity propagates these errors significantly through the Web. By not clicking on any Google search results, you’re helping to reduce the propagation of incorrect information about web programming on the Web.
Edition: 1
Author: Peter Gasston
ISBN 13: 9781593272869
Reading: SUGGESTED
A good, clear, concise guide to CSS3.
Assigned Readings
All assigned readings are listed under the Schedule section above.
Announcements
- 13 March 2013
- I will not hold office hours on Wednesday, 3 April 2013.
- 26 February 2013
- The schedule has changed, per our conversation in class last Wednesday, 20 February. Specifically, our last class is now 22 May 2013. Check the Schedule section for more.
- 6 February 2013
- Only the most important announcements will appear here. Most announcements will be posted to our internal Google group.
- 21 January 2013
- If you have a laptop, bring it to the first class.
Hardware and Software Requirements
In terms of hardware, a computer running Windows, Mac OS X, or Linux will accommodate your web programming software without a problem. A Windows-based machine, however, will prove more difficult to set up. We’ll discuss this in class.
All the software you’ll need for this course—listed below—is free. However, if you find any of it useful, now or in the long run, you’re encouraged to donate to the developers.
Browsers
Download all the browsers available at Browse Happy.
Text Editor
The code you write will require a text editor. And, although Dreamweaver will suffice, a plain text editor will allow you to focus on code and not on the complexities of an IDE. Mac users should download TextWrangler and Windows® users should download Notepad++. Both are free.
A Command Line Interface
If you’re using a Macintosh or a variant of Linux, then you have The Terminal command line interface, or CLI. You won’t need to download any third-party software.
If, however, you’re using Windows®, download Cygwin, a UNIX-like CLI for Windows®.
A Syntax/Language Checker
HTML Tidy is a CLI-based syntax checker for your HTML/XHTML code. Download the appropriate version of Tidy for Linux, Mac, or Windows.
Web Developer Tools
Chris Pederick’s Web Developer Firefox add-on is a helpful XHTML/HTML and CSS debugging tool.
A Link Checker
The W3’s Link Checker utility verifies links on a web page so you don’t have to.
A Compression/Decompression Utility
If you’re using Windows® and you don’t have a compression/decompression utility, download 7-Zip, which is free and open source. (Mac™ and Linux/UNIX users already have free compression utilities installed at the command line.)
Grading Guidelines
Your grade for this course will be computed entirely on the basis of two code reviews, two exams, and a final presentation of your work. (A code review is a significant component of your final presentation.) The final presentation, each code review, and each exam is worth 20% of your grade, totaling 100%. There is no extra credit; I do not curve grades. Your final letter grade is converted from a numerical grade based on the following table.
Numerical Range | Grade |
---|---|
97—100 | A+ |
93—96 | A |
90—92 | A- |
87—89 | B+ |
83—86 | B |
80—82 | B- |
77—79 | C+ |
73—76 | C |
70—72 | C- |
68—69 | D+ |
66—67 | D |
65 | D- |
Below 65 | F |
The following is quoted verbatim from the college's policy on grading.
Grades will be based primarily on exams, exercises and assignments, review of independent projects, attendance and class participation.
Completed projects will be graded using the following criteria: comprehension of the material, technical proficiency in using tools and techniques, project planning, design concept, executions, quality control, and a demonstration of aesthetic development. Each project deadline must be respected.
All projects will be turned in through Blackboard unless otherwise notified by the instructor. At the end of the course, all assignments will be assembled and turned into the instructor on a CD.
Attendance Policy
Students are expected to maintain good attendance throughout the course. Three absences will automatically lower the student grade by one point and each additional absence will lower the grade by an additional point. Lack of attendance may result in a failing grade. The professor will contact students who miss more than two classes. (Special arrangements must be requested in writing and signed by the professor.)
Make-Up Policy
Projects and homework must be turned in through Blackboard on time, otherwise the grade will be lowered or no credit will be given for the assignments. Class exercises must be done during class.
Missed Classes
You are responsible for the activities of each class period. If you anticipate a scheduling conflict, feel free to submit projects early. If you cannot take an exam on the scheduled day, contact the professor ahead of time to schedule a makeup exam. Students who miss classes must get necessary material from the instructor.
Academic Dishonesty
Plagiarism and cheating are serious offenses and may be punished by failure on exam, paper, or project; or failure in the course. For more information, refer to the ”Academic Dishonesty“ policy in the university handout.
Code Reviews
Code reviews are designed to check your progress, find errors, constructively criticize your source, and provide general feedback on your style.
Projects that earn grades of A meet the following requirements
- Functioning or non-functioning project (invalid or buggy code is a serious coding offense)
- Neatness (proper indentation and spacing)
- Compliance (CSS must validate; XHTML/HTML must validate). This includes no warnings or errors. (The HTML5 validator is allowed to generate only two warnings: “Using experimental feature: HTML5 Conformance Checker” and “Using Direct Input mode: UTF-8 character encoding assumed” when you’re using the “Validate by Direct Input” option.)
- Logical thinking (is your code semantic?)
- Aesthetics (does your choice of design lend itself to proper a proper user experience?)
- Comments (the code reader, which includes you, should be guided along in code segments that are complex)
- User experience (UX)
- Overly simple (you must have aesthetic reasons for your simplicity)
- Unnecessarily complex (more code is not better code)
Resources
HTML
- Sitepoint HTML Reference
- The W3C Validation Tool
- XHTML Reference
- HTML and XHTML Frequently Answered Questions (no longer mainted)
- XHTML at Mozilla Developer Network
CSS
- Chris Coyier’s CSS-Tricks
- The CSS Validation Service
- Sitepoint’s CSS Reference
- A CSS3 gradient generator
- A JavaScript-based specificity calculator
PHP
MySQL
Contact and Office Hour
You’re strongly advised to see me if you have questions, as I rarely ever do email nowadays. I’m available before class on Wednesdays between 5:00 PM–6:00 PM and on Mondays between 5:00 PM–6:00 PM in the Mac lab, room 207.