| CSCI-E215 | Projects |
There are six assignments for csci-e215. You may work on your projects on any system, but the program has to compile and run on the Unix system at the Science Center.
Some of these projects are password-protected. Your userid is your login name on ice. Your password is the last four digits of your Harvard ID.
For this assignment you have a choice. You can extend your pong solution into a two-player network-based game, or you can extend the web server shown in class and in the text.
A web server is much like a shell. A web server lists directories, displays files, and runs programs for users on other machines.
For this project you will take a bare-bones web server and make it a useful, flexible program.
Take your solution to pong, add some network code, play the game with other people across the Internet. The ideas and techniques in this program are the basis for network chat programs and other interactive network applications.
The kernel will run programs if you ask it correctly: (fork, exec, wait). A shell is a program that allows convenient access to file and process managements.
The shell is also a programming language. Writing your own shell is the only way to understand what is really going on when you run commands.
Ritchie and Thompson at Bell Labs wanted to keep playing their space travel video game so they built software to support it. The result: Unix.
Jobs and Wozniak worked for Atari developing the video game 'Breakout'. The skills developed there went into the original design for the Apple.
Do these exercises on your own If you find these difficult, you are likely to find this course too difficult.
If you would like some feedback on whether you are prepared for the course, send your solution to problem 10 to molay@fas.harvard.edu
The who command lists the people using the system now. But
what about history? Who was logged in in the past, and for how
long was each logged in? The last command reports
the login history, in reverse order, for the current machine.
Our first project is to write a version of last
The tar command copies a directory tree to a single archive file (or device, like a tape). This archive file stores the directory structure and all the file attributes. The original tree and its attributes can all be restored from that archive. For this assignment you will write the part of tar that creates an archive.
The stty command is used to view and modify the terminal control settings for your console. In other words, stty allows you to determine how your current login session (for example) processes input and output, and to control these parameters.