CS2911
Network Protocols

... with emphasis on the Internet and related protocols, including HTTP, FTP, POP, IMAP, SMTP, DNS, UDP, and TCP/IP with a focus on the application, transport and network layers. The course also introduces the structure, components, and functionality of network architectures including packet switching, error control, flow control, and congestion control. (prereq: CS 2852) (3-2-4) — from the Course Catalog

Basics

Instructor
Josiah Yoder
lıɐɯə
npǝ˙ǝosɯ@ɹəpoʎ
Office
L344 (Library, 3rd floor)
Office Hours
See below
 
Phone
ƖƐ96 ᔭᔭᔭ ϛ9ㄥ Google Voice; rings my office and home phone at the same time.
Textbook
Computer Networking: A Top-Down Approach, 7th ed., James F Kurose and Keith W Ross, Pearson, 2017 (discussion)

My Schedule (Office Hours)

Time Mon Tue Wed Thu Fri
8:00 CS2911
CC70
CS2911
CC70
CS2911
S343
CS2911
CC70
CS2911
S343
9:00   Office
Hour
 
10:00 Office
Hour
Lunch   Office
Hour
 
11:00 Lunch UR4981 Lunch Lunch Office
Hour
12:00     CS2911
S343
  Lunch
1:00 Dept Mtg CS2911
L304
CS2911
L304
CS2911
L304
2:00 CS2911
L304
CS2911
L304
Office
Hour
CS2911
L304
 
3:00        
4:00

Class

While I don't mind if you have to skip a class, class attendence is essential so you can learn what material I expect you to know, what HW and quizzes there will be, etc.

In class, I expect you to focus completely on class material. Instead of checking your email or browsing facebook, participate in the class activities and take notes of what you are learning.

If it becomes necessary to consider dropping the class, I am happy to give you advice, but I want you to make the final decision (with the help of your academic advisor). So if you stop coming class, I will not drop you, but instead give you whatever grade you have at the end of the quarter, even if it is an F.

Labs

This quarter, most labs will be turned in on paper, but there may be some electronic submissions. See the lab checklist for when the lab is due.

All Python code included in the assignment submissions will follow the CS2911 Coding Standard

Untested code is buggy. I find that if your code doesn't compile or hardly runs, that there are many other errors in it. To get more than half credit for a lab, it should compile and run when I test it (or you demo it) If it does not compile & run, please fix the lab and submit it later, or drop a feature or two to get it running again (often the best option).

For every day that goes by beyond the original deadline, it gets much harder to catch up on a lab. As a result, after the deadline, you can receive partial credit for a lab, up to 10% off per day. The demo is due during lab. If you are unable to demo during lab, but can demo before 9am the next morning when the report is due, you will only have 5% deducted from your lab score. You must demo before submitting your report.

All assignments must be turned in by 4:30pm on Friday of Week 10 so that we can wrap things up and I can turn the grades in on time.

Please start early and ask me for help if you get stuck.

Learning Assessment

This quarter, we will use the following to measure your learning:

Lab projects 30%
Quizzes 20%
Half Exam 1 12.5%
Half Exam 2 12.5%
Final Exam 25%
Total 100%

I sometimes make mistakes in tallying points. If you become aware of an error in grading, please send me an email, and I will fix it and reply by email.

If the error goes beyond tallying points, discussing things in person is a great way to start to resolve an issue. I may ask you to send me an email if I think the case you are asking about requires careful consideration.

Please maintain your own records of your grades and check them against whatever summaries I send to you.

Quizzes & Exams

This quarter, online quizzes are posted on the class schedule for each required video, and need to be completed by 8AM the day of class in order to receive credit. (There is a half-hour grace period on this deadline.) In-class quizzes will be announced in class at least one day in advance.

Because of the difficulty of preparing fair and accurate tests, you cannot retake a quiz or exam if you miss it or do worse than you hoped. I will drop your lowest quiz score, so one zero should not be a problem. If you need to skip an exam, you should schedule a make-up before the missed exam.

You must have a passing grade on the exams to pass the class.

Grade Scale

I use the official MSOE grading scale:

≥93% ≥89% ≥85% ≥81% ≥77% ≥74% ≥70% <70%
A AB B BC C CD D F

In final grading, I may award a grade higher than the grade scale if I feel it is more accurate than what the "raw numbers" produce.

Integrity

Your integrity is your most valuable academic possession, significantly more valuable than passing a class or getting a high GPA.

Academic integrity is essentially truthfulness -- ensuring that if it appears you have done or know something, you have.

It is possible to accidentally give the impression that work is yours. If something like this happens to you, please let me know as early as possible. It is better if you point it out than if I find it, and it is better if you admit it than if you deny the truth.

Be on the watch for violations of academic integrity, including:

  • Giving code to another student not on your team, even by showing them.
  • Receiving code from another student not on your team, even by looking at it.
  • Looking at another student's work during a quiz or exam.

MSOE's policy on academic integrity requires me to penalize those who provide code with the same penalty as those who plagiarized it. So if you give your code to a classmate just for reference, and they copy-paste it into their own work, and I decide to give them an F on the assignment and/or report it to the Vice President of Academics, then I must give you an F on your assigment and/or report you to the Vice President of Academics, too.

Read MSOE's Policy on Student Integrity for more details.

When coding, you are encouraged to discuss strategies, but the implementations should be independent. Even discussing the details is not a good idea if it goes too far. If you want to show code, start up an independent program rather than showing an assignment -- and use a different application than the assignment at hand to demonstrate the concept you wish to share.

Because of the importance of maintaining academic integrity, I will report apparent academic dishonesty to the Vice President of Academic Affairs. If this occurs, you will get a copy of the report.

Fine Print

1In rare cases, I may need to reschedule an office hour. I will, if at all possible, announce this in class a day or more in advance.