CS 43 - Computer Networks - Swarthmore's CS - Swarthmore College [PDF]

The goal of this course is learn the standard protocols of modern networks and to learn how to interact with networks th

4 downloads 37 Views 60KB Size

Recommend Stories


Computer Science (CS)
This being human is a guest house. Every morning is a new arrival. A joy, a depression, a meanness,

cs
Don't ruin a good today by thinking about a bad yesterday. Let it go. Anonymous

CS-DX30 CS-DX25
What you seek is seeking you. Rumi

CS-N575D CS-N575
When you do things from your soul, you feel a river moving in you, a joy. Rumi

CS-N575D CS-N575
Don't be satisfied with stories, how things have gone with others. Unfold your own myth. Rumi

CS-301 CS-341 CS-346
When you talk, you are only repeating what you already know. But if you listen, you may learn something

CS-4 CS-8
Learn to light a candle in the darkest moments of someone’s life. Be the light that helps others see; i

cs
You have to expect things of yourself before you can do them. Michael Jordan

CS-375D CS-375
The butterfly counts not months but moments, and has time enough. Rabindranath Tagore

cs
In the end only three things matter: how much you loved, how gently you lived, and how gracefully you

Idea Transcript


CS 43: Computer Networks Fall 2012 Instructor: Adam Aviv Room: Kohlberg 228 Time: Mon/Wed/Fri 10:30AM - 11:20AM Lab: Science 256 Lab Time: Mon. 2:40PM - 4:10PM Office hours: Tue. 11-12PM and Tue. 1:30-2:30PM (and by appointment) Newsgroup: Piazza Newsgroup (by invitation)

Course Description This course is an introduction to the implementation and design of computer networks. The goal of this course is learn the standard protocols of modern networks and to learn how to interact with networks through standard programming practices. We will cover the entire network stack: from physical and link layer properties; (inter-) network and transport protocols; application and socket programming; and network security. The programming assignments in this course will be a mix of C and Python programming.

Course Goals/Promisses By the end of the course, you will have developed the following knowledge and skills Understand the basic principals that underlie modern networking Strong comprehension of the protocols and networking algorithms that comprise the network protocol stack A detailed understanding of the mechanics, maintenice, and policies of the Internet Develop good programming practices for accessing networks through operating low level and a high level An introduction to security and privacy issues enabled by modern computer networks Course textbook: Required Text: Computer Networks: A Top-Down Approach (6th Edition) by Kurose & Ross Additional (non-required) Reading: Computer Networks and Internets (5th Edition) by Douglas E. Comer Additional Resource: Prof. Newhall has many useful links about C programming and Makefiles, which can be found here . Course pre-requisites: CS 35, Data Structures and Algorithms CS 45, Operating Systems (recommended, but not required)

Grading Midterms: 20% (10% for midterm 1, and 10% for midterm 2) Final: 25% Programming/Lab Assignments: 40% (~8-10 labs, some labs may be worth more than others) Homework: 10% (~10 homeworks) Class and Lab Participation: 5% Lab Policy All assignments are due at the time and date specified on the lab write-up. Lab submissions will be done electronically, and I will provide more instruction later. I will allow for 3 late-days to be used as you see fit throughout the semester. When working in groups, all members of the group must have a late day available to use a late day. There will be no further extensions once your late days are used up and absolutely no exceptions. Lab's are graded on a 10 point letter/scale: 10:A+, 9:A, 8:A-, 7:B+, 6:B, 5:B-, 4:C+, 3:C, 2:C-, 1:D, 0:F. Each part of a lab receives a separate letter grade. Group labs will receive a single letter grade for the group, as well as individual grades for each group members. Extra credits on lab is normalized to the 10 point scale; for example, receiving 10 points of extra credit on a lab can shift your letter grade at most one point on the scale (from a B+ to an A-). Extra credit may increase your grade above an A+/10. Homework Policy There will be weekly homework assignments. Questions will be selected from the book or other sources and posted to Piazza and linked here. Home work from the previous week is due (in hard copy) at the beginning of class each Monday. Late homework will not be accepted, no exceptions Homework will be graded on a 3 point scale, indicated by the check mark. Check+ is worth 3 points, Check is worth 2 point, and a Check- is worth 1 point. If you fail to submit a homework, you will receive 0 points. Participation Policy Your participation grade will be based on class and lab attendance, as well as participating in the online discussion on Piazza. I do not take attendance, but I will notice if you are not showing up to class/lab.

Academic Integrity Bellow is the academic integrity statement generally used in CS courses, source: Ameet Soni Academic honesty is required in all work you submit to be graded. With the exception of your lab partner on approved lab assignments, you may not submit work done with (or by) someone else, or examine or use work done by others to complete your own work. Your code should never be shared with anyone; you may not examine or use code belonging to someone else, nor may you let anyone else look at or make a copy of your code. This includes sharing solutions after the due date of the assignment. All code you submit must be your own with the following permissible exceptions: code distributed in class, code found in the course text book, and code worked on with an assigned partner. In these cases, you should always include detailed comments that indicates on which parts of the assignment you received help, and what your sources were. Discussing ideas and approaches to problems with others on a general level is fine (in fact, we encourage you to discuss general strategies with each other), but you should never read anyone else's code or let anyone else read your code. You may discuss assignment specifications and requirements with others in the class to be sure you understand the problem. In addition, you are allowed to work with others to help learn the course material. However, with the exception of your lab partner, you may not work with others on your assignments in any capacity. ``It is the opinion of the faculty that for an intentional first offense, failure in the course is normally appropriate. Suspension for a semester or deprivation of the degree in that year may also be appropriate when warranted by the seriousness of the offense.'' - Swarthmore College Bulletin (2008-2009, Section 7.1.2) Please see me if there are any questions about what is permissable

Class Schedule This schedule is subject to change without notice, and all dates should be considered tentative.

Date Week 1 (Sept. 3)

Topics Aministrivia and Intro to Modern Networking

Readings Chapter 1 in K&R Brief History of the Internet

Homework Homework Posted to Piazza (#homework1) Due 9/10 to Science 239

Labs Build a Network [lab] Due 9/11 to Science 239

Unit 1: Physical and Link Layer Week 2 (Sept 10) Week 3 (Sept 17)

Physical Layer No Class 9/10 and 9/12 Error Correction/Detection Multiple-Access Links

Chapter 5.1 in K&R

Chapter 5.2 in K&R

Homework Posted to Piazza (#homework2) Due 9/24 in Class

C Programming and Parsing Network Packets [lab] Part 1: Due 9/21 at 11:59pm Part 2: Due 9/25 at 11:59pm Implementing Ping and Traceroute [docs] [lab3.pdf] Part 0 Due 9/24 in Lab

Week 4 (Sept 24)

Multi-Access Links (cont) No Class 9/26 (Yom Kippur)

Chapter 5.3 in K&R

Homework posted to Piazza (#homework3) Due 10/1 in Class

Week 5 (Oct 1)

LANs and Link-Layer Switching ARP and Ethernet Internet Basics and History

Chapter 5.4 in K&R Chapter 4.1 in K&R

Homework posted to Piazza (#homework4) Due 10/8 in Class Unit 2: Network/Internet Layer

Chapter 4.2 in K&R

Week 6 (Oct 8)

Reading Network Neutrality Discussion Intro to (inter-)Network Layer Datagram vs. Virtual Circuit Networks 99% Invisible: Q2 Internet Regulation/Censorship and Democracy Now: Lessig Interview Network Neutrality Study Session 10/9 at 5pm Location Chpt. 5 of Code 2.0 by Lawrence Lessig TBA Network Neutrality, Broadband Discrimination by Tim Wu

For Friday, two paragraphs on net-neutrality. Info on Piazza (#netneutrality)

Lab 3 Part 1 Due 10/8 at 11:59pm

Homework posted to Piazza (#homework5)

Lab 3 Part 2 Due 10/26 at 11:59pm

Midterm #1 Oct 10. Session 1: 530-7pm in Science 183. Session 2: 7-830pm in Science 183 Fall Break (Oct 15) Week 7 (Oct 22)

Week 8 (Oct 29)

Routing Tables Routing algorithms

No Class Monday (Sandy) Distance Vector Intra-AS Routing (RIP,OSPF)

Chapter 4.2 in K&R Chapter 4.5 in K&R

Socket Programming: netcat_part [lab4.pdf] [netcat_part.tgz] Chapter 4.5 in K&R

Homework posted to (#homework6) Additional Socket Programming Docs: [ UNP-chapter3.pdf] [ UNPchapter4.pdf] Unit 3: Transport/Session Layer Lab 4 Due 11/8 at 11:59pm

Week 9 (Nov 9)

Inter-AS Routing (BGP) Transport Layer Port Multiplexing Reliable Data Transfer

Chapter 3.3 and 3.4 in K&R

No Homework this week work on lab and study

Week 10 (Nov 12)

RDT: Go-Back-N, Selective Repeat TCP: Connection Cycle

Chapter 3.5 in K&R

No Homework this week work on lab and study for midterm

Week 11 (Nov 19)

TCP: Reliable Data Transport TCP: Flow Control Basics of Congestion Control

No Homework this week Have a happy Thanksgiving!

BitTorrent Lab [lab5.pdf] [bt_devel.tgz] [torrent_samples.tgz]

Lab 5 Milestone Meeting

Midterm #2 (OUT: Nov 19, DUE: Nov 21) Thanksgiving Break (Nov 21) Unit 4: Application Layer and Network Security Week 12 (Nov 26)

TCP: Congestion Control DNS

Week 13 (Dec 3)

Cryptography Public Key Crypto and PKI Anonymous Networks

Lab 5 Due 12/7 at 11:59pm

Week 14 (Dec 10)

Firewalls and Intrusion Detection

No lab this week

Chapter 2.1 and 2.2 in K&R

Review Session Wednesday at 5pm Final Exam, Fri. Dec. 14 from 9am to 12pm in Kohl. 228

Smile Life

When life gives you a hundred reasons to cry, show life that you have a thousand reasons to smile

Get in touch

© Copyright 2015 - 2024 PDFFOX.COM - All rights reserved.