This document provides an overview of socket programming in C# and discusses UDP and TCP sockets. It begins with an agenda that reviews sockets and covers the Socket, UdpClient, TcpListener, and TcpClient classes in C#. It then explains the goals of socket programming and the differences between UDP and TCP. Examples are provided of UDP and TCP client-server applications in C# using the Socket class to demonstrate how data is sent and received. Finally, it lists references and assigns students to create a UDP chat client-server application using the Socket class on the client side and UdpClient class on the server side.