Algoritmos e Estruturas de Dados para o curso MIEEC

Página da disciplina de Análise e Desenho de Algoritmos, no ano letivo de 2013/14.

How is it possible to improve the productivity of the specialists of a certain application domain, when they have to develop constantly software products of the same family? How can we increase efficiency of the development phase of those products without having to make use of complex general purpose languages, but at the same time, without loosing the power of specification's flexibility? How do we model small specific languages (textual or visual) that are adequate to a certain domain in order to automate the generation of final application products? How different is the design of visual and textual languages? What methodology and both theoretical and practical tools do we currently have at our hands to build successfully a Domain Specific Language (DSL)? What are the examples of DSLs at different domains?

A DSL is a programming language that offers expressive power oriented to a specific domain ( software engineering; Cryptography algorithms; system management; data bases; multimedia; telecommunications; bio-informatics; simulation; CAD; hardware control; data mining; financial computations). This course will approach methodologies and tools for developing a DSL.