New Bulgarian University - Sofia

 

NETB435 Системно Интернет програмиране (на английски език)

NETB435 Internet System Programming 

 

Course Objectives

Writing software for Internet becomes very important with the growing network market. Writing good Internet software represents a challenge to overcome the software engineering problems and the problems concerning network protocols and distributed systems. The life cycle of a communication program and especially its testing becomes more complicating due to the non deterministic behavior of the underlying network and of the interacting computing systems. Furthermore, the communicating programs should be able to use common types of data structures in spite of the separate address spaces. The goal of this course is to provide a solid background in the design, analysis and testing of the major classes of Internet application protocols and cooperation mechanisms, in a popular environment (UNIX). Students who have completed the course will be able to develop their own Internet application programs (in C) and to test them.

Course Overview

The course considers the basic Application Programming Interfaces APIs for UNIX. The client-server paradigm and the socket interface used by application programs to access TCP/IP protocol suite are introduced. Server algorithms are discussed in depth and evaluated based on the choice of concurrency and transport (e.g. connection-oriented TCP or connectionless UDP). Remote procedure calls are studied in the context of the client-server model and the generation of distributed programs. The TELNET protocol is chosen to provide an example for developing client-server software with a complex protocol. Throughout the course special attention is given to software engineering aspects in designing communication protocols.

Course Prerequisites

Two programming courses or consent of instructor. We assume that students have a basic level of knowledge of computer networks and thus will spend only a small fraction of lecture time reviewing introductory material.

Course Format and Grading Policy

New material will be presented in lecture format (PowerPoint Slides). Reviews, exercises and homework solutions will take place in discussion. Participation in the discussions although not mandatory, is strongly recommended and may result in extra credit. 

No predetermined scale will be used. The final grade will be assigned based on the following weighting

Cheating and plagiarism will not be tolerated. They will result in no credit for the homework or examination. This should not be understood as a discouragement for discussing the material or your particular approach to a problem with other students in the class. On the contrary - I urge you to share your thoughts, questions and solutions. Naturally, if you choose to work in a group, I will be expecting more than one and highly original solutions rather than the same mistakes.

Required Text

Comer, D.E., Stevens, W., Internetworking with TCP/IP, Vol. 3: Client-Server Programming and Applications, Linux/Posix Sockets Version, 1/e, Copyright 2001, 601 pp. ISBN 0-13-032071-4

image002.jpg
Recommended Text

Comer, D.E., Stevens, W., Internetworking with TCP/IP, Vol. III (ANSI C, BSD Socket Version): Client-Server Programming and Applications, 2-d edition, Prentice Hall, 1996

James F. Kurose, Keith W. Ross, Computer Networking: A Top-Down Approach Featuring the Internet, Addison Wesley, 2000 (on-line book: http://www.seas.upenn.edu/~ross/book/Contents.htm (recommended)

Comer, D.E., W. Stevens, W., Internetworking with TCP/IP, Vol. III (Windows Sockets Version): Client-Server Programming and Applications, Addison-Wesley, 1997 (recommended)

Stevens, R., UNIX Network Programming, Volume 1: Networking APIs - Sockets and XTI: 2/e, Second edition, Prentice Hall Int., 1998 (recommended).

Relevant Internet RFCs (recommended)

 

 

 

Course Information

 

 

 

Rumen Stainov received his B.S. and M.S. from the Technical University Ilmenau, Germany and his Dr.-Ing. from the Dresden University of Technology, Germany. Before joining Fulda University he has been a Professor of time at the University of Aachen, Germany. In Fall 1997, in Fall 98, in Spring, and Summer 1999 he has been Visiting Associate Professor at BU. From Fall 1999 through Summer 2002 he has been full-time Associate Professor of Computer Science at Boston University (USA). 

Research Interests

Computer networks, internetworking, distributed systems, parallel and distributed processing.

Publications

(Over 70)

Books and Contributions:

 

 

 

Course Calendar

PowerPoint Slides

Textbook

Assignments (relevant assignments: week1 + 5.2, 6.6, 7.4, 7.10, 9.6, reprogramming TCPecho.c as a HTTP client, 12.0, 12.5, week8: assignment 2 )

Class E-mail List

FAQ

 

IPv6


Networked Multimedia


Mobile and Wireless Computing


Networked Security

·         Cryptography and Security

 


Telecom Useful Resources


Organizations

·         Technical Committee on Computer Communication (TCCC)


Hochschule Fulda, Angewandte Informatik, Leipziger Str. 123, Zimmer E 124, 36043 Fulda, phone: +49 661 9640319,  fax: +49 661 9640349, e-mail: rumen.stainov@informatik.hs-fulda.de
Go to HS Fulda Home Page/Go to FB AI Home Page