Introduces fundamental programming techniques using the current Windows development environment and Visual Basic.Net. Students design procedures and write computer instructions to solve business problems, learn procedural programming, develop graphical user interfaces in Windows and work with events and objects. The basic elements of programming languages and programming paradigms: functional, imperative, and object-oriented. Introduction to formal semantic methods. Modern type systems, higher-order functions and closure, exceptions and continuations. Runtime support for different language features. Emphasis is on separating the different elements of programming languages and styles. Basic issues in programming language design and implementation: Context-free grammars, static semantics and dynamic semantics, lexical analysis, parsing, variable declarations and types, references, values, pointers, expression and assignment statements, objects, classes, inheritance and polymorphism are covered..