Syllabus, CS107, Spring 2002

This is the class syllabus. This document will grow throughout the term, and will include commentary, links to readings, and assignments, among other things. I will not cheat: whenever I write something new, I will write it under the heading of the date on which I wrote it. Thus, except for simple typos, I won't change a day's worth of the syllabus after that date has passed, so you won't have to re-read the whole document to keep up with its changes.

Monday, April 1, 2002.

Today in class, we'll deal with logistics, the waiting list, and a very brief summary of what this course will be about. Roughly, the course will break into three parts:

Your grade will come from homework (40%), labs (10%), a midterm exam (25%), and a final project (25%).

My office is CMC327, and my phone number is x4364 (home: 663-7123). My office hours are Monday 2A, Tuesday 10:45-11:45, Wednesday 5A, and Friday 2A. I am often in my office, however, and you are welcome to drop by any time you can find me.

The books for this class are The Internet Book, Third Edition by Douglas E. Comer, Prentice Hall 2000, and PHP Essentials by Julie C. Meloni, Prima Tech 2000.

The How To Page contains brief instructions on how to perform various tasks related to this class. Like the syllabus, the How To Page will grow as the term progresses.

Assignment

Friday, April 5, 2002.

If you haven't finished yet, make sure to get through the lab exercises we started on Wednesday. Answer the questions that appear in the bulleted items and send your answers to me at jondich@carleton.edu.

Assignments

Friday, April 12, 2002.

This coming week, we will discuss the history and administrative structure of the Internet, and we will start talking in detail about protocols. We will, in particular, study the HTTP, FTP, and gopher protocols to see three different ways of transfering files across the Internet.

Your next assignment, due next Friday, will involve using the Unix command-line interface you worked with in lab today to contact various kinds of servers and speak to them in their native languages.

Late next week or the following Monday, we will start working with PHP to create web pages whose content depends on the results of some kind of computation or other.

All of the stuff you did in the terminal window in today's lab can be done on any Unix system connected to the Internet. If you have MacOS X, for example, you can just run the Terminal application and then type ls, cd, mkdir, etc. to your heart's content. On Windows, you can download the ssh-telnet program (better known as PuTTY) from the PuTTY homepage. It's free. For MacOS 9 and earlier, Better Telnet is a good choice.

Assignment

Monday, April 15, 2002.

If you don't have your Unix account information, please oh please come see me so you can do last Friday's lab and this coming Friday's assignment.

Assignment

Tuesday, April 16, 2002.

A couple clarifications on the assignment for Friday.

Monday, April 22, 2002.

Today, we will start talking about HTML forms and PHP programs. We'll have a lab session on Wednesday, and an assignment due Monday.

We will have an in-class exam on Wednesday, May 1. This exam will cover material from assignments, readings, labs, and lectures up through Friday, April 26.

Assignments

Sunday, May 12, 2002.

Assignment

Due 5:00PM Friday, May 17, 2002.

For this assignment, you will build a MySQL database of creators and creations similar to the authors and books database we used in class and lab. You may use directors and their movies, composers and their songs, poets and their poems, or something similar. Don't stray far from this simple creators and creations format--you'll have a chance to use more sophisticated data in your final project.

Once you have a database to work with, write an HTML form and a PHP file to process the form, providing people with the opportunity to:

Put your files into a folder called "creators" in your course folder. Call the page with the HTML form index.html, so the URL http://prism.mathcs.carleton.edu/cs107/youruseername/creators/ will go to your form. You may name the PHP file anything you wish, but please put it in thbe creators folder, too.

Friday, May 17, 2002.

Final Project

For your final project, you will research some topic related to the Internet, and present your results as a small web site. The scope of your work should be similar to what you would do for a ten page paper, but your presentation should be suitable for the web rather than the linear narrative form of a term paper. You may work on your project with one other person from the class if you wish.

Here are your deadlines:

Topics could be technical (e.g. a detailed comparison of PHP with a client-side language like Javascript, or a discussion of routing algorithms) or non-technical (e.g. research on the "digital divide," or the role of the Internet in dissident communities around the world) or a combination (e.g. a study of the legal and technical sides of privacy or of copyright on the Internet). You may use MySQL and/or PHP for your project, but you do not have to.

Wednesday, May 22, 2002

Your last assignment is a hodgepodge of questions related to topics discussed in class from mid-May to the end of the term. You should be able to begin work on half or more of the questions right away. A couple of the questions will be addressed in class during the next week. The assignment is due on paper at class time, Wednesday, June 5. You may discuss the questions with classmates, but compose your own answers.