CSCI 356 / Spring 2017
This course is designed for those who want to understand the technology that lies beneath the Web and everything else we do online. In short, how computers talk to each other.
We will focus on the fundamentals of computer networks. We will study the low-level protocols that drive the Internet, including protocols for data forwarding, routing, congestion, and flow control. We will examine how these can be used to build services like the Web, email, streaming video, and multi-player games, and we will learn how to write our own networked programs. Some of the assignments will be drawn from emerging research, including peer-to-peer and wireless sensor networks.
Students in the course will be expected to know the basics of computer programming. Students will learn how to program with sockets and how to use various software tools for managing networks and networked programs. The course will make extensive use of online reference materials.
Computer Networking: A Top-Down Approach (6th Edition)
James F. Kurose, Keith W. Ross
ISBN: 0136079679 / 978-0136079675
If you have the 4th or 5th edition, that should be fine instead.
|Class participation & discretionary||5%|
|Homework & programming projects||45%|
|Midterm exams||15% each|
There will be two evening mid-term exams and one final exam.
Final exam: Monday 5/15, 3:00-5:30pm, Swords 302
Assignments are due as specified on the assignment page. The maximum possible score for an assignment will be reduced by 10% for each day or portion of a day that the assignment is turned in late. So the maximum possible score for an assignment turned in up to 24 hours late is 90%, and the maximum possible score for an assignment turned in up to 48 hours late is 80%, and so on. The penalty will be determined when the complete assignment has been received by the instructor, the department administrative assistant, or another faculty member in the Math and Computer Science department. Late work will not be accepted after the graded assignment is returned to the class or after the solutions have been posted.
You are allowed to discuss strategies for solving homework problems and programming projects with other students. However, any work you turn in must be your own work (i.e. you may not simply copy another student's answers and turn them in as your own). In addition, you must clearly indicate the names of any students you work with on each assignment or project, to give credit where it is due.
You may consult public literature (books, articles, web sites) for information, but you must cite each source of ideas you adopt.
To clarify: Unless otherwise noted on an assignment, it is fine to use Google to look for snippets of publicly available code that are similar to the assignments or projects, and to use that code in your work. But you must clearly comment your code to indicate which code and ideas are purely your own, which code or ideas are borrowed or adapted from elsewhere, and where the other code or ideas came from.
Please refer to the math and CS department honor code policy.