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/CMSC101win11Syllabus.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/~mirsattari/register2011.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
Negar Mirsattari (mirsattari@uchicago.edu)
She 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. If the class goes well there will be no final exam.
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/~mirsattari/register2011.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.
ReturnThe easiest and most likely the cheapest way to get the texts is to buy them second-hand on Amazon or other used book service. I strongly urge students to do this as soon as possible so that the texts have arrived in time for class sessions in January. Find copies from Amazon http://www.amazon.com/ 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 learning interface you get when working with an actual text is better. There may also be a small number texts available at the U of C Barnes and Noble bookstore. 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. < /p>
We will skip any mentions of "deprecated" elements, and I'll provide alternate materials for the early chapters to get us directly into HTML5/CSS. We will go through this first text in about 3 weeks.
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. I will test my code, as should you, on at least two other browsers For those working in Windows Internet Explorer (IE) is an obvious choice for one of them. 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, I 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 Snow Leopard OS X 10.6.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. There is a freely downloadable older version available on the Course Schedule page. 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 such as automatic indenting, and syntax coloring. You will need to use a terminal application for ssh-ing into classes. Fugu, WinSCP, SCP, etc. for file transfer. See this help file: How to Upload Files Help. MacLab tutors can help you with this.
(My thanks to the instructors that have preceded me in this course, especially Wolfgang Freis, Zhang Xuehai, and Jen Golbec.)
Return