CDA 4504 -- Introduction to Computer Networks



Similar documents
CS 5480 Computer Networks

CMPSCI 453 Computer Networking. Professor V. Arun Department of Computer Science University of Massachusetts Amherst

CPSC 4550 Computer Networks Fall 2012, Section 0

Address Resolution Protocol (ARP)

;. ' ;. - ' Computer Networking. ^4 Top-Down Approach. James F. Kurose. Keith W. Ross. Polytechnic University, Brooklyn PEARSON.

Chapter 1: Introduction

IT4405 Computer Networks (Compulsory)

Raritan Valley Community College Academic Course Outline. CISY Advanced Computer Networking

CSE 3214: Computer Network Protocols and Applications

CSE 3461 / 5461: Computer Networking & Internet Technologies

San José State University College of Engineering/Computer Engineering Department CMPE 206, Computer Network Design, Section 1, Fall 2015

CALIFORNIA STATE UNIVERSITY CHANNEL ISLANDS COURSE MODIFICATION PROPOSAL

Chapter 1: Introduction

Prefix COMP Course# 429 Title Computer Networks Units (3) 3 hours lecture per week 3 hours lecture per week

CSET 4750 Computer Networks and Data Communications (4 semester credit hours) CSET Required IT Required

Communications and Computer Networks

Computer Networks. A Top-Down Approach. Behrouz A. Forouzan. and. Firouz Mosharraf. \Connect Mc \ Learn. Hill

How To Understand And Understand Network Theory

CSci 4211: Data Communications and Computer Networks. Time: Tuesday and Thursday 8:15 to 9:30 am Location: Phyics 170 Spring 2015, 3 Credits

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Instructor: Michael J. May. Semester 1 of 5774

Department of Electrical Engineering and Computer Science College of Engineering. Course Description

NEW YORK INSTITUTE OF TECHNOLOGY School of Engineering and Technology Department of Computer Science Old Westbury Campus

Communication Networks MAP-TELE 2012/13

CSE 473s Introduction to Computer Networks

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Lecture 28: Internet Protocols

CSMC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. January 11 CMSC417 Set 1 1

Introduction. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

In what follows, we discuss the course overview, grading, books, weekly schedule, laboratory assignments and group projects.

Transport and Network Layer

CSCD 330 Network Programming Winter Lecture 1 - Course Details

COS 461: Computer Networks

BCIS BUSINESS DATA COMMUNICATIONS and NETWORKING Mr. Cengiz Capan -- Spring 2016

Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006

Ethernet. Ethernet. Network Devices

CSC4290: Introduction to Computer Networking. Hongwei Zhang

1 Data information is sent onto the network cable using which of the following? A Communication protocol B Data packet

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Specialized Programme on Internetworking Design and LAN WAN Administration

Computer Networks and the Internet

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

City University of Hong Kong. Information on a Course offered by Department of Information Systems with effect from Semester B in 2013 / 2014

B.Sc. (Computer Science) First Year

Prerequisites: Fundamentals of Networking, Knowledge of Operating Systems

Kommunikationssysteme [KS]

Department of Computer & Information Sciences. CSCI-445: Computer and Network Security Syllabus

Network Programming TDC 561

ICTTEN8195B Evaluate and apply network security

Module 2 Overview of Computer Networks

The OSI and TCP/IP Models. Lesson 2

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, Lecturer: Kartik Krishnan Lecture 1-3

You will work in groups of two on the labs. It is OK to talk to others and help each other in the lab.

CS335 Sample Questions for Exam #2

CSCI-1680 :: Computer Networks

Terms VON. VoIP LAN WAN CODEC

Advanced Higher Computing. Computer Networks. Homework Sheets

This course has been retired. View the schedule of current <a href=

Network Security 網 路 安 全. Lecture 1 February 20, 2012 洪 國 寶

Basic Internet programming Formalities. Hands-on tools for internet programming

Chapter 5. Data Communication And Internet Technology

Overview of Computer Networks

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components

finger, ftp, host, hostname, mesg, rcp, rlogin, rsh, scp, sftp, slogin, ssh, talk, telnet, users, w, walla, who, write,...

3.1 TELECOMMUNICATIONS, NETWORKS AND THE INTERNET

technology standards and protocol for ip telephony solutions

What is this Course All About

Computer Networks CS321

The WestNet Advantage: -- Textbooks, ebooks, ecourses -- Instructor Resourse Center -- Student Resource Center

Course Title: ITAP 2431: Network Management. Semester Credit Hours: 4 (3,1)

Module 1 Introduction CS755! 1-1!

Zarządzanie sieciami telekomunikacyjnymi

Lecture 1: Course Introduction" CSE 222A: Computer Communication Networks Alex C. Snoeren

Rivier College Syllabus CS575A Advanced Networks

How To Understand The Internet From A Telephone To A Computer (For A Computer)

Data Communication Networks Introduction

CS 218 Advanced Computer Networks Quarter: Fall 2003 Course ID : CS218 Class hour : MW 8:00-10:00 pm Classroom : BH 5273

COMP252: Systems Administration and Networking Online SYLLABUS COURSE DESCRIPTION OBJECTIVES

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)

How To Use A Network Over The Internet (Networking) With A Network (Netware) And A Network On A Computer (Network)

Computer Network Architecture

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

TCP/IP Programming. Joel Snyder, Opus1 Geoff Bryant, Process Software

Computer Networks - Xarxes de Computadors

Tele3119 Trusted Networks Course Outline 2013

New York City College of Technology Computer Systems Technology Department

CSE 571S: Network Security CSE571S

Principles of Network Applications. Dr. Philip Cannata

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Network Models and Protocols

Hands on VoIP. Content. Tel +44 (0) Introduction

Session Hijacking Exploiting TCP, UDP and HTTP Sessions

ICS 153 Introduction to Computer Networks. Inst: Chris Davison

Introduction to Networks and the Internet

Lecture 1: Course Introduction"

The OSI Model: Understanding the Seven Layers of Computer Networks

Architecture and Performance of the Internet

CS 1361-D10: Computer Science I

CSE 571S: Network Security CSE571S

Transcription:

CDA 4504 -- Introduction to Computer Networks [Description] [Prereqs] [Textbooks] [Contents] [Slides] [Assignments] [Grading] [Admin Info] [Submission] [Academic Integrity] Course Description and Goals Pre-requisites In the modern world, Internet is seeping into every aspect of day-to-day life. Thus, it has become imperative for every student majoring in Computer Science to at least have a basic understanding of the `nuts and bolts' that drive today's Internet. After this course, students will know the basic fundamentals of how the Internet works and gain elementary network programming skills. They will also become capable of understanding more advanced material in this area. Unlike the traditional computer networking courses, this course is organized in a top-down manner--that is, it begins at the application layer and works its way down toward the physical layer. It places emphasis on the application layer, a high "growth area" of computer networking in which most recent revolutions in computer networking--including the Web, audio and video streaming, and content distribution--have taken place. Once students understand how applications work -- such as the Web, FTP or Email which most students use on a daily basis -- they can then easily understand the network services needed to support these applications. They will also learn how easy it is to create their own network applications and application-level protocols. Students will get an early exposure to the notions of application programming interfaces (APIs), service models, and protocols--important concepts that resurface in all of the subsequent layers. Bulletin description: CDA 4504: Introduction to Computer Networks (3). Prerequisites: COP 4530; Contents: Circuit switched and packet switched networks, protocols, protocol layering; application layer, socket programming; transport layer, multiplexing and demultiplexing, UDP, TCP, reliability, flow control, congestion control; network layer, routing protocols, switching technologies, multicast, mobility; link layer, local area networks, error detection and correction; wireless networks; multimedia networking; network security; network management. COP4530 - Data Structures and Algorithms o This course requires that the student be proficient with either C/C++ or Java. A student who has programmed only in C/C++ and not in Java should not have any difficulty following the application programming material. Such students can pick up the required proficiency in Java as the course progresses. Students also need to have a user-level knowledge of Unix, and be comfortable working in a Unix environment. If you have doubts whether you satisfy the course pre-requisites, send me an e-mail at kartik@cs.fsu.edu.

Textbooks Required Textbook : Computer Networking: A Top-Down Approach Featuring the Internet (3rd Edition) by James F. Kurose, Keith Ross. Publisher: Pearson Addison Wesley; 3rd edition ISBN: 0321227352 Recommended Reference Textbook : Computer Networks (4th Edition) by Andrew S. Tanenbaum. Publisher: Prentice Hall, ISBN: 0130661023 Course Contents The course outline will closely follow the material presented in book by Kurose and Ross. Supplemental material may be included now and then from the book by Tanenbaum. Additionally, hands-on online exercises from the book website for Kurose and Ross will also supplement the class lectures. 1. Computer Networks and the Internet o What Is the Internet? o Packet-Switched Networks o Protocol Layers and Their Service Models 2. Application Layer o Principles of Application Layer Protocols o The Web and HTTP o File Transfer: FTP o Electronic Mail (SMTP, MIME) o DNS--The Internet's Directory Service o Socket Programming with TCP/UDP Building a Web Server Content Distribution 3. Transport Layer o Transport-Layer Services o Multiplexing and Demultiplexing o Connectionless Transport: UDP o Principles of Reliable Data Transfer o Connection-Oriented Transport: TCP o Principles of Congestion Control (mainly TCP) 4. Network Layer and Routing o Network Service Models o Routing Principles o The Internet Protocol (IP) o Routing in the Internet o What's Inside a Router? o IPv6 o Multicast Routing o Mobility and the Network Layer 5. Link Layer and Local Area Networks

o Data Link Layer Services o Error-Detection and -Correction Techniques o Multiple Access Protocols o LAN Addresses and ARP o Ethernet o Hubs, Bridges, and Switches o Wireless Links o PPP: The Point-to-Point Protocol o Asynchronous Transfer Mode (ATM) o Frame Relay (Additional material if time permits) 6. Multimedia Networking o Streaming Audio and Video o Internet Telephony o Quality of Service (Integrated and Differentiated Services) 7. Security in Computer Networks o What is network security? o Principles of cryptography o Attacks and Counter-measures 8. Network Management o What Is Network Management? o The Infrastructure for Network Management o The Internet-Standard Management Framework Lecture Slides TBA Assignments TBA Evaluation Criteria There will be a final, one midterm, and four assignments. For the fourth programming assignment, students will work in two-person teams on a substantial implementation project. Final Exam 39% Midterm Exams 28% Assignments 33% Administrative Information Class Hours : TBA Location : TBA Instructor :Kartik Gopalan Location : Room 164, Love Bldg. Instructor's Office Hours: 1:00PM to 3:00PM Mon-Wed Students with disabilities :

If you have a physical, psychological, medical or learning disability that may impact on your ability to carry out assigned course work, I would urge that you contact the Student Disability Resource Center (SDRC), 97 Woodward Avenue South, Florida State University, Tallahassee, FL 32306-4167, (850) 644-9566 (voice), (850) 644-8504 (TDD), E-mail:sdrc@admin.fsu.edu. Kindly bring a letter to me from the SDRC indicating your need for academic accommodations within the first week of class. The syllabus and other class materials can be made available in alternative format upon request. Submission Instructions To submit an assignment. Use only the CS department machines -- diablo or shell -- for submission. Put all of your submission files (code / documentation) into one directory with a unique name. Use the handin script in /home/courses/cen4516/bin directory to submit your files as follows. o /home/courses/cen4516/bin/handin <directory_name> Check the messages to see if your submission went through successfully. This is important. If there is a failure, please contact the instructor. Files to be submitted with programming assignments. You need to submit all your code - *.c, *.cpp, *.java and *.h files. DO NOT include object files (.o), class files (.class), or any executable files. You must also include a Makefile. Following links can help you write Makefiles. o C Makefiles o Java Makefiles Keep the directory structure simple (in case you have sub-directories). You must include a README file that gives the following information o The names and email addresses of all your group members o The files in your submission and what the contents of each file are (in one lineper-file). o Whether your code was tested on Linux or Solaris machines. o Contribution of each group member in the assignment. o How to execute your program(s). o Briefly describe the problems or issues you are facing or anything special about your submission that the TA should take note of. This is the place where you can highlight anything special you have done in the assignment (but please keep it short). Academic Integrity Remember that the goal of programming assignments and homeworks is to enhance your analysis, reasoning, and programming skills. Indulging in academic dishonesty defeats this purpose apart from being unfair to other students. In case you have any questions about whether an act of collaboration may be construed as academic dishonesty, please clarify the issue with the instructor before you collaborate.

All students should follow FSU Academic Honor Code. You might be assigned a grade of 'F', if you are found to have indulged in academic dishonesty. It is understandable that discussing a problem with other people may lead to more insight into the issues involved. Thus discussing a problem in assignments/homeworks with other people is fine. However, discussing the solutions to the problem is NOT acceptable. Every student must write his/her own code and homework. Showing your code or homework to members of other teams, giving it to them, or making it accessible to them (e.g., by making the files world-readable) is academic dishonesty. You are responsible for ensuring that your code/documentation/results are adequately protected and not accessible to other teams. Change permissions of your working directory to 0700 ('chmod 0700 <directory>). Consulting code from a textbook, or from the Internet, in order to understand specific aspects of your assignment is fine. However, copying entire code or large parts of such code will be considered academic dishonesty. If you borrow small parts of code from these sources, you must acknowledge this in your submission and additionally you must clearly understand and be able to explain how the code works.