This course is a research oriented course, aiming at providing students some hands-on research experiences. In the first four weeks of the semester, you and your partner will work together to build a robot, configure it, and program to control it remotely.

In the rest of the semester, you and your partner will work on a research project and complete it by the end of the semester. You are encouraged to propose your own project with your partner, and the project must have some Computer Networks flavor or features. If you need, Ying is more than happy to discuss possible project ideas with you. Every group is expected to give a poster presentation at CLAS and a final presentation in class for the project in addition to a well-written technique report. There will be several milestones during this phase, which help you break a semester-long project into manageable steps and achieve your final goals by the end of the semester. You are expected to submit your milestone presentation slides and give a 20 to 25 minute presentation to the rest of the class for each milestone.

Credits 4
Section A
Semester Spring 2024
Date Time, Location TR 9:30 - 10:45 am, Davis 122
Instructor Ying Li
Office: Davis 111
Office hours: Monday 2:00 - 3:30 pm, Tuesday 10:45 - noon and 1:30 - 3:30 pm, Thursday 10:45 - noon.
  • CS 331 - Computer Networks
Course Goals
  1. Students demonstrate an understanding of the fundamental concepts of advanced networks.
  2. Students demonstrate an ability to study in-depth a problem or research topic in advanced networks.
  3. Students demonstrate an ability to present their ideas, methods, designs, and results in both written and oral formats.
  4. Students demonstrate an ability to perform their research within a team, and can discusses their research with classmates.

There are four labs in the first four weeks, one per week. The purposes of the labs include:

  • helping you get some hands-on experience in hardware configuration,
  • applying the computer network knowledge learned from CS331 on a network-related project,
  • and gaining some experience in quickly learning new knowledge relevant to a new project.

Labs are posted on Moodle every Tuesday during the first four weeks except for the first lab, which will be posted before the first class on Thursday. You are expected to demonstrate your lab outcome to the rest of the class and Ying in the following Tuesday’s class and submit your lab by the beginning of that Tuesday's class.

Labs are group work, and all group members are expected to participate.

The first four weeks are also the time for you to find your partner who will work on the semester-long project with you during the rest of the semester. You and your partner are expected to discuss your project idea in these four weeks, getting ready for the first milestone in week 5.

Lab Submission

Each lab consists of several tasks and a homework assignment. Lab tasks are due in class. Submit your homework assignment by the beginning of the following Tuesday's class. The submission should include all the programs for the homework assignment, and they should be well-commented.


There are five milestones for the semester-long project. They are designed to break your research project into smaller ones, which can let you work better with your group members and can allow me to provide support and feedback more efficiently.

The following table lists the expected content of each presentation. The slides should contain details of the content.

WeeksMilestonesPresentation Contents
5 1. Literature Search
  • Project proposal: motivation, methodology, expected outcomes
  • Goals for each person
  • Bibliography with each paper summarized
  • Contribution list per person
  • Plan for milestone 2 (per person)
6, 7 2. Initial Result Demonstration
  • Demos demonstrating the testbed or devices are set up and show the initial results
  • Discussion of challenges and achievements of this milestone
  • Contribution list per person
  • Plan for milestone 3 (per person)
Spring Break
9, 10 3. Better Result Demonstration
  • Demos demonstrating better results with some analysis
  • Discussion of challenges and achievements of this milestone
  • Contribution list per person
  • Plan for milestone 4 (per person)
11, 12 4. Report Part I
  • Analysis of results
  • Discussion of challenges and achievements of this milestone
  • Draft of figures and captions for the final report
  • Contribution list per person
  • Plan for milestone 5 (per person)
13, 14 5. Report Part II
  • Draft of the poster presentation (Tuesday of week 13)
  • CLAS poster presentation (Thursday of week 13 during CLAS)
  • Draft of the technique report (Tuesday of week 14)
  • Final presentation and final report (Thursday of week 14)
Milestone Submission

You are expected to submit your presentation slides for each milestone, poster, and final report on Moodle. Submission deadlines will be posted on Moodle.

Class Participation Class time will be used as follow:
  • Everyone is expected to work on the devices, run the demo and finish the weekly homework assignment during the first four weeks.
  • For each milestone, every group will give an oral presentation with slides to update the rest of the class on your progress. Everyone in the class is expected to ask questions and everyone in the group is expected to answer questions.
  • Attending classes is an easy way for you to work with your group members and/or get help from Ying. So you are expected to attend classes. Let Ying and your group members know beforehand if you have to miss a class.
Grading The course grade will be determined as follows:
Activity Percentage Graded as individual or group Grading Rubrics
Milestone Presentation 35% Individual The grade for each milestone presentation depends on the content, your contribution, and your oral presentation. I want to know what you did and what your plan is. If you run into problems and don't make much significant progress, talk to me about it. The oral presentations are based largely on your ability to communicate your research to me and your classmates. In order to receive a high grade, the contributions of each team member must be well-integrated into a coherent presentation. This means you should spend more time thinking about how to talk to each other and your classmates. Also, it is perfectly acceptable to spend most of your presentation discussing challenges since that is how we learn.
Project 15% Group The grade for the project depends on the degree of completion. This includes how many goals you have achieved, whether your code is neat enough, whether your code works, whether you provide sufficient documentation (comments, README, etc.), and whether your experiments are sound enough. You are more than welcome to discuss your project with Ying in/outside class time.
Participation 15% Individual The grade for class participation depends largely on your willingness to ask questions during or after another group's presentation. You are expected to attend the classes. Also your performance in the first month will also be part of it.
CLAS Poster Presentation (05/02/2024) 10% Group The poster presentation will be graded based on the design and content of your poster and your participation in CLAS. Is your poster eye-catching enough to make people stop and read it? Does the poster have a good amount of pictures and text that can give people an idea about your project and results without your explanation? Can your explanation make people more interested in your research?
Final Presentation (05/09/2024) 15% Group The final presentation will be graded based on your oral presentation. You can use the same poster that you used for CLAS (you're welcome to modify it if needed), and you are expected to give an oral presentation this time. Do you engage the audience when you speak? Is your speech smooth and practiced? Do you clearly state the research problem, your methodology, and the results in your presentation in an easy-to-follow way? Can you manage questions well?
Final report 10% Group The final report will be graded based on its organization, clarity, and depth of analysis (well-written or not).
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

  • If you have had a substantive discussion of any programming project with a classmate, then be sure to cite them in your report. If you are unsure of what constitutes "substantive", then ask me or err on the side of caution. As one rule of thumb, if you see more than 10 lines of someone else's code, then you should cite them. You will not be penalized for working together.
  • You must not copy answers or code from another student either by hand or electronically. Another way to think about it is that you should be talking English with one another, not program languages.

You can use ChatGPT to address your problems when you are stuck with your projects at some point. But, you are not expected to use ChatGPT to generate answers or programs and use them for your projects directly. If you used ChatGPT to assist with your projects, you should acknowledge the part you used ChatGPT at the end of the assignments. Not doing so breaches academic integrity policies. It's your responsibility to verify the correctness of the information provided by ChatGPT. You will not lose points for claiming you used ChatGPT to help you solve the problems. But you will lose points for incorrect answers.

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:

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:

  • The Counseling Center: 207-859-4490
  • The Title IX Confidential Advocate, Emily Schusterbauer: 207-859-4093
  • The Office of Religious and Spiritual Life: 207-859-4272
  • Maines's 24/7 Sexual Assault Helpline: 1-800-871-7741
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.

© 2024 Ying Li. Page last modified: 02/05/2024