This course will introduce students to advanced concepts in programming. These topics will include the development and use of large-scale application programmer interfaces (APIs), effective documentation of APIs, authoring clean and useful APIs, sockets, generics, regular expressions, client-server model applications, and design patterns such as factories, decorators, and MVC. Credits: 4