Introduction to language design. Historical background and remarks. Types, Variables, Statements. Program structure (formal and object oriented architectures, alternative program architectures). Processes. Operations. Functions and methods (parameters, memory administration, recursion, parametric subprograms). Data Structures (arrays, aggregation and classes, dynamic data structure, strings, union, files). Heredity and dynamic interface, (polymorphism, abstract methods and classes, multiple heredity, heredity behavior). Functional languages (Lisp language, syntax and semantics, FP programming languages, modern functional programming languages). Concurrency and networking (process synchronization and communication, web-based programming, realtime programming). Logic Programming (Prolog, data types, lists). Syntactic. Semantic. Inputs/Outputs. Graphical User interface. Future aspects, exercises.