Welcome to Computer Networks!. Please modify this README file with the following info:
- Your name, and student id here
- Update this table of assignments. Set to done after one of the assignments is completed:
Assignment | C/NC |
---|---|
Lab 0 | not completed |
Lab 1 | not completed |
Lab 2 | not completed |
Lab 3 | not completed |
Lab 4 | not completed |
Lab 5 | not completed |
Lab 6 | not completed |
Lab 7 | not completed |
Lab 8 | not completed |
Lab 9 | not completed |
TCP Client/Server Network | not completed |
P2P Decentralized Network | not completed |
Routing Protocol (EC) | not completed |
If a lab, project or EC is not set to complete at grading time, it won't be graded. The first thing I do when grading assignments is to check the above table.
Please read carefully all the projects, labs, and extracredit assignments guidelines described in this README file. Failure to follow them, may affect negatively your grade.
-
In this class students will implement ten programming labs.
-
Programming labs will help you to understand concepts related to computer networks that are needed in the implementation of your projects in this class.
-
Read carefully both README files related to labs, and documentation inside .py files.
-
Labs must be done individually. However, group work is encouraged to help other students. In addition, the instructor will help if a students are stuck in a problem or they have questions.
-
All labs must be implemented during class time, and must be committed to the repository by 9:45 pm. The only exceptions to this rule are labs 1 and 2 (take home labs).
-
If you miss a lab, you'll get a 0 in that lab. (no exceptions here)
-
In all labs, you must implement only the parts marked as TODO. Some parts of the labs will be already implemented by the instructor.
-
Some labs contain unit tests, so you can test if your output is correct before submitting. For labs that do not contain unit tests, sample output or additional instructions will be provided in the README file located in each lab folder.
-
Labs are graded based on their completeness and correctness.
-
Each lab has its own README file with specific instructions.
-
Failure to follow the labs rules may affect negatively your grade.
-
In this class students will implement two big programming projects; TCP Client-Server and P2P Decentralized Networks.
-
Projects are individual work. However, group work is encouraged to help other students.
-
Project's deadlines will be informed by the instructor in class, by email, and posted on iLearn.
-
Code committed after project deadlines won't be taken into consideration for grading purposes. (no exceptions here)
-
Projects in this class apply strong OOP design. So, make sure that you are familiar with the general programing concepts of abstraction, inheritance, polymorphism, and encapsulation.
-
Students must provide complete documentation for each project (README file, and code commented)
-
Failure to provide docs will result in a 30% deduction from your grade in the project.
-
If your project does not run, you'll get a 0 in that project. (no exceptions here). So, leave some time apart to test your program before its deadline.
-
In this class students will implement one extra-credit assignment; Routing Protocol: Link State (Control Plane).
-
Extra-credit project is 5% worth that will be added to your final grade.
-
Extra-credit projects are all or nothing. No partial credit will be given. So, make sure that you understand the required project specifications before starting its implementation