Download cis427

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
COURSE DESCRIPTION
Department and Course
Number
Course
Title
CIS 427
Computer Networks and Distributed
Processing
Course
Coordinator
Total
Credits
Jinhua Guo
4
Current Catalog Description
This course studies general principles and concepts of computer networks and the
services built on top of them. Main topics include: OSI protocol stack, communication
hardware (transmission media and data transmission and encoding), Physical and Data
Link Layers, Wide Area Networks (packet/circuit switching and routing technologies),
Local Area Networks, Wireless communication and networks, the client-server model
and Internet Protocols (IP, TCP, UDP). Network services such as DNS, HTTP, and
SMTP are also covered, in addition to a brief overview of congestion control, network
security, and distributed systems.
Textbook
Peterson L. and Davie B., Morgan Kaufmann, Computer Networks: A Systems Approach
(3rd Ed)
References
 Tanenbaum A., . Prentice-Hall, Computer Networks (4th Ed)
 Kurose & Rose, Pearson Addison Wesley, Computer Networking: A Top-Down
Approach Featuring the Internet (3rd Ed)
Course Goals
To provide students with the understanding of the concepts behind network
communications, the knowledge of related applications and exposure to the most recent
trends in the field.
Prerequisites by Topic
1. Students are assumed to have taken the Data structures and Algorithm analysis
course, the Probability and Statistics course as well as the Computer Organization
and Assembly Language course prior to this course.
2. Ability to understand and manipulate binary numbers
3. Ability to understand and use data structures such as queues and graphs and
understand related algorithms
4. Ability to solve simple algebraic equations
5. Ability to write and document programs that involve:
- iterations (while and for loops)
- I/O (input from file or keyboard and outputs to the screen or another
file)
-
functions/procedures and parameter passing (by value and by
reference)
use of arrays/lists and queues
Major Topics Covered in the Course
1. Introduction (2 hours)
2. Performance Metrics (2 hours)
3. OSI model and Internet Architecture (2 hours)**
4. Transmission Media (2 hour) **
5. Data Encoding and Framing (2 hours) ++
6. Error Detection (2 hours) ++
7. Reliable Transmission, Sliding Window Algorithm (2 hours) ++
8. Ethernet (2 hours)**
9. Token Rings, FDDI (2 hours)**
10. Wireless LAN and Bluetooth (2 hours)**
11. Circuit Switching (2 hours)**
12. Packet Switching (3 hours)**
13. Examples of Packet Switching Networks: Bridges and ATM (2 hours)**
14. Internet Protocol (4 hours)
15. Routing Protocols (4 hours) ++
16. IPv6 and NAT (2 hour)
17. Transport Protocol (4 hours)
18. DNS (2 hour)
19. Socket Programming (5 hours)
20. Network Security (2 hours) ++
21. Distributed Systems (2 hours)**
22. Recent Trends/Examples (2 hours) **
23. Exams (6 hours)
**
- topics that emphasize computer architecture
- topics relate to CS theory
++
Laboratory projects
1- Use a socket library to implement a simple client-server application. This will
involve applications such as a simple file or database server that is contacted by
multiple clients. Since the server is not multi-threaded, students should observe
and understand the need for multi-threading when multiple clients are involved. (2
weeks)
2- Use a socket library and a thread library to implement multi-threaded client-server
applications, in addition to understanding and observing the difference between
UDP and TCP, in terms of performance and reliability. This will involve
transferring files of different sizes and different types (e.g., binary, text and image
files), between different pairs of client-server combinations. The student should
then compare UDP and TCP in terms of speed of transmission and whether the
files being transferred have errors or not (3 weeks)
3- Be exposed to network services such as DNS and SMTP, as well as routing table
information through tools such as netstat, traceroute,and ping (2 week)
Estimate CSAB Category Content
CORE
Data Structures
(topics 7, 14, 16, 0.5
18, 19)
ADVANCED
0.5
Algorithms
Software Design 1.0
(topics 2, 5, 6 ,
7, 13,15, 17, 20)
CORE
Computer Organization and
Architecture
1.0
(topics 1, 3, 4, 8, 9, 10, 11,
12, 13, 21, 22)
Concepts of Programming
Languages
(topics 19, 21)
ADVANCED
0.5
0.5
Oral and Written Communications
Every student is required to submit at least 3 written reports (not including exams,
tests, quizzes, or commented programs) of typically 4 pages and to make 1 oral
presentation of typically 15 minutes duration. Include only material that is graded
for grammar, spelling, style, and so forth, as well as for technical content,
completeness, and accuracy.
Social and Ethical Issues
1. Network Security (2 hours) – exam question and assignments
Theoretical Content
1. Data Structures and Algorithm (2 hours)
2. Computer Architecture and Assembly (1 hour)
3. Probability and Statistics (1 hour)
Problem Analysis
1. Given a sequence of bits, show the result of applying different encoding
techniques.
2. Given the maximum bandwidth, round trip latency (RTT), and maximum segment
lifetime, determine the size of advertise window and sequence number space for
TCP-like reliable byte-stream protocol.
3. Understanding of the different algorithms used by existing routing strategies.
Solution Design
1. Given the requirements of an application, design and implement a solution
using socket library functions