CS-179: Project in Computer Science

Computer Networks

Michalis Faloutsos

Time:Thursday 5-6pm
Place: SPR 2360 
 Office hours: Tuesday 3-4
                      Thursday 5-6   (preferably warn me by email before you come)

Group Formation: Please form groups on your own at first. I reserve the right to shuffle group members

Here is the my presentation for an overview of the class and here is the suggested project topic focus on the part starting at Part II: Traffic Dispersion Graphs slide 33. The overview of what is expected in one slide “TDGs as a Monitoring/Security Tool” slide 52.

A good related reading is the Technical Report:

 Network Traffic Analysis using Traffic Dispersion Graphs (TDGs): Techniques and Hardware Implementation Marios Iliofotou (UCR), Prashanth Pappu (Cisco), Michalis Faloutsos (UCR), Michael Mitzenmacher (Harvard University), Sumeet Singh (Cisco), George Varghese (UCSD)


Our mailist list is cs179i (see lists off the main page of the department). MAKE SURE you check up the list frequently or subscribe and check your email recently. I would like you to check the list or email at least once a day.


Evaluations:   70% Project (evaluated in installments: project proposal, final project)
                      20% Presentation (project description, final presentation)
                      10% Class participation (attendance AND class participation)

You are free to choose the programming language of your choice. Python, Java and C++ are by default acceptable. Any other
language should also be ok, but check with me first. 
Your program should run in Linux on hill.cs.cur.edu.
The python programming language: a powerful programming language and can simplify network programming significantly.
The classic tutorial in python
: http://www.python.org/doc/tut/
Python Libraries:
The standard Socket how-to for python is available here:

A great website for introduction to python:

There is a simple introduction to network programming with python (an echo
server and a client).

My site on python with introduction and some simple programs.

Resources on network programming:

* Internetworking with TCP/IP Vol.1: Principles, Protocols, and Architecture (4th Edition)
by Douglas E. Comer (Author) (Hardcover)
* UNIX Network Programming, Volume 2: Interprocess Communications (2nd Edition)
by W. Richard Stevens (Author) (Hardcover)
* TCP/IP Sockets in C: Practical Guide for Programmers (The Practical Guides Series)
by Michael J. Donahoo, et al (Paperback ) (also in Java) introductory book.