The course aims to introduce some network application programming techniques such as Threads and their use in programming multi-threading applications, client-server applications programming, and RPC technology, in addition to the ability to deal with AAA servers and programming within the Internet. In particular, the student will be able to: 1. Understand the basic concepts of threads and the associated technologies for programming multithreading applications. 2. Understand the basic concepts of client/server applications and associated technologies and protocols. 3. Introducing RPC, SOAP and REST techniques and how to benefit from them. 4. Understand the basic concepts of web services and associated technologies for programming multiple web applications.