Chris Pollett >
Old Classes >

   ( Print View )

Lecture Notes-PDF

Spring '01 Ad: Enrollment info

Course Info: Homework Assignments:
Practice Exams:

Winter 2001 PIC 40 Home Page/Syllabus

Internet&Multimedia Programming

Instructor: Chris Pollett
Office: 6183 Math Sciences
Phone Number: (310) 825-2814
Office Hours: MWF 11-12pm

Class Meets:
     MWF 12-12:50pm in MS5200
Sec 1a TA: Brian Walter
Office: MS 2925
Hours: T 1-2, R 12-1pm

1a: tr 11-11:50 in Bunche 3157
Sec 2ad TA: Suneal Chaudhary
Office: MS2961
Hours: TR 10-11am 1-1:30pm

1b: tr 12-12:50 in MS 6627
1c: tr 11-11:50 in MS 6627


To take this class you must have taken PIC10B.

Texts and Links

Available on Reserve at Powell Library.

Required Text: Learning Perl, by R. Schwartz and T. Christiansen.
Perl and CGI for the World Wide Web, by E. Castro
Optional Texts: HTML & XHTML: The Definitive Guide (4th ed.) , by C. Musciano and B. Kennedy
Javascript for the World Wide Web, by T. Negrino and D. Smith
Online References
& Other Links:
Apache Webserver Homepage.
World Wide Web Consortium.
Perl Home Page.
Comprehensive Perl Archive Network (CPAN).
PHP hypertext preprocessor.


This class surveys web programming. We will begin by describing the HTTP protocol and web servers. We will then talk about creating HTML web pages. We'll cover how to include images, links, scripts, and applets in web pages, how to create lists, tables and forms on web pages, and how to use frames and cascading style sheets in web pages. Then we'll introduce the PERL language and use it to create CGI applications. These applications are programs which allows a server to dynamically create web pages based on client data. We will discuss server side includes as well as server side scripting with PHP and ASP. We will discuss how to make our web programs access databases. The class concludes with an introduction to Javascript which we'll use to add client-side functionality to our web-pages.

Below is a tentative time table for when we'll do things this quarter:

Week 1: Jan. 8, 10, 12 Unix, Web Servers, HTTP, HTML. Read Castro Appendix B & D. If have read M &K Ch. 3--7
Week 2: Jan. 15 (Holiday), 17, 19 (hw1) More HTML. If have read M &K Ch. 8--11
Week 3: Jan. 22, 24, 26 Begin PERL. Read S&C 1--7
Week 4: Jan. 29 (hw2), 31, Feb. 2 (Midterm) Perl Functions, Controls, Files. Read S&C 8--10
Week 5: Feb. 5, 7, 9 (hw3) Perl: More Files. Start CGI. Read S&C Ch. 12, 13, 17, 19
Week 6: Feb 12, 14, 16 More CGI. Read Castro Ch. 3--5
Week 7: Feb. 19 (Holiday), 21, 23 (hw4) More CGI. Castro Ch. 12--14
Week 8: Feb. 26, 28, Mar. 2 Server Side Includes. PHP and ASP (informal). Start Javascript. If have read N&S Ch 2,3.
Week 9: Mar. 5, 7 (hw5), 9 More Javascript. If have read N & S Ch. 4--6.
Week 10: Mar. 12, 14 (hw6), 16 If have read N&S Ch.7,8.
Week 11 Final Monday 11:30-2:30pm, Mar. 19

Grade Breakdown / Grading Policy

Homeworks       40% 
Midterm         25%
Final           35%

When I assign grades the high score has an opportunity to receive an A+. I do curve grades and my curving will be in line with previous times this class has been taught.

Homework Info

General Info

Links to the current list of assignments can be found on the left hand frame of the class homepage. After an assignment has been returned a links to its solution will be placed off the assignment page. Each homework will consist of a reading part and a programming part. Material from the reading part of an assignment may appear on midterms and finals. All homeworks are due at noon of the due date. Late homeworks will not be accepted; however, your low homework score will be dropped.

Submitting Programming Assignments

To keep things simple the files you submit for a homework assignment will follow the naming convention p40hw+number+file+number+.extension. For example: p40hw1file1.php for the first file in HW1. To submit an assignment, simply copy the required files to your \SUBMIT directory. Then leave them there for the rest of the quarter, even after they have been collected and graded. You may be able to submit files remotely with ftp, but it is best to make sure your submission works in the Lab before you submit. If you wish, you may overwrite a previous submission with a new version at any time before the due time on the due date.

Please do not store any files in your submit directory other than those that are to be or have been collected.

To confirm that you have submitted correctly, run the checksubmit program. This check generally requires a trip to the PIC Lab.

For some homeworks submission will involve having the correct files in the ~/public_html directory of your Unix account. That the files are viewable can then be verified by pointing your browser at the correct URL. The homework specification will make clear when this is the case.


Your grades will be available through The comment field for an assignment will say where you lost any points. Please check your account each week to verify your grades. This is very important; it is the only way to know for sure that you actually received credit for your assignment. Your my.ucla account also will have assignment due date and links to assignment homepages. You can also compare the score you received relative to everyone else.

If you believe an error was made in the grading of your program or exam, you may request in person a regrade from me, Professor Pollett, during my office hours. I do not accept e-mail requests for regrades. Such e-mails will not be responded to. A request for a regrade must be made no more than a week after the homework is returned. No requests for regrades will be considered unless they meet this deadlines. Be forewarned that the whole piece of work will be regraded, so the grade may go down rather than up.

Required Formatting

Since some of the grading process will be automated, it is important that your program follow the specifications in the assignment exactly. In particular, make sure submitted filenames are correct and data items in your program are inputted and outputted in the proper sequence and format. If you put files in your submit folder with an incorrect name so that it ends up not being collected, you will received a 0 for your homework and not be entitled to a regrade. To receive any points on your homework you must include the following items in the header of every file you submit:

  • Your Full Name (and nickname, if different)
  • Your Student ID
  • Your PIC 40 Login ID
  • Your Preferred E-mail Address
  • Your Discussion Section Identifier and Meeting Time
  • The Assignment Number and Description,
  • Your Honesty Pledge
  • A List of Known Bugs in your Solution.

This is a link to a properly formatted header. For other languages other than PERL documents use the appropriate commenting mechanism of that language.

Your code should be as easy to read as possible. Use indentation carefully and consistently to delineate levels of nesting. Disjoint blocks should be well separated by concise and informative comments. This will be worth at least 1 point of every assignment. Although you are allowed a fair amount of choice in style, please try to conform to the conventions used in lecture and in the text.

Academic Honesty

You are both allowed and encouraged to discuss general algorithms and approaches to programming problems with your classmates. But these discussions must remain at a high level and not involve actual code being exchanged. In particular, THE CODE YOU SUBMIT AS SOLUTIONS TO PROGRAMMING ASSIGNMENTS MUST BE YOUR OWN INDEPENDENT WORK. DO NOT SHARE CODE.

You are required to include the following Academic Honesty Pledge at the top of each program you submit:

Honesty Pledge:

I, (insert your name here), pledge that this is my own independent work, which conforms to the guidelines of academic honesty as described in the course syllabus.

The pledge must be worded precisely as above, with your own name inserted. Be aware that any detected activity even bordering on an infringement of these academic honesty guidelines will be forwarded to the Dean of Students for full investigation. The penalties may be severe, in several recent cases, students have been suspended and have had the incident permanently recorded. If you witness any cheating by classmates, please report it to Professor Pollett as soon as possible.


As shown above in the grade breakdown there will be both a midterm and final in this course. Both of these are closed book, closed notes. You will be allowed only the test and your pen or pencil on your desk during these exams. Beeper or cell-phone interruptions will result in immediate excusal from the test. The midterm will be in class on Feb. 2. The final will be on Monday, Mar. 19 from 11:30am-2:30pm. A photo ID will be required to take these tests. The final will cover material from the whole quarter although there will be an emphasis on material after the midterm. No make up exams will be given. The final exam may be scaled to replace the midterm if the midterm was missed under provably legitimate circumstances. These exams will test whether or not you have mastered the material both presented in class or assigned as homework during the quarter. I will try to avoid tricky and ambiguous questions. The week before each exam I will give out a list of problems representative of the level of difficulty of problems the student will be expected to answer on the exam. Any disputes concerning grades on exams should be directed to me, Professor Pollett.