CSCI.4220 Network Programming
Fall, 2006

Welcome to the Network Programming home page

Instructor: Robert Ingalls, Executive Office, Computer Science Dept
email: or or
Office Hours: T,W,Th 2:00-4:00

Teaching Assistant: Matt Edman: Lally 04
Office Hours: M,W,Th 12:00-2:00

Course Content: This course covers four major topic areas

Here is the syllabus

Computer Accounts If you do not yet have an account on the Computer Science network, send email to immediately. Please let me know if you do not hear back from them quickly. The three computers that you can use are,, and A tool that you can use to connect to these from a laptop or other windows machine is putty (It's the first hit when you enter putty in google).


PHP scripts will not run if the write permission bits are set for group or other. This is a securty feature. If you were having this problem with lab 6, change the permissions so that the script is group and world executable, but writeable only by the owner. Note that increasing permissions decreases functionality.

Quiz 10 will be on Tuesday, Nov 28, the Tuesday after Thanksgiving. There is no quiz on Tuesday, Nov 21.

Here is the spec for the sixth programming assignment It is due on Tuesday, Nov 28. Here is a link to the class discussion on sessions

Here is a breakdown of the grading for the course

This should total 100%

Here are the specs for the labs. You should submit something to Matt when you have completed them. At the moment this is on the honor system. By submitted something to him, you are confirming that you were able to get the lab completely running as specified. Labs are due by the Monday following the lab.

Lab 1 (cgi)
Lab 2 (xml, dtd)
Lab 3 (xslt, XPath)
Lab 4 (ajax)
Lab 5 (tomcat and JSPs)
Lab 6 (PHP)

I have found an xml validator on the web. Go to You should use this to validate your xml and dtd file for lab 2.

If you have difficulty getting a validator to work properly (i.e. you just get a blank screen when you use the W3School Validator) in Internet Explorer, try this. Choose Internet Options from the Tools menu of IE. Choose the Security tab and then hit the Custom Level button. There will be long list of features to enable. Enable all of them which are not already set.

The project submission site is now available at

Class 1: Tu Aug 29 Introduction, Internet History and Architecture
Class 2: Fri Sep 1 Sockets in C
Class 3: Tu Sep 5 Low level networking, Ethernet, ARP
Class 4: Fri Sep 8 The network layer, IP, DHCP NAT
Class 5: Tu Sep 12 The network layer, Routing, IPv6
Class 6: Fri Sep 15 No Class
Class 7: Tues Sep 19 Transport layer protocols, TCP, UDP
Class 8: Fri Sep 22 Advanced socket programming, IPv6 Sockets
Class 9: Tu Sep 26 Unix Domain Sockets, Daemons, inetd, Server design
Class 10: Fri Sep 29 Network Programming in Java
Class 11: Tu Oct 3 DNS, email
Class 12: Fri Oct 6 http, cgi, cookies
Class 13: Fri Oct 13 P2P
Class 14: Tu Oct 17 XML, DTDs, Schemas
Class 15: Fri Oct 20 XML Parsing
Class 16: Tu Oct 24 XSLT, XPath, javascript
Class 17: Fri Oct 27 AJAX
Class 18: Tu Oct 31 Tomcat, servlets, JSPs
Class 19: Fri Nov 3 PHP
Class 20: Tu Nov 7 Web Services, SOAP, WSDL, UDDI
Class 21: Fri Nov 10 Cryptography, Authentication
Class 22: Tu Nov 14 Digital Certificates, SSL
Class 23: Fri Nov 17 IPSec and VPNs, Kerberos
Class 24: Tu Nov 21 The Semantic Web
Class 25: Tu Nov 28 Enterprise Network Security
Class 26: Fri Dec 1 Anonymity on the Web, Tor, Flash
Class 27: Tu Dec 5 ???