Networking (Business Data Communication) 2021

"Business Data Communication" is a required course designed only for senior students who major in Management Information Systems. ONLY MIS students (including double major) are allowed to enroll in this course. For students from other departments, IMBA students, and exchange students, please unenroll from this class.

This course provides an introduction to fundamental concepts in the design and implementation of computer communication networks, protocols, and applications. Topics to be covered include layered network architecture, physical layer, and data link protocols, network and transport protocols, routing protocols, and network applications. Examples will be drawn from the Internet TCP/IP protocol suite. The course also includes several programming assignments in which students gain hands-on experience with basic network programming and the development of simple network applications.

Class Info

  • Instructor: Shun-Wen Hsiao, NCCU MIS Dept., hsiaom at nccu.edu.tw

  • Lecture (306007001): Tuesday 234 (09:10 ~ 12:00) @ Classroom #260312

  • Lecture (306007011): Wednesday 234 (09:10 ~ 12:00) @ Classroom #260207

  • Prerequisite

    • This course is designed for MIS students and double major students. Students who enroll in this class must have prior programming experience for two semesters. We will NOT cover any programming details. Homework, assignments, and projects need a certain level of programming skills.

  • TA: 109356017 and 110356047

  • Office Hours: By appointment only.

  • Textbook: "Computer Networking: A Top-Down Approach" by James F. Kurose and Keith W. Ross. (7th)

  • Class live streaming, video on demand, lab video: https://youtube.com/channel/UCIIOuh-0H1Wrq75ozOVBaHA

  • Forum: https://groups.google.com/forum/#!forum/nccu-networking

  • Homework submission system: http://hsiaom.nccu.edu.tw:8888/index/ (See detail in homework section below)

Announcements (Fall 2021)

  • 09/01: Due to the limited seats and TA workload, we cannot afford too many students in both classes. However, students may switch between 306007001 and 306007011. The priority would be junior/senior MIS students, MIS graduate students, and MIS double major students.

  • 09/01: On average, we will have weekly homework (including textbook homework, lab assignment, and term assignment). It is difficult to manage multiple heavy-load courses so please seriously considering not taking this course.

  • 09/07: According to the COVID-19 guidelines from NCCU, students are requested NOT to come to the classroom before 9/26. PLEASE DO NOT COME TO THE CLASSROOM in 9/14-15. Please go to https://youtube.com/channel/UCIIOuh-0H1Wrq75ozOVBaHA for the live streaming class.

  • 09/08: The LAST DAY of signing the enrollment document will be 5-6 Oct. MIS students (including double major, minor) are guaranteed to get the signature.

  • 09/26

  • 10/4

    • Please come to the class on Oct. 5-6. We will deal with enrollment and un-enrollment problems.

      • If you cannot come to the class (e.g., under quarantine or any reasons), please email TA your document before the class, TA will help you.

    • Homework passwords will be distributed in the classroom on Oct. 5-6. If you do not show up, we will send the password via your registered email in this form https://forms.gle/YmW7kDUmmngePbpL8.

    • Homework #01 is announced. You must upload your homework via the submission system. The due time is 13/14 Oct. 23:59, the system will be ready by 8 Oct. No late submission is allowed. (However, in case of any account problem or system errors, you may send your PDF file to TA by email this time and only this time before due time.) Details will be explained in the class on Oct 5-6.

  • 10/5: If you did not register your email before 9/30 as we requested, please register now by this form https://forms.gle/YmW7kDUmmngePbpL8. We will send the password to your registered email later.

  • 10/18: Homework #02S is announced on Oct. 18th, 2021. Submit this homework before 23:59 on 26/27 October 2021 via the homework submission system. No late submission.

  • 10/25: Homework #03E is announced on Oct. 25th, 2021. Submit this homework before 23:59 on 3/4 November 2021 via the homework submission system. No late submission.

  • 11/02

    • Homework #04S is announced on Oct. 25th, 2021. Submit this homework before 23:59 on 3/4 November 2021 via the homework submission system. No late submission.

    • The midterm will be held on 11/09-10 as expected. Students should attend the midterm physically in the classroom, and take the exam with pen and paper. The questions of the midterm for Tuesday and Wednesday classes are different, so students of Tuesday MUST go to Tuesday's midterm and students of Wednesday MUST go to Wednesday's midterm. If you have any reasonable reason that makes you cannot go to the classroom for the midterm, please send an email to TA and Instructor BEFORE 11/05 23:59:59 for further arrangement.

      • Section 1.1~1.5, 2.1~2.5, and 3.1~3.4.

      • Midterm example is here.

  • 11/16

    • Assignment AS#00 is announced. Read all the materials of Lab 2.1 "Berkeley socket programming" and Lab 3 "TFTP". Try to execute the socket codes provided and capture the packets by Wireshark. NO need to hand in anything.

    • Assignment AS#01 is announced (and will explain in the class on Nov 23/24). Due 23:59:59 on 6/7 Dec. You can modify the TCP server/client example code to finish your AS#01. (TFTP example code will be used in #AS02.)

  • 11/18: Invited talk on 11/23 10:30~12:00. Please come to the classroom if you can. It's our pleasure to have Ms. Cathy Hsu, who is an expert in FinTech, SaaS, and Cloud, sharing her experience of studying and working abroad.

    • This is a private talk that will only be provided on 11/23 in the classroom. We welcome Wednesday's students to join Tuesday's class.

  • 11/24: The explanation of AS#01 is here. https://youtu.be/4bjelcv7pcU

  • 12/6

    • Assignment AS#02 is announced (and will explain in the class on Dec 7/8). Due 23:59:59 on 21/22 Dec. You can modify the TFTP server/client example code to finish your AS#02.

    • Assignment AS#03 is announced. Due 23:59:59 on 4/5 Jan. It is our last assignment.

  • 12/10

    • Homework #05S is announced. Submit this homework before 23:59 on 14/15 Dec 2021.

    • Homework #06S is announced. Submit this homework before 23:59 on 20/21 Dec 2021.

  • 12/27

    • Bonus #01 is announced. Submit this homework before 23:59 on 4/5 Jan 2022.

    • Homework #07S is announced. Submit this homework before 23:59 on 4/5 Jan 2022.

    • Homework #08E is announced. Submit this homework before 23:59 on 10/11 Jan 2022.

  • 12/30

    • Homework #09E is announced. Submit this homework before 23:59 on 10/11 Jan 2022. (same as HW08E)

  • 12/30: Addition videos

  • 1/6: Schedule

    • 1/11 & 12 09:10-12:00 Final Exam.

    • 1/17 17:00 PM, TA will finish grading the final exam and you can check your exam result in the system.

    • 1/18 & 19 09:10-12:00 TA time at 商院 260521. To get your answer paper and review them.

    • 1/19 17:00 PM. TA will announce your final grade for this course.

Course Objectives & Learning Outcomes

The main objective includes but not limited to

  • Review the ideas of networking design

  • Understand the layered network architecture and the underlying technique

  • Understand and implement the basic network-based program

  • Be able to develop/evaluate a network structure for home and enterprise


The desired outcomes for students include

  • They know the design of the current computer network.

  • They see what hardware or software should be used in a complex computer network.

  • They can analyze the performance of a protocol theoretically and experimentally and recognize the trade-offs between different protocol designs.

  • They can write socket programs with network libraries.

  • They have experience working with network devices (by using their own PC or laptop).

  • They can manage a complex enterprise network.

  • They can monitor the network packet and analyze them.

  • They can identify network security problems and solve them.

Schedule (Fall 2021)

  1. 09/14-15: Syllabus; (1) Computer Networks and Internet

    • Please do NOT come to the classroom. Live streaming class start at 9:10.

  2. 09/21-22: No class. Mid-Autumn Festival.

  3. 09/28-29: (1) Computer Network and Internet

  4. 10/05-06: (2) Application Layer

  5. 10/12-13: (2) Application Layer

  6. 10/19-20: (2) Application Layer

  7. 10/26-27:(3) Transport Layer

  8. 11/02-03: (3) Transport Layer

  9. 11/09-10: Midterm.

  10. 11/16-17: (3) Transport Layer

    • Announce Term Assignment #1a.

      • Lab 2: Socket Programming, 1: "Berkeley socket programming". Please see the video and try one of the Python and Java examples. And capture the packets by Wireshark.

  11. 11/23-24: (3) Transport Layer + Talks

    • Announce Term Assignment #1b.

      • Lab 3: Wireshark: TFTP. See the video of TFTP and Endianness. Try to understand the TFTP code.

      • Assignment #AS01 announced.

    • Talk 10:30~12:00

      • We will invite an expert of FinTech, SaaS, and Cloud to share her experience of studying and working abroad.

  12. 11/30-12/01: (4) The Network Layer - Data

  13. 12/07-08: (4) The Network Layer - Data

    • Assignment #AS02 announced.

    • Assignment #AS03 announced.

  14. 12/14-15: (5) The Network Layer - Control

  15. 12/21-22: (6) The Link Layer

  16. 12/28-29: (7-1) Wireless Network

  17. 01/04-05: (7-2) Mobile Networks

  18. 01/11-12: Final.

Lab (Fall 2021)

  1. Network Commands

    1. L2: ipconfig /all or ifconfig /all, arp -a

    2. L3: route print, traceroute (Linux/Mac) or tracert (Windows), ping

    3. L4: netstat

    4. L7: nslookup, telnet, ftp

  2. Socket Programming

    1. Berkeley socket programming: Please google "Berkeley socket programming" for a better understanding of the codes or wiki "Berkeley sockets". Here is a tutorial video 'Berkeley Socket Programming'.

    2. HTTP server/client

    3. Multi-thread HTTP server/client

    4. TFTP server/client

  3. Wireshark

Grading Policy

  • Homework (44%): 6~8homework.

  • Term Assignment (4+6+6%): socket programming

  • Midterm and Final (40%)


100%: Grade, GPA

  • 100~90: A+, 4.3

  • 89~85: A, 4.0

  • 84~80: A-, 3.7

  • 79~77: B+, 3.3

  • 76~73: B. 3.0

  • 72~70: B-, 2.7

  • 69~67: C+, 2.3

  • 66~63: C, 2.0

  • 62~60: C-, 1.7

  • 59~57: D+, 1.3

  • 56~53: D, 1.0

  • 52~50: D-, 0.7

  • 49~0: F, 0.0

Homework

  • You must submit your homework via the homework submission system (http://hsiaom.nccu.edu.tw:8888/index/ ) before the due date/time. Late submission is NOT allowed unless reasonable excuses are emailed to the TA/lecture when homework is announced.

  • ONLY Portable Document Format (PDF) is allowed in the system (unless upload format is pre-designated); homework in any other format (which may increase TA's load) will be pending (possibly forever).

  • ID and password will be given in the class. Each student has an individual account in the system. Giving your password to your classmate is considered cheating.