| Instructor: | Robert P. Ingalls, Executive Officer, Computer Science Dept |
| 209 Lally, 518-276-2819 (ext 2819) | |
| e-mail ingalr@rpi.edu or ingallsr@cs.rpi.edu | |
| Office Hours: T,W,Th 2:00-4:00 | |
| Teaching Assistant: | Matt Edman (edmanm2@cs.rpi.edu) |
| Office Hours: M,W,Th 12:00-2:00 in Lally 04 | |
| Web Site: | http://www.cs.rpi.edu/academics/courses/netprog/ |
| There will also be a WebCT site. ( http://rpilms.rpi.edu) | |
| This will have a discussion board, and your grades | |
| will be posted here. Students are expected to read | |
| the WebCT discussion board and the course web site regularly. |
Course Content: This course covers four major topic areas
Prerequisites: Students should be strong programmers. Programming will be done in C, C++, Java and various scripting languages. Many students may not know Java. Some guidance will be provided, but since this is an upper division computer science course, it is assumed that students can learn new languages quickly. Students should have had CSCI.4210 Operating Systems and all of its prerequisites.
Grading: There will be about 12 short quizzes, tentatively scheduled for Tuesday class meetings. The two lowest quiz grades will be dropped, each of the remaining 10 will count 5% of the course grade (50% total). There will be no make-up quizzes. There will also be about ten short programming assignments, which together will count 50% of your course grade.
Computing Resources: Programming assignments will be done using both Win32 APIs on a Windows Platform, and Unix system calls using the gnu gcc and/or g++ compilers. You need to find your own Windows computer, but you will be given accounts on the CS Unix network for your Unix computing.
Academic Integrity: All programs submitted must be your own work, and you are expected to develop your programs independently. You may receive as much help as you wish on the use of the operating system, text editors, debuggers, file transfer protocols and so on. You may consult with other members of the class about interpreting the assignment, and you may get help in finding bugs, but not fixing bugs, but you are not allowed to look at or copy another person's code or discuss design decisions with others, and you cannot show your code to others. Students found to be in violation of these guidelines will receive a grade of F for the course. Students found to be cheating on tests will also receive a grade of F for the course.
Reading: There is no textbook for the course. There is so much good material on the Web that all of the reading will be web based. Each class will have some reading assignments.
Schedule
Note: This schedule is very tentative and is subject to
changes throughout the semester.
| Date | Topic | |
| Tu Aug 29 | Internet architecture and history | |
| Fri Sep 2 | Elementary socket programming in C | |
| Tu Sep 6 | Low level networking, Ethernet, ARP | |
| Fri Sep 9 | The network layer, IP, DHCP, NAT | |
| Tu Sep 13 | The network layer, routing, IPv6 | |
| Fri Sep 16 | Transport layer protocols, TCP, UDP | |
| Tu Sep 20 | Advanced socket programming, non-blocking sockets | |
| Fri Sep 23 | Server design (forking, threads, preforking), daemons | |
| Tu Sep 27 | Network Programming in Java | |
| Fri Sep 30 | DNS | |
| Tu Oct 3 | email, HTTP, cgi, cookies | |
| Fri Oct 6 | P2P | |
| Fri Oct 13 | XML, DTDs, Schemas | |
| Tu Oct 17 | XML Parsing, XSLT | |
| Fri Oct 20 | Client side scripting, Javascript | |
| Tu Oct 24 | AJAX | |
| Fri Oct 27 | Web server technologies, Tomcat, servlets | |
| Tu Oct 31 | Web server technologies, JSP | |
| Fri Nov 3 | Web server technologies, RPCs, Java RMI, XML-RPC, CORBA | |
| Tu Nov 7 | Server scripting languages, PHP, Ruby | |
| Fri Nov 10 | Web services, SOAP, WSDL, UDDI | |
| Tu Nov 14 | The Semantic Web, RDF, OWL | |
| Fri Nov 17 | Cryptography, authentication, digital signatures | |
| Tu Nov 21 | Network security, Kerberos, IPSec, SSL | |
| Tu Nov 28 | Implementation of security | |
| Fri Dec 1 | Anonymity on the Web, tor | |
| Tu Dec 5 | Multimedia and VoIP, RTP |