CSCI-6961 Network Programming Java
Spring 2001

Course Syllabus (PDF)

Course Instructor Teaching Assistant
CSCI-6961 Network Programming
Lectures: Tue, Fri 12-1:20 LOW 3051
Email:
javanetprog@cs.rpi.edu

Dave Hollinger
Office: Amos Eaton 110
Phone: 276-6722
Email: hollingd@cs.rpi.edu
Office Hours: Tue,Thurs 10:00-12:00

Jiang (Leo) Li
Office: Lally 9A
Phone: X8985
Email: lij6@cs.rpi.edu
Office Hours: Wed 9:30-12, 2-3:30

Announcements | Projects | Lecture Notes | Links

Announcements

Term Project packages are now online

The last set of presentations will be on Friday, 4/27 at 12:00 in the regular room. All term projects must be received by Dave (hollingd@cs.rpi.edu) before 12:00 on Friday. Make sure your term project package includes all your source code, references to any required software and a complete description of how to build/run your system a guide to your system that will make it easy for anyone else to extend the system. Also include any presentation materials you prepared for your in-class presentation.

Term project presentation schedule (sign up!)

JDK 1.3 is now the default on the CS Suns!

Great resource for Java beginners: http://www.javaranch.com/campfire.jsp

Book Suggestion for Java Novices: Thinking in Java
An online version is available at http://www.accessoft.com/thinking

Projects

Submission Instructions
Homework #1 is due Monday, Jan 15th at midnight.
HW1 Frequently Asked Questions
Solutions

Homework #2 is due Tuesday, Jan 30th by midnight.
Solutions

RPIcq Project Code
Project description is here.
FAQ
The code is commented, and the comments at the top of ClientSkeleton.java and ConnectionSkeleton.java should give you a basic idea of what needs to happen.
The project is due Sunday, March 4th at 11:59PM.
Need help/ideas for how to create an RPIcq Chat server? Check out the tutorial: Building a Chat Server


Lecture Notes

NOTE: Please ask Dave for harcopy of any of these notes.


labstaff has requested that you do not print these notes out on the CSLab printers. Feel free to print out lecture notes for other courses (or anything else you find useful) on the CSLab printers, but do not print out these notes!

From now on, Dave will be holding office hours in the photocopier room on even weeks, and will be outside planting trees during office hours on odd weeks...

TopicPowerpointAdobe PDFLinks
Why Java is Cool! JavaCool.ppt JavaCool.pdf  
Java in a Nutshell in a Nutshell JavaNutshell.ppt JavaNutshell.pdf
  • Sample Code
  • Java Examples in a Nutshell source
  • Network Terminology netintro.ppt netintro.pdf  
    OSI Reference Model osi.ppt osi.pdf  
    TCP/IP and IEEE 802.3 tcpip.ppt tcpip.pdf  
    TCP Details tcpdetails.ppt tcpdetails.pdf  
    Sockets Programming API (C programming) sockets.ppt sockets.pdf  
    TCP Sockets Programming (C programming) tcpsock.ppt tcpsock.pdf
  • Simple TCP client and server
  • Java TCP Socket Programming    
  • Generic TCP Client
  • The TELNET Protocol telnet.ppt telnet.pdf
  • RFC 854 - TELNET
  • HTTP http.ppt http.pdf
  • RFC 1945 HTTP 1.0
  • RFC 2626 HTTP 1.1
  • A Simple HTTP server in Java
  • Domain Name Service dns.ppt dns.pdf
  • RFC 1034 Domain Names - Concepts and Facilities
  • RFC 1035 Domain Names - Implementation and Specification
  • Lookup.java - Simple Host Lookup
  • Myaddress.java - Prints out local IP address
  • Java Remote Method Invocation (RMI) rmi.ppt rmi.pdf
  • Sample RMI Code
  • RMI Description at javacats.com
  • CGI Programming cgi.ppt cgi.pdf
  • RFC 1738 - URLs
  • CGI Examples
  • CGI and HTML Forms cgiforms.ppt cgiforms.pdf
  • Sample Student Grade DB
  • CGI Sessions cgisessions.ppt cgisessions.pdf
  • Pizza Server (hidden fields)
  • Servlet Example Code    
  • Pizza Server (hidden fields)
  • Pizza Server (cookie)
  • Pizza Server (session)
  • Security security.ppt security.pdf
  • WWW Security FAQ
  • Internet Firewall FAQ
  • Encryption crypt.ppt crypt.pdf  
    Kerberos kerberos.ppt kerberos.pdf
  • Kerberos (MIT)
  • Email Protocols email.ppt email.pdf
  • RFC 821 SMTP
  • RFC 822 Internet Text Messages
  • RFC 1939 POP3
  • RFC 1521, RFC 1522 Mime

  • Links to resources that may be of interest

    Java Resources:

    www.javasoft.com Lots of Java stuff!(downloads, tutorials, etc).
    JDK 1.3 API Documentation (from java.sun.com)
    The Jikes compiler ... written and compiled in C, which is up to 10 times faster, and is more picky than Sun's.
    Examples from Java in a Nutshell Examples (along with a .zip or .tar.gz )

    FAQs:

    TCP/IP FAQ
    Socket Programming FAQ
    C Programming FAQ
    Coffee and Caffeine FAQ

    RFCS:

    RFC Archives at Ohio State
    RFC 854 TELNET
    RFC 931 AUTH
    RFC 1945 HTTP 1.0
    RFC 2616 HTTP 1.0
    RFC 1034 Domain Names - Concepts and Facilities
    RFC 1035 Domain Names - Implementation and Specification
    RFC 783 TFTP
    RFC 1350 TFTP (includes fix for "Sorcerer's Apprentice" problem).

    JavaScript:

    JavaScript Quick Reference Card
    Netscape JavaScript Docs
    Netscape JavaScript Developer Central
    javascript.com

    CGI:

    The CGI Resource Index (the documentation section is very extensive!)
    The Web Developer Center
    The CGI section of the WWW Security FAQ

    HTML:

    Yahoo list of HTML guides and tutorials.
    The HTML 4.01 specification
    HTML 3.2
    RFC1866 - HTML 2.0
    A (simple) tutorial on HTML forms.
    A Beginner's guide to HTML (from NCSA)
    HTML Made Real Easy