ECE 463 Introduction to Computer Networks

                                                                 Fall 2009

 

 

Click here for slides from Lectures

 

Click here for information related to Labs

 

Course Newsgroup purdue.class.ece463

 


Instructor:

Sanjay Rao
Assistant Professor, ECE
Room 246 EE Building
sanjay AT ecn DOT purdue DOT edu

Instructor Office Hours:  Tue 1:30pm-2:30pm [246, EE Building], or by appointment.

                       Please see instructor for questions relating to lecture or homework.

                       Please see TA for questions relating to projects.

Teaching Fellow:

There is no official Teaching Assistant. However, the following student will help the class:

Mohammad Hajjat

hajjat AT purdue DOT edu

 

TA Office Hours:  

Mon 12pm-1pm (MSEE 190)

Wed 3pm-4pm (MSEE 190)

 

 

Lecture Location and Time
Tuesday and Thursday : 12:00-1:15pm, EE 226 

Course Description:

This is an introductory class in Computer Networking.  We will study the architecture, principles and design of

the Internet, truly one of the most amazing inventions of recent times. Topics covered will include MAC layer

design (Ethernet/802.11),  the IP protocol, routing algorithms, TCP, congestion control and reliability,  applications

such as HTTP and peer-to-peer networks. We will also discuss newer trends in networking such as multicasting,

quality of service, and security.


Required Prerequisite:

 ECE 264 (Advanced C Programming). This prerequisite will not be waived.

 The class will involve significant programming components.

 

CoRequisite (Recommended, but not required):

 ECE 302:     While the class is not heavy on math/probability,  a knowledge of basic probability is assumed. ECE 302 will  be waived with the provision that the student is responsible for  refreshing any basic probability material on her/his own.        

                                       

 

Course Materials:

Required books:

1.      Computer Networks - A Systems Approach, 4th Edition by Larry L. Peterson and Bruce S. Davie, Morgan Kaufmann, 2007.

Recommended books:

1.      UNIX Network Programming, Volume 1: Networking APIs: Sockets and XTI, 2nd ed by W. Richard Stevens

2.      Computer Networking: A Top Down Approach Featuring the Internet, Third Edition, J. Kurose and Keith Ross, Addison-Wesley, 2004, ISBN No. 0-321-22735-2.

 

 


Syllabus:

1.      Introduction and Overview                                          

2.      Data Link Layer  

1.      Ethernet/Token Ring/802.11

2.      Bridging

3.       IP Protocol

1.      Intra-Domain Routing

2.      Inter-Domain Routing

4.      TCP Protocols

1.      Reliable data delivery

2.      Congestion Control

5.      DNS

6.      Quality of Service  

7.      Multicast

8.      Peer-to-Peer Networks

1.      Gnutella, BitTorrent

9.      IPv6 and NATs

10.  Internet Security                

 

Course Outcomes and Assessment:

To pass the course, the student must demonstrate proficiency in  each of the four course outcomes listed.

        i.            an understanding of the fundamental principles underlying packet switching networks, and different Local Area Network technologies.  

Criteria:  Satisfactory Performance in Exam 1

      ii.            an ability to implement network protocols using network socket programming.

Critieria:  Satisfactory Performance in Project I

    iii.            an understanding of the basic concepts of routing.

Criteria:  Satisfactory Performance in Project II.

    iv.            an understanding of the key principles behind retransmission protocols, congestion control algorithms, and TCP

      Criteria:   Satisfactory Performance in TCP-related homework.

 

Grading: [Tentative]

Exams:                            55%

Mid Term           25%

Final                 30%

Programming Projects:          30%

Homeworks                         15%

 

 

 

IMPORTANT: To pass the class, irrespective of your performance in other areas, programming projects must be turned in and

                       must demonstrate satisfactory effort levels to meet outcomes (ii) and (iii).

                            .

 

Class Policies

 

Programming Projects

We will provide necessary background information for programming projects in class. Questions of a generic and conceptual nature will be answered. However, we will be unable to  debug your code, or provide detailed feedback on why your code does not work.

 

Homeworks:

·        Homeworks must be submitted at start of lecture on the day it is due.

·        Late submissions will incur a penalty. Entering class late will be treated as a late submission.

·        Homework must be submitted in hard copy – email submissions are unacceptable.

·        Homeworks must be neatly typed. Handwritten solutions are not acceptable.

 

l

Examinations:  Any conflict with the exam schedule need to be brought to the instructor’s attention in the first lecture. For emergencies that prevent attendance of a scheduled exam, you must present documentation confirming exceptional reasons beyond your control. You must also contact the instructor as soon as you become aware of the cause. The following are examples of insufficient reasons: non-emergency doctor visits, emergencies of persons other than immediate family members, job interviews scheduled after the first lecture.

 

Campus Emergencies: In the event of a major campus emergency, course requirements, deadlines and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances. In such an event, information will be provided through the class web-page and/or the class newsgroup.