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.
Class Syllabus (this page): http://www.classes.cs.uchicago.edu/current/10100-1/html/CMSC101win09Syllabus.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://cgi-cmsc.cs.uchicago.edu/~henrywu/register2009.cgi
Do this after you have your CS account.
Relevant Computer Science Department Web Pages:
Request a Computer Science Student Account so you can use CS computers: https://www.cs.uchicago.edu/info/services/account_request
Request a Computer Science CGI Service Account so you can program web pages. Be sure to select the "CMSC CGI option." 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
Henry Wu (xyzw2307@yahoo.com)
Karl Norby (knorby@uchicago.edu)
They will be available in the CS MacLab at regular hours, which will be announced and posted on the Course Schedule.
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:
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:
In the laboratory homeworks, you will use the course material to build pieces of a Web site of interest to you. The laboratory assignments will be posted during the appropriate week of the course, including their hand-in date. Late laboratory submissions will be accepted with penalty, and all assignments will count towards the final grade. Your laboratories will be graded on their operation, syntactic correctness, conformance to standards, and visual design. Debugging is part of doing the lab; it is the student's responsibility to find the errors in their code. Please follow the Laboratory/Project Submission Instructions to submit your homework. (See below.)
Return(You are expected to have read the textbook assignment and try out the code in the text for yourself. Always check the Course Schedule for the exact assignments.)
WEEK | READINGS |
---|---|
1 | Pence, Chapters 1 to 4 |
2 | Pence Ch. 4, 5, 6 & 8. |
3 | Pence Ch. 7 to 10. |
4 | Lash Ch.1, 2, & 3. |
5 | Lash Ch. 5 & 6. Midterm, Class 10. |
6 | Lash Ch. 7, Pence Ch. 14. |
7 | Lash Ch. 4 & 8. |
8 | Pence, Ch. 15, Estrella - JavaScript part 1. |
9 | Estrella - JavaScript part 2. |
10 | Estrella - JavaScript part 3, Final Project. |
FINAL | Final Project Due. |
The midterm will be a 1.5 hour written exam, given during class. This exam will, among other things, test:
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.
ReturnFor coursework, there will be 6 or so graded web page laboratories, a midterm and a final project, which will be a more extensive web page design. The laboratories will typically be due either on Fridays or on Tuesdays 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://cgi-cmsc.cs.uchicago.edu/~henrywu/register2009.cgi
It will be along the lines of:
35% | laboratories |
20% | exam |
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. Asking questions and speaking in class can never lower your grade, but they can raise it.
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 laboratories. This means you would get a full 60 percentage point total, and thereby achieve an F for the course.
ReturnThere are a small number of the Lash texts available at the U of C Barnes and Noble bookstore. Unfortunately the texts have recently gone out of stock or out of print. Please attempt to find copies from Amazon or another source such as TextbookLand at: http://www.textbookland.com. Make sure to get the same editions. Often searching on the ISBN without hypens is best. The interface working with the actual text is better. Otherwise, I will hand out copies as needed. If you wish to work ahead please let me know so I can get them to you early.
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 (If you have purchased the McGrath, JavaScript in easy steps, that is fine. It covers the same material and I will provide copies of the relevant parts of Estrella.)
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.
ReturnThere 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 default browsers will be Firefox and Safari, but I will test my code, as should you, on one or two other browsers such as Internet Explorer (IE). 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; also, Netscape is no longer being maintained.)
Plagiarism, or any form of cheating will not be tolerated. Period.
ReturnThe class will be conducted on a Macintosh running Leopard OS X 10.5.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, but one designed for web programming will have additional helpful features. 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