Skip to content

Latest commit

 

History

History
301 lines (243 loc) · 11.7 KB

syllabus.md

File metadata and controls

301 lines (243 loc) · 11.7 KB

Course Description

An introduction to data communications techniques, particularly as applied to computer networks. Physical media and devices, data link and network protocols, and other data communications topics will be studied.

Contact Information

Instructor: Nathan Bowman

Email: [email protected]

Office: MAK D-2-212

If you are not sure what office hours are or whether you should come to my office hours, you can read the office hour description.

Office Hours:

  • Mondays 1 - 2 PM
  • Tuesdays 10 - 11 AM
  • Fridays 10 - 11 AM

I am also happy to schedule additional meetings outside of office hours.

The best way to contact me about the course is through Piazza. I also regularly monitor the channel for this course on the unofficial GVSU Discord, though I will not post official announcements there and you are not responsible for monitoring it.

Course Structure

The course will be run in a primarily "flipped classroom" style. The majority of course material will be delivered via videos. During the in-person sections,

  • students will complete activities, generally in small groups
  • students can ask questions about topics in the videos that they would like clarified or explained in a different way
  • I will give alternative explanations for some of the more difficult topics

The decision to run the course this way is based on feedback from previous students in my courses regarding their preferred delivery format. Course feedback has indicated that students felt strongly that watching the lecture videos aided in their learning and that activities were a better use of class time.

Attendance and participation is expected, but I will not be keeping track of which days students are present or assigning a grade for participation. However, I reserve the right to make attendance part of the grading scheme and to require short pre-lecture quizzes later in the semester if participation in the in-person meetings is lacking. (I would notify you via Piazza if I were to make any changes of this sort, and the changes would not apply retroactively.)

You are very unlikely to succeed in this course if you do not both watch the lecture videos attentively and come to class and actively participate.

Course Meetings

This course meets three times per week:

  • Section 1: 2 - 2:50 PM Mondays, Wednesdays, and Fridays (MAK B-1-118)
  • Section 2: 11 - 11:50 AM Mondays, Wednesdays, and Fridays (MAK D-1-117)

There is a lab once per week:

  • Section 1: 1 - 2:50 PM Tuesdays (MAK A-1-167)
  • Section 2: 3 - 4:50 PM Tuesdays (MAK A-1-167)

Sickness Policies

If you are sick, please do not come to class, lab, or office hours. Let me know, and we will figure out a way for you to make up any missed work. Although missing class frequently is not a good idea, as long as you follow the lecture videos and complete the posted activities, missing a few times should not severly hamper your learning.

Course Objectives

After successful completion of this course, students will be able to:

  • Explain layered communication protocol architecture
  • Describe the operation of various routing protocols
  • Compare reliable and an unreliable data transfer protocols
  • Develop distributed network application using the Sockets interface
  • Apply various security measures in networks

Text

Computer Networking: A Top-Down Approach, 8th Edition; Kurose & Ross; Pearson, 2021

Prerequisites

  • CIS 241 System-level Programming
  • CIS major, CIS minor, or EGR

Grading Policy

Homework Projects Labs Midterm Final
10% 45% 15% 15% 15%
Letter grade Min. Percent
A 94%
A- 90%
B+ 87%
B 84%
B- 80%
C+ 77%
C 74%
C- 70%
D+ 67%
D 60%
F <60%

The grading for homework and labs in this course will done somewhat differently from what you may be used to. Essentially, you keep working on these until you get the correct answer, but no partial credit is given. Instead, I will provide you with helpful feedback about any errors in your submission and allow you to resubmit without penalty but at a limited rate. More details about how this works are given below.

This grading scheme is based on the ideas of "mastery grading," which you may have seen in various forms in other CS and Math classes. The benefits to you are that (1) you have the opportunity to keep trying until you learn the material, and (2) your grade is likely to be higher than it would be in a standard scheme if you are willing to put in the work. The drawback to you is that you cannot coast by a difficult topic on partial credit -- you need to keep going until you can demonstrate that you understand.

Grading for projects will follow a more standard scheme, though one retry for each project will be allowed as described below.

Grading for exams will follow the more standard "one-and-done" scheme where you submit once and receive a grade based on how well your work meets the specifications.

Homework grading

First, it is important to note that all homework scores are either 100% or 0%. If you answer five out of six questions correctly, your score is still 0% until you resubmit and get all questions correct.

In homework assignments, all of the questions will be automatically graded. You may attempt any problem as many times as needed until you earn full credit for that problem.

Each assignment will have a suggested deadline that you should meet in order to keep up in the course. However, you can submit any assignment without penalty until the day of the relevant exam covering that material (which I will make clear for each assignment when it is posted). For example, the first assignment should be completed in the first week or two of class, but if it is finished any time before the first midterm, you will receive full credit.

Lab grading

Similar to the homework, all lab scores are either 100% or 0%. Unlike the homework, most of the labs will not have any autograded portion. Instead, you will complete all questions on the labs and submit the assignment as a whole when you are ready for it to be graded by me. At that point, I will either score the lab at 100% complete or give you feedback about mistakes that you made. If you do not score 100%, you will be allowed to resubmit as many times as needed as described below.

The only limitation to resubmitting a lab is that, due to the limitations of manual grading, you are limited to two lab submissions per week. For example, you may resubmit Lab 1 in the same week you submit Lab 2. However, you may not resubmit both Labs 1 and 2 in the same week in which you submit Lab 3. A week starts at 12:00 AM Monday morning and ends at 11:59 PM Sunday night.

You may not turn in a partial lab report to get feedback on just the part that you have finished so far. If any of the questions are skipped, answered with "I don't know," or if I determine that any provided answer does not represent a good-faith effort to solve the problem, then I will not give feedback on any part of the lab report.

To submit a lab report or request regrading of an updated lab report, simply upload your newest answers to Prairielearn and add an X to the relevant place in the "grade me" spreadsheet. I will check this spreadsheet at the end of every week, grade as requested, and clear it for the upcoming week.

Project grading

Projects do not follow the "0 or 100" scheme of homework and labs. Projects will be assigned a grade according to their respective rubrics.

Each project will have a due date that it must be completed by, and no late work will be accepted. After I announce feedback on the projects, you will be allowed to resubmit one time within 7 days of receiving your feedback. However, the maximum score for any resubmission is 90%.

After the first resubmission (or the passing of the 7-day deadline), no further resubmissions will be allowed.

Important Dates

Deadline to drop with a "W" grade: March 10, 2023, before 5 pm.

Midterm Exam: Tuesday, February 28

Final Exam: TBD

Course Policies

  • All gradable work (homework, projects, etc.) must be submitted to Prairielearn.
  • All projects are due at 11:59 PM EST on the due date.
  • No late projects will be accepted. Please be sure to plan ahead, and do not wait until the last minute to submit. In cases of extreme emergency, such as an accident or illness resulting in hospitalization, please contact me and I will be reasonable.
  • Homework assignments and projects are to be completed individually unless directed otherwise. You may discuss the assignments with other students, but every student is expected to submit his or her own work. If you find yourself emailing code or written solutions to another student, even "for reference", you are violating this policy.
  • Labs are to be completed in pairs.
  • Exams will not be rescheduled unless in extreme emergencies. If you have a question about this, please ask me. The exception to this is if an exam falls during a religious observence that would not allow you to participate in the exam. Rescheduling is perfectly fine in this case, but please let me know as soon as possible if this will be an issue.
  • You are not under any circumstances allowed to use code that is written by others specifically for you or specifically for a CIS 457 assignment. In particular, you may not use code written by ChatGPT or similar software. On projects, you may use existing code on sites like Stack Overflow to address a specific, well-defined problem that represents a small portion of the overall assignment. When using code from such resources, you must cite the source.
  • You may not use ChatGPT or similar software to help complete any assignment, lab report, or exam question in this course.
  • This course is subject to the GVSU policies listed at http://www.gvsu.edu/coursepolicies/.

Academic Honesty

All students are expected to adhere to the academic honesty standards set forth by Grand Valley State University. In addition, students in this course are expected to adhere to the academic honesty guidelines as set forth by the School of Computing and Information Systems, the details of which can be found at http://www.cis.gvsu.edu/Academics/Honesty/. Note that for paired or group assignments, it is expected that every member of the group contributes work toward the final product, and each group member is responsible for the work turned in by the group as a whole.

Plagiarism is not tolerated and will result in a grade of 0 for the assignment in question and additional penalties as determined by the instructor. Code or ideas taken from another source must be cited. Violations will be reported to OSCCR and handled per university policy.

Inclusion and Equity

As an instructor, I will strive to create an equitable and inclusive learning environment in our class. To that end, please reach out to me if there is anything in my behavior or in the classroom environment that makes you feel unwelcome or unvalued. I will seek to keep any information you share with me in this regard confidential to the extent that it is legally possible to do so.

Special Assistance

If there is any student in this class who has special needs because of learning, physical or other disability, please contact me and Disability Support Resources (DSR) at 616.331.2490.