CMSC10100 Syllabus


Contents
Contact Information

Instructor: Xuehai Zhang
Home Page: http://people.cs.uchicago.edu/~hai
Email: hai@cs.uchicago.edu
Phone: (773)834-4416 (o)
Office: Ryerson 177, cubicle #3
Office Hours: Fridays 12:30-1:30PM, Ryerson177 or by appointment
Class Web: http://www.classes.cs.uchicago.edu/classes/archive/2003/summer/10100-1/
Mailing List: http://mailman.cs.uchicago.edu/mailman/listinfo/cmsc10100
Class Hours: Mon/Wed/Fri 10:30am-12:30pm in Ryerson 251

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:

  • Hypertext markup language (mainly HTML 4.0.1)
  • Cascading Style Sheets (mainly CSS1, but some of CSS2 also)
  • Client-side scripting via JavaScript and Document Object Model (DOM)

We might also talk about "Common Gateway Interface (CGI) scripts (using Perl)" if time permits.

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:

  • Design and maintain your own Web site 
  • Study other Web technologies (other scripting languages, incorporating more advanced multimedia, etc.)
  • Keep up with emerging and developing standards for Web programming.
  • Interact with Web programmers in a professional setting.
Lecture Schedule

The following lecture schedule is tentative and subject to change as the course progresses.
For latest topics breakdown for each lecture, please check course's Lecture Notes page.

Week/Class Date Topic Topics Breakdown
W1/1 Monday [2003/06/23] HTML basics Introduction to the Internet, WWW, and HTML
W1/2 Wednesday [2003/06/25] Basic tags, text formatting, Linux introduction
W1/3 Friday [2003/06/27] Colors, lists, hyperlinks
W2/1 Monday [2003/06/30] More about HTML Quiz1, images, image maps, tables
W2/2 Wednesday [2003/07/02] Frames, forms
W2/3 Friday [2003/07/04] No class
W3/1 Monday [2003/07/07] Cascading Style Sheets DHTML concepts, CSS1
W3/2 Wednesday [2003/07/09] Quiz2, CSS1 examples, CSS2
W3/3 Friday [2003/07/11] Midterm
W4/1 Monday [2003/07/14] JavaScript, Document Object Model JavaScript Basics, DOM
W4/2 Wednesday [2003/07/16] More DOM, JavaScript programming
W4/3 Friday [2003/07/18] Web browser events, working with forms
W5/1 Monday [2003/07/21] More about JavaScript Quiz3, working with images, time, and cookies
W5/2 Wednesday [2003/07/23] Applied web programming techniques
W5/3 Friday [2003/07/25] Final Project Presentation

Lecture slides will normally be available before each lecture, but may be updated after the lecture.

Prerequisites

This is an introductory course, therefore, there is no official prerequisites for this courses. However, familiar with Mac-based systems (if your prefer to work in the department's MacLab for homework and project) is recommended. It is also helpful if you have prior knowledge of the concepts of programming languages.

Textbooks

We will be using several "Web Wizard's Guide" books from Addison-Wesley. The required books are available at the University's bookstore and Seminary Co-Op. If you prefer to order online (or if the bookstore is out), the titles are linked to amazon.com for your convenience. You can also buy their used books at bestbookbuys.com.

Expectations

The course requires that you actively engage the material on your own. You should not only read the example code given in class, but modify and run it.

Spend at least a few hours a week just playing with the examples given in class, the examples given in the texts, or your own HTML code.

The only way to learn programming is, well, to program.

Attendance

You must attend the midterm exam, and the final project presentation.

The midterm will be held on 2003/07/11, in class. Final project presentations will be held 2003/07/25, in class.

Block out these dates now!

Class attendance is strongly encouraged, but not mandatory. However, if you are absent from class you are responsible for understanding the material and for finding out about any announcements made in that class. In addition, some of the discussion will be based upon the transcripts written on the board. They may not appear in the class notes.

Assessment

Your final grade will be based on:

Category Percent
Homework 30%
Quiz 10%
Midterm Exam 30%
Final Project 30%

There will be no extra credit homework and/or projects.
You must achieve a passing grade on both the exam and final project to pass the course.

  • Homework
  • In the homework assignments, you will use the course material to build pieces of a Web site of interest to you. Unless otherwise stated, homework will be given on each Wednesday every week and due by the Tuesday midnight the next week after they are assigned. You are expected to complete all of  the homework assignments by the deadline on your own. 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 syntactic correctness, conformance to standards, and visual appeal. Please follow the Homework/Project Submission Instructions to submit your homework.

  • Quizzes
  • Brief quizzes will be given each week except the last week to test over the previous week's material (and your attendance!). Each quiz costs around 15 minutes.

  • Midterm
  • The midterm will be a 1.5-hour (hours subject to change) written exam, given during class. This exam will, among other things, test 

    • Your ability to produce simple code
    • Your ability to recognize errors in existing code 
    • Awareness of the history and development of standards
    • Knowledge of background material covered in the texts and lectures

  • 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. Please follow the Homework/Project Submission Instructions to submit your project.

Academic Dishonesty

Homework assignments, quizzes and midterm exam must be done individually. However, you should feel free to discuss the final project with your fellow classmates. Blatant cheating (copying assignments or source code) will result in an F for the course.

 

Valid HTML 4.01!