This course is a research oriented course, aiming at providing students some hands-on research experiences. In the first few weeks of the semester, you and Ying will work together to build a wireless robot network. You will have the chance to rebuild a robot, configure a robot, program a robot, and control a robot. Before the end of every class, we will plan the next step and assign research tasks.

In the rest of the semester, you will be grouped, and each group will be expected to complete a research project at the end of the semester. Every group will give a final presentation for the project and will finish a well-written technique report. You are encouraged to propose their own projects. If you need some project ideas, Ying is more than happy to discuss with you. During this stage, there will be several milestones. 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 Fall 2021
Date Time, Location TR 9:30 - 10:45 am, Davis 122
Instructor Ying Li
Office: Davis 111
Office hours: MTR 2:00 - 4:00 pm or by appointment over zoom
  • 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 of hardware configuration,
  • applying the computer network knowledge learned from CS331 on a robotics project,
  • and gaining some experience of quickly learning new knowledge relevant to a new project,

Labs are posted on Moodle every Thursday in the first four weeks. You are expected to demonstrate your lab outcomes to the rest of the class in the following Tuesday’s class and submit your code by that Tuesday.

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(s) who will work on the semester-long project with you during the rest of the semester. You and your partner should discuss your project idea in these four weeks, getting ready for the first milestone in week 5.

Lab Submission

Email Ying your code by the following Tuesday after the lab is posted. Email subject should be in this form: S431 Fall2021 Lab# -- Your Name and Your Partner(s)’s Name (e.g., CS431 Fall2021 Lab1 -- Ying Li and Toto).


There are five milestones for each 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
6, 7 2. Initial Result Demonstration
  • Demos demonstrating the testbed or devices are set up and show the initial results
  • Discussion of challenges to achieving this milestone
  • Contribution list per person
8, 9 3. Better Result Demonstration
  • Demos demonstrating better results with some analysis
  • Discussion of challenges to achieving this milestone
  • Contribution list per person
  • Plan for milestone 4 (per person)
10, 11, 12 4. Report Part I
  • Analysis of results
  • Discussion of challenges to achieving this milestone
  • Draft of figures and captions for the final report
  • Contribution list per person
13, 14 5. Report Part II
  • Draft of the final poster presentation (week 13)
  • Draft of the final report (week 13)
  • Final report (week 14)
  • Final poster presentation (week 14)
Milestone Submission

You are expected to email me your presentation slides by the midnight of the privious day of the presentation day of each milestone, which usually is the last class of each milestone. The subject of your email should follow this format CS431 Fall2021 Milestone# -- Your Name and Your Partner(s)’s Name (e.g., CS431 Fall2021 Milestone1 -- Ying Li and Toto).

By the last day of class (Friday, December 10 2021), each group is expected to email me your poster, final report and all the source code of your project. Please compress the source code poster, and final report in a single zip file.

Class Participation Class time will be used as follow:
  • Everyone is expected to work on the devices, run the demo and finish the assignment every week 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 me. 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 ran into problems and didn't make much significant progress, talk to me about it. The oral presentations is based largely on your ability to communicate your research to me and to 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 to your classmates. Also, it is perfectly acceptable to spend most of your presentation talking about 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 enought, whether your code works, whether you provide sufficient documentations (comments, README, and etc.), and whether your experiments are sound enough. You are more than welcome to discuss your project in/outside of the class with Ying.
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.
Final Poster Presentation (12/09/2021) 15% Group The poster will be graded based on the design and content. Whether your poster is eye-catching enough that can make people stop and read your poster? Whether the poster has good amount of pictures and texts that can give people an idea about your project and results without your explanation? Whether you explanation can make people more interested in your research?
Final report 20% Group The final report will be graded based on the organization of the report, the depth of analysis and clarity (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 write-up. 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.
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.

© 2021 Ying Li. Page last modified: 08/15/2021