Programming Assignments for CS 404

Below are your programming assignments. The due date for each one is contained in the assignment description.

Assignment 8.
Do Homework Problem 13.29, page 899, from the book CS-APP on reserve in the library. Do Parts A and B as two separate programs.

This is due Tuesday, November 22.

Assignment 7.
Do Homework Problem 13.28, page 899, from the book CS-APP on reserve in the library. Do this in two steps. First get a prethreaded version of tiny.c working with a thread pool. Then, in a separate version of tiny.c, add the code to dynamically increase and decrease the size of the thread pool.

This is due Tuesday, November 8.

Assignment 6.
Do Homework Problems 13.27, page 899, from the book CS-APP on reserve in the library.

This is due Tuesday, November 1.

Assignment 5.
Do Homework Problems 13.14 and 13.15, page 896, from the book CS-APP on reserve in the library.

This is due Tuesday, October 18.

Assignment 4.
Do Homework Problem 13.25, page 898, from the book CS-APP on reserve in the library. Do this assignment by starting with your version of tiny.c from Assignment 3. Use some kind of comment to mark the lines of tiny.c that you need to change in order to solve this problem.

In addition, do Homework Problems 13.12 and 13.13, pages 895-896, from the book CS-APP.

This is due Tuesday, October 11.

Assignment 3.
Do Homework Problems 12.8, 12.11, and 12.13, page 843, from the book CS-APP on reserve in the library. Do these assignments in a single copy of tiny.c. Use some kind of comment to mark the lines of tiny.c that you needed to change in order to solve one of these problems. When you comment a line, denote which problem the line helps solve.

This is due Tuesday, October 4.

Assignment 2.
Do Homework Problem 12.6, page 842, from the book CS-APP on reserve in the library but modify the problem slightly. Have the tiny web server echo both the request lines and headers and the response lines and headers to its console window. (This will make tiny emulate the Live HTTP Headers tool in the Firefox browser.)

Also do Homework Problem 12.7, page 843, from the same book but extend tiny so that it can serve both mpg files and png files. Be sure to find appropriate data files to test your modified tiny with.

Do both of these assignments in a single copy of tiny.c. Use some kind of comment to mark the lines of tiny.c that you needed to change in order to solve these two problems.

This is due Tuesday, September 27.

Assignment 1.
Write a C version and a Win32 version of the character counting program defined by the files readFileRIO.c and readFileUnix.c. Your two programs only need to count the number of characters in the standard input stream. Use your two programs to determine if standard C I/O and Win32 I/O are buffered in user space.

For the C version, you can use any one of the Standard C functions fread(), fgets(), fgetc(), getc(), or getchar().

For the Win32 version, use the function ReadFile().

This is due Tuesday, September 20.


Return to the CS 404 home page.


compliments and criticisms