An introduction to fundamental concepts of computer networks and widely used networking technologies. Topics include application protocol design; principles of congestion and error control protocols; network routing; local, wireless, and access networks; network security; and networking programming. The Internet suite of protocols will be discussed in depth. Students will learn about conventional and state-of-the-art computer networks through problem sets and programming projects. More...
| Credits | 4 |
|---|---|
| Prerequisites |
|
| Semester | Fall 2026 |
| Date Time, Location | TR 9:30 - 10:45 am, Mudd 311 |
| Instructor | Ying Li Office: Davis 111 Email: ying.li@colby.edu Office Hours: Monday 2:00 - 3:30 pm, Wednesday 11:30 am - 1:00 pm, Thursday 11:00 am - noon |
| Course Goals |
|
| Grading |
The course grade will be determined as follows:
|
| Projects |
Projects are designed to provide you with an opportunity to apply the knowledge learned in class. Projects are typically assigned on every other Tuesdays on Moodle. The standard project deadline is at the midnight of the second Thursday after the assignment. Every project has two parts: a problem set and a programming assignment. Projects are graded based on a 50-point scale. The problem set counts 20 points, and the programming assignment counts 30 points. The programming assignment has the required tasks and extensions. If you complete the required tasks well, you can get up to 26/30. You should finish one or more extensions if you'd like to get 90% or above for your programming assignment. Late programming assignment will not have extensions graded, and will therefore receive a maximum score of 26/30. Problem sets will be closed automatically at midnight of the due date. Open attempts will be automatically submitted when time expires. So, handing in something on the due date is generally better than handing in a complete assignment late. As you all have busy schedules, you may have one four-day extensions you can use at your discretion over the course of the semester, excepting only the final project. That means you may choose to hand in one of the projects on Monday instead of Thursday. Please email Ying and let her know that you are taking your extension before the deadline. |
| Midterms |
The two midterms are opportunities for you to show me your understanding of the course. I will assign a mock exam a week before each midterm to help you study for the exam. You don't need to submit your mock exams; we will discuss them before the midterms. I strongly encourage you to try them before the discussion. The midterms will be on October 15 and November 19 during the class time. They are one-hour exams, and there are no make-ups for the midterms. |
| Final Exam |
The final exam will be oral, in the form of a in-person presentation. Details will be provided as we near the end of the semester. There are no make-ups for the final exam. |
| Class Participation | You are expected to attend every lecture and actively join the class discussions. Class discussion is a vital part of the learning experience. A good class discussion needs your contribution. If you must miss a class, please email me in advance. I'm happy to work with you. Participation also includes coming to my office hours. Don’t hesitate to come to my office hours. I'm happy to help if you let me know your questions. |
| Textbook |
There is no required textbook for this course. Lecture contents will be in the lecture nodes, and all lecture notes will be posted in the Notes section of the webpage. The following textbook is recommended if you are interested in consulting an additional resource. James F. Kurose and Keith W. Ross: Computer Networking: A Top-Down Approach, 9th Edition, Pearson, 2025, ISBN-13: 9780135429334. |
| How to succeed |
Projects: Start working on the projects as early as possible. Ask me for help if needed. Talk with your peers about the course concepts. Midterms: Study for the midterms by doing the mock exam and reviewing the relevant topics in the lecture notes and projects. You are strongly encouraged to try out the mock exam before we discuss the solution in class. Final Exam: Learn at least two of the topics we discussed in class well enough during the semester, letting yourself feel comfortable talking about these topics. Start working on the exam early after it's assigned. Participation: Be active in class, asking questions and joining discussions. Come to my office hours. Ask Ying for help if you have questions. |
| How to get help from Ying | I'm happy to help if you let me know your questions or concerns. I will be in my office, Davis 111, waiting for you during my office hours. If I'm not in my office during my office hours, please find me in the robotics lab. If my office hours don't work for you, don't hesitate to let me know. I'm happy to make an appointment with you. Email is another good way to ask me for help. I will reply to your email ASAP. If you don't receive my response 24 hours after sending the email, please don't hesitate to "ping" me. There is nothing wrong with your email. It's just that your email may be buried under a large pile of emails, and yours is very important to me. |
| Collaboration, Academic honesty |
This policy applies to anyone you work with other than your partner. Computer science, both academically and professionally, is a collaborative discipline. In any collaboration, however, all parties are expected to make their own contributions and to generously credit the contributions of others. In our class, therefore, collaboration on homework and programming assignments is encouraged, but you as an individual are responsible for understanding all the material in the assignment and doing your own work. Always strive to do your best, give generous credit to others, start early, and seek help early from both your professors and classmates. The following rules are intended to help you get the most out of your education and to clarify the line between honest and dishonest work. We reserve the right to ask you to verbally explain the reasoning behind any answer or code that you turn in and to modify your project grade based on your answers. It is vitally important that you turn in work that is your own. We do use automated plagiarism detection software, so please be sure to abide by these, rather minimal, rules. Reports of academic dishonesty are handled by an academic review board and a finding of academic dishonesty may result in significant sanctions. For more details on Colby's Academic Integrity policies and procedures, see colby.edu/academics/academic-integrity.
|
| AI |
The use of AI is not required to be successful in CS331. Nevertheless, you may use AI as a tool in almost any capacity in this course if you like. It is important to note, however, that you should be thinking, you should be creating, and you should be responsible for your work. If you are spending most (or even close to most) of your time typing into a chatbot, you have probably gone too far with your use of AI. If you do not fully understand everything (code, text, etc.) that you develop on projects, that is a problem. Keep in mind that project code and implementation related questions will appear on the quizzes and final exams. The best way to set yourself up for success is to debug and think for yourself. Please include an acknowledgement to the AI you use in your project reports. |
| The Colby Affirmation |
Colby College is a community dedicated to learning and committed to the growth and well-being of all its members. As a community devoted to intellectual growth, we value academic integrity. We agree to take ownership of our academic work, to submit only work that is our own, to fully acknowledge the research and ideas of others in our work, and to abide by the instructions and regulations governing academic work established by the faculty. As a community built on respect for ourselves, each other, and our physical environment, we recognize the diversity of people who have gathered here and that genuine inclusivity requires active, honest, and compassionate engagement with one another. We agree to respect each other, to honor community expectations, and to comply with College policies. As a member of this community, I pledge to hold myself and others accountable to these values. More ... |
| Title IX Statement |
Colby College prohibits and will not tolerate sexual misconduct or gender-based discrimination of any kind. Colby is legally obligated to investigate sexual misconduct (including, but not limited to, sexual assault and sexual harassment) and other specific forms of behavior that violate federal and state laws (Title IX and Title VII, and the Maine Human Rights Act). Such behavior also requires the College to fulfill certain obligations under two other federal laws, the Violence Against Women Act (VAWA) and the Jeanne Clery Disclosure of Campus Security Policy and Campus Statistics Act (Clery Act). To learn more about what constitutes sexual misconduct or to report an incident, see: https://life.colby.edu/your-safety/sexual-violence-title-ix/ I am committed to all Colby students feeling safe, accepted, and included in all aspects of their college experiences, including this course. Colby prohibits and will not tolerate sexual misconduct or gender based discrimination of any kind and is obligated, by federal and state laws, to respond to reports and provide resources to students. As your professor I am considered a "responsible employee" which requires me to report incidence of sexual misconduct, dating violence, or harassment to the Title IX Coordinator. If you wish to access confidential support services, you may contact:
|
| Religious Holidays |
Colby College supports the religious practices of students, faculty, and staff, but we don't always know which people will observe which holidays. Since I need to plan course activities in advance, I need to know in advance, if you need to miss a class or have a deadline adjusted in order to observe a holiday. Please notify me by email at least 14 days in advance of any religious holiday that will affect your ability to participate in this course. |
© 2026 Ying Li. Page last modified: 08/31/2026