CMSC 10100-1
Introduction to Programming for the World Wide Web
(XHTML, CSS, Perl CGI, and JavaScript)
Winter 2007

Instructor: William H. Sterner

email: bill@midway.uchicago.edu
Office: My office is in the CS Lab,
Room A01C on A-Level in Regenstein Library.
Hours: By appointment.

Key Addresses:

Class Syllabus (this page): http://www.classes.cs.uchicago.edu/current/10100-1/html/CMSC101win07Syllabus.html

Course Schedule: http://www.classes.cs.uchicago.edu/current/10100-1/html/crssched.html

Class Listserv email: cmsc10100-1@mailman.cs.uchicago.edu (Note, it sometimes takes a long time for mail to post.)

Grading Registration (TAs need this to grade.): http://people.cs.uchicago.edu/~zhouxy/cmsc101/register.cgi
Do this after you have your CS account.

Relevant Computer Science Department Web Pages:

Request a Computer Science Student Account: https://www.cs.uchicago.edu/info/services/account_request
Request a Computer Science CGI Service Account: https://tools.cs.uchicago.edu/activate_cgi_service

Web Services: http://www.cs.uchicago.edu/info/services/web_services
Tips on CGI Programming: http://www.cs.uchicago.edu/info/services/cgi

-->


Our TA's are:

Henry Wu (xyzw2307@yahoo.com)
Xueyuan Zhou (zhouxy@cs.uchicago.edu)
They will be available in the CS MacLab at regular hours, which will be announced and posted on the Course Schedule.

Return

Class Times:

TT 10:30 pm-12:00 pm in Ryerson 251.

Return

Overview:

This course teaches the basics of building and maintaining a site on the World Wide Web. We discuss Internet terminology and how the Internet and its associated technologies work. Among the topics of the course are:

  1. Hypertext markup language (Mainly a reformulation of HTML 4 in XML 1, that is, XHTML 1-20020801.)
  2. Cascading Style Sheets (Both 1 & 2 take about 3 weeks.)
  3. Common Gateway Interface (CGI) scripts (using Perl) (About 4 weeks.)
  4. Client-side scripting via JavaScript (About 3 weeks.)
Return

Objectives:

Our goal is to get you started on a range of fundamental technologies widely used today and to acquaint you with the status and development of Web standards adopted by the World Wide Web Consortium (W3C). We hope this puts you in a position to:

Return

Homework Policies:

In the homework assignments, you will use the course material to build pieces of a Web site of interest to you. The homework assignments will be posted during the appropriate week of the course, including their hand-in date. Late homework submissions will be accepted with penalty, and all homework assignments will count towards the final grade. Your homework will be graded on its, operation, syntactic correctness, conformance to standards, and visual appeal. Please follow the Homework/Project Submission Instructions to submit your homework. (See below.)

Return

Schedule of Readings:

(You are expected to have read the assignment and try out the code in the text for yourself.)

WEEKREADINGS
1Pence, Chapters 1 to 4
2Pence Ch. 4, 5, 6 & 8.
3Pence Ch. 7 to 10.
4Lash Ch.1, 2, & 3.
5Lash Ch. 5 & 6. Midterm, Class 10.
6Lash Ch. 7, Pence Ch. 14.
7Lash Ch. 4 & 8.
8Pence, Ch. 15, Estrella - JavaScript part 1.
9Estrella - JavaScript part 2.
10Estrella - JavaScript part 3, Final Project.
FINALFinal Project Due.
Return

Midterm:

The midterm will be a 1 hour written exam, given during class. This exam will, among other things, test:

Return

Final Project:

The final project will give you an opportunity to put together all of the pieces you created for homework into a fully functional site. You will give the site a consistent look and feel and implement some client-side and server-side scripting. The final project will be posted by the time of the midterm. Please follow the Homework/Project Submission Instructions to submit your project. You may also propose an alternate project of equal or greater difficulty.

Return

Class Mechanics:

For coursework, there will be 6 or so graded web page assignments, a midterm and a final project, which will be a more extensive web page design. The homeworks will typically be due on Fridays at 11:59:59 PM. Depending on the results of the midterm, there may also be a final exam. Do well in 5th week and be free to put more effort into your final project!

You must register with the TA class list in order to get graded. The sign-up page can be found at:http://people.cs.uchicago.edu/~zhouxy/cmsc101/register.cgi

Return

Grading:

It will be along the lines of:

35%homeworks
20%exams
35%final project
10%class participation

You will be expected to attend class and participate in class discussion, and this will be a concrete portion of your final grade.

Take note that your final grade will be the accumulation of your scores in each of these categories. This means for example, you might do A work on the exams and final project, while staying silent in class participation and skipping the homeworks. This means you would get a full 60 percentage point total, and thereby achieve an F for the course.

Return

Textbooks:

Are available from the Seminary COOP Bookstore at 58th and University. You can also consider getting secondhand copies from Amazon or another reseller, but make sure to get the same editions.

Required text # 1: How to do everything with HTML AND XHTML, 2nd edition, James H. Pence. McGraw Hill: Osborne, 2003. ISBN 0-07-223129-7.

We will go through most of this text rather quickly. Best to read all your texts next to your computer and do the exercises immediately as they come up. DOING is always better than reading about.

Required text #2: The Web Wizard's Guide to Perl and CGI by David Lash, published by Addison-Wesley, ISBN# 0201764369.

Required text #3: The Web Wizard's Guide to JavaScript by Steven G. Estrella. Addison-Wesley, ISBN# 020175833

You also are encouraged to take advantage of the University's access license to the O'Reilly online library of technical books. There are many web related texts that can be viewed online through this URL: http://proquest.safaribooksonline.com/?uicode=uchicago. You must be accessing the service through the UniversityÕs network.

Return

Miscellaneous:

There is a class mailing list, which you should have gotten an email about. If not, please send me an email with your desired mail address. Class Listserv email:

cmsc10100-1@mailman.cs.uchicago.edu

(Note, it sometimes takes a long time for mail to post.)

I will be doing the teaching on a Macintosh platform, however, you are free to use whatever platform you prefer. Be alerted that I may not know the specifics of non-Mac platforms. If you are working on a Windows or linux machine, you will be responsible for finding out the local environmental facts. The TA's and lab staff can help with this. Please share your knowledge in and with the class!

My base browser will be Safari, but I will test my code, as should you, on Firefox and perhaps one or two other browsers such as Internet Explorer (IE) or Netscape. It is important to get into the habit of testing on multiple platforms with multiple browsers as your source code will definitely produce different results in each. (nb: Since IE is no longer supported on OS X, we will use Firefox as an alternative to Windows IE.)

Plagiarism, or any form of cheating will not be tolerated. Period.

Return

Working Environments:

The class will be conducted on a Macintosh running Tiger OS X 10.4.x, and the primary browsers will be Safari and Firefox. If you are windows based you can use Internet Explorer but remember the instructors may see something different than you do. You will be building your pages and programs on the Computer Science classes.cs.uchicago.edu server under a linux operating system and its perl programming language. Your browser will supply a JavaScript engine.

Students are free to use whatever platform they prefer, with their homework projects loaded to their classes accounts. Again be aware that the pages will be viewed on multiple browsers with different implementations on multiple platforms by the TA's and instructor.

I'll be using SubEthaEdit (named after Douglas Adam's The Hitchhiker's Guide to the Galaxy series use of the "SubEthaNet") as my primary editor in class. It is available on the MacLab Macs and freely downloadable. Any text-only editor will do including unix editors such as GEdit, emacs or vi, and windows Notepad. Terminal application for ssh-ing into classes. Fugu, WinSCP, SCP, etc. for file transfer. See this help file: How to Upload Files Help

(My thanks to the instructors that have preceded me in this course, especially Wolfgang Freis, Zhang Xuehai, and Jen Golbec.)

Return

Valid XHTML 1.0 Strict