Instructor: Prasun Sinha (firstname.lastname@example.org)
Class timings: T Th 2:20PM-3:40PM BE0144
Office hours: Wed and Thu: 12pm-1pm, DL 791 (You can also email me to set up an appointment outside these hours)
Office hours (TA): Tue: 1pm-2pm, Fri: 11am – 12pm. BO 109
TA: Hansey Chen (email@example.com)
Discussion Group: http://groups.google.com/group/cse5462au16
(Apply for membership by clicking on the link if you are not a member)
Please note that we will not be using NesC or TinyOS in this semester but the concepts to be investigated are the same as in the main syllabus. This course focuses on learning socket programming for experimenting on real networks and ns-3 for large-scale simulations. Students are expected to have some background in networking as well as C/C++ programming before entering the class.
Note: Use of any electronic equipment (smartphones, tablets, laptops etc.) is not allowed in the class unless medically required.
Note: Lab1 is to be completed individually. Lab2 and onwards, and the projects are to be done in groups of 2.
Lab 2 Use the images in the project1 website for testing your program
All demos will be in CL112
Aug 30: common programming pitfalls and Q&A on lab1 (by Hansey Chen)
Sep 1: no lecture
lab1 demo and code submit
Sep 6: C programming, demo tcp socket example code
Sep 8: lab2 discussion, demo troll, demo udp socket example code
Sep 9 (Friday): lab2 demo and code submit
Sep 13: project1 discussion, delta list
Sep 15: no lecture
lab3 demo and code submit
Sep 20: linked lists, checksum
Sep 22: retransmissions, RTT, RTO
Sep 27: circular buffer
Sep 29: no lecture
checkpoint1 demo and code submit
Oct 4: no lecture
Oct 6: no lecture
Oct 11: C++
Oct 13: autumn break
Oct 18: C++, python, ns3, project1 discussion
Oct 20: no lecture
checkpoint2 demo and code submit
Oct 25: ns3
Oct 27: no lecture
Nov 1: lab4 discussion
Nov 3: no lecture
project1 final demo, code submit
Nov 8: lab5 discussion
Nov 10: no lecture
lab4 demo and code submit
Nov 15: no lecture
Nov 17: no lecture
lab5 demo and code submit
Nov 22: project2 discussion – part1
Nov 24: thanksgiving day
Nov 29: project2 discussion – part2
Dec 1: no lecture
Dec 6: no lecture
project2 final demo, code submit
Prerequisites: A course in networking, and a course in C programming
If accessing from outside OSU click here to sign in and then click here.
5 Labs (6 points per lab)
Team Formation: You can either work by yourself or in a group of 2 (recommended). To the extent possible, please make sure that your group partner is a motivated and hard-working student.
Code Reuse Policy
Reusing code from previous or current students (other than your group member) is not acceptable.
Studying other similar example code or code snippets from the Internet is a good idea. But, I strongly encourage developing your own code from scratch so that you learn the most.
Labs and projects must be your own or your groups work. High-level discussion of assignments is encouraged, but the more specific your discussion, the closer you come to cheating. The policy on collaboration with others is fairly liberal -- but please don't be tempted to test its limits. Certain things clearly will not be permissible (e.g., passing off as your own the work of someone else). If you have doubts about the middle area, stay out of it; ask your instructor for assistance. Violations are surprisingly easy to detect and they must and will be dealt with according to OSU rules on academic misconduct.
There is one other rule about professional ethics:
Please note that this last rule applies even if you have previously taken the course and you think it might save you some time to turn in an old solution. Assignments may change in subtle ways from one semester to the next. Any lab/project that gives evidence of having been prepared for a previous course offering will receive zero credit. Moreover, if there is reason to suspect you got the questionable solution from someone else who took the course in a previous semester, it will be treated as academic misconduct just as if you had gotten it from someone else who is taking the course this semester.