Class Lectures and Reading Assignments
CS 33600
Network Programming
Spring, 2025
This page documents what we do in class. It contains Java programs that we will discuss in class, reading assignments, simple homework exercises that you can work on for practice and exam preparation (not for credit), and links to other sources of information. It is a good idea for you to "play" with the example Java programs; compile them, run them, make simple changes to them and compile and run them again.
Today we will continue to look at the differences between static and dynamic web pages.
Today we will look at how HTTP implements persistent connections, and then we will start to look at the difference between a static and a dynamic web page.
To talk about HTTP and how it is used by web browsers and servers, we need to be familiar with the basics of web page technology, HTML, CSS, and JavaScript. Here are a few basic introductions.
Here is a simplified grammar for HTTP that's adapted from Illustrated Guide to HTTP. This syntax describes the language spoken by an HTTP client-server pair in the yellow box of the socket API.
Remember that the first midterm exam is one week from today, on March 5. Below are all the exam review problems including the network programming material.
They help explain how a client-server pair can coordinate the reversing of the read/write roles in this flowchart. They reverse roles when one reaches the "out of data" to send to the other.
The programs in this folder let us do more experiments with how clients and servers communicate with each other.
Remember that the first midterm exam is two weeks from today, on March 5. Below are the updated exam review problems including the network programming material.
The first midterm exam is three weeks from today, on March 5. Below are exam review problems for the material that we have covered so far (Java I/O, byte streams, data formats, character encodings). Next week there will be some more review problems about network programming.
Here is another chapter about Java I/O classes. This reference has a good explanation of Java's use of the decoratorpattern in the design of the stream classes.
Here are some books that we will use as references this semester. We will only need one or two chapters from each book. You should be able to download a pdf of each book (or individual chapters) while you are on campus.