This course describes the environment of visual programming languages and allows students to build a high quality visual application. This course covers the main Object Oriented programming concepts such as: classes, objects, properties, attributes, encapsulation, data abstraction, inheritance, abstract classes, interfaces, and polymorphism. The foundations of user interface design and development are covered with the emphasis on developing usable interfaces, using main programming concepts including using various control structures and different data structures to develop a high-quality software systems. This course also teaches the students how to query data from various data sources using the LINQ query language. Finally, the exception handling techniques and string manipulations are discussed.