Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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