Class webpage and communicationhttp://www.cs.binghamton.edu/~nael/cs428-528
Note: We will be using Blackboard for communication for this class.
- Larry Peterson and Bruce Davie, Computer Networks, A Systems approach, 5th Edition, Morgan Kaufmann
- Additional reading will be made available (mostly for the CS528 participants)
Course Description and Learning Outcomes
CS428/528 is an introductory course to computer networks with emphasis on the Internet. The course aims not only to teach what computer networks are and how they work, but also why they are designed the way they are and how they are likely to evolve in the future. We will draw on examples primarily from the Internet. The class covers core networking including physical communication, directly connected networks, switching, routing and internetworking, transport protocol, addressing and naming, and applications. We will also explore some emerging topics such as mobile networks and security. To make issues more concrete, the class includes several projects requiring significant design and implementation. For several topics, the graduate students will be asked to dig deeper by reading research papers.
ObjectivesUpon the successful completion of this course, students will:
- be able to explain design alternatives for directly connected networks and be able to conduct simple qualitative and quantitative analysis of their performance.
- be able to design different models of switched networks and be able to conduct qualitative and quantitative evaluation of their performance.
- be able to design different routing protocols and assess the implications of their design decisions on the network scalability, correctness and stability of operation.
- be able to explain and apply hierarchy to scale routing protocols.
- be able to design transport protocols for reliability, real-time services and other goals and be able to assess how their design decisions affect network performance.
- be able to explain alternative designs for fairness and resource allocation and be able to qualitatively and quantitatively evaluate alternative design decisions.
- for all the above, be able to explain how the different protocols in the networking protocol stack interact with each other for different networks and protocol choices.
- be able to explain the naming problem on the Internet and be able to evaluate alternative naming and resolution architectures.
- be able to explain the impact of Deployment, Commercial and regulatory constraints on the evolution of the Internet.
- implement several projects related to the above objectives to ground theoretical understanding with practice.
- in addition, the graduate students will be able to recognize open research issues in the Internet and promising research directions for them.
Topic CoverageThe following provides an outline to the material covered. See course schedule for more detailed breakdown:
- Physical communication (brief)
- Directly connected nodes (link layer and MAC layer)
- Scalable networks and Switching
- Routing (Unicast and Multicast)
- End to End protocols and Congestion Control
- Fairness and Quality of Service
- Network Security
- Peer-to-Peer networking
- Mobile Networking
- Software Defined Networks
- Advanced topics: High Performance Networking, Router Architecture, ATM, ...
- More than will fit in a single semester!
Assignments, Projects and Exams
Exam Dates will be announced tentatively on the course schedule page and confirmed ahead of time. No alternative make up exam will be given without a valid medical excuse.
Getting help from instructors and TA
During instructor's office hours, students can stop in any time without an appointment. Any other time, please call or email the instructor to make an appointment at some other mutually convenient time.
Please come to us early if you feel you are having trouble keeping
up. If you do your part (put in the effort, start early on
assignment, come to class), we will do our best to help you stay on
Grades will be weighted as follows:
Academic IntegrityAcademic integrity is fundamentally about ethical behavior. Appropriate collaboration and research of previous work is an important part of the learning process. However, not all collaboration or use of existing work is ethical. The overarching principles which should guide you when determining whether or not it is appropriate to use a source or collaborate with a classmate involve answering these questions:
Does this fit within the spirit of the assignment/activity?
In any ethical decision there is always judgment involved. Some assignments and activities involve collaborating with a team, in others you are asked to work individually. You are expected to have some common sense and to use it.
Does this help me or someone else in the class to improve our skills and/or understanding of class material?
As a guiding principle, talking about concepts is usually good, talking about specific answers or approaches to problems is usually not.
Does this misrepresent my own capabilities and understanding of materials for the purpose of grading?
Attribution of sources is a key idea here; if you use work which is not your own, that work should be cited. For this class, citation is not required to be in a specific format, but any citation should clearly identify the author and source of any work which is not your own. Refer to the university policy on plagiarism and cheating.
Have any specific instructions been given for this assignment?
Not all assignments are the same. On some you will be given explicit instructions about what level of collaboration is appropriate, and you are expected to abide by those restrictions even if you disagree with them.
If you are at all uncertain about an action, whether it be working with another student, researching existing code, or something else, you are always welcome to ask the instructor for clarification.
The severity of sanctions imposed for an academic integrity violation will depend on the severity of the transgression and ascertained intent of the student. Penalties may range from failing the assignment to failing the course.