Instructor | Omprakash Gnawali |
There is no required textbook. If you have not taken prior networking course, reading through Computer Networks: A Systems Approach by Peterson and Davie or Computer Networking: A Top-Down Approach by Kurose and Ross is highly recommended. UNIX Network Programming by Richard Stevens has in-depth discussion on many topics in network programming, and could be useful for your project.
The first three weeks will cover the basics of networking. Remainder of the class will be paper discussion, first mostly classical papers in networking, then a few papers from selected topics in networking, including routing, transport, quality of service, wireless networks, and Internet services.
Exams: The exams will cover everything covered or mentioned during the class. You can bring any notes or material to the exam. There will be no make-up exams.
Homeworks: Homeworks will involve reading papers, doing simple calculations, and writing short programs. There will be three homeworks.
Projects: You will build a networking service or an application that has a significant networking component. The project likely will involve significant low-level network programming in C/C++. The program must compile on a department provided Linux machine. PhD students are strongly encouraged to design their own projects. There will be a single project but will have intermediate checkpoints.
Class participation: You are expected to participate actively during the class. We will also allocate a few minutes in each class to discuss topical news articles related to networking. We want to learn not only technical topics but also how to discuss them. Use that as your opportunity to engage with the class.
The class expects that you have prior exposure to the basic concepts in networking or operating systems. If none of your undergraduate courses covered these topics, you should thoroughly read the recommended textbook because we will breeze through the basic topics in the first few lectures.
The projects will involve programming a networked system. The expectation is you have some familiarity with systems or network programming (e.g., socket programming). We will do our project in Linux environment.
We will use Moodle for homework and project submissions.
Two in-class exams | 40% |
Three HWs | 15% |
Project | 40% |
Class Participation | 5% |
You may submit your HW or project up to two days late total (not for each HW or project).
If you cannot submit your homework, projects or be in class for the exam due to family, personal, or medical emergencies, you must send a notice to the instructor as soon as possible and document your case with the appropriate UH officials.
All the work you submit will be yours. If we find any evidence of plagarism, you will get an F in the course. Please refer to the Student Handbook for details: http://catalog.uh.edu/content.php?catoid=6&navoid=1025.