Acessibilidade

Ambientes Virtuais de Execução - LEIC

Curso Licenciatura em Engenharia Informática e de
Computadores
Unidade Curricular

Ambientes Virtuais de Execução

Obrigatória x
Opcional  
Área Científica Informática e Computadores
Ano: 2º Semestre:  ECTS: 6 Total de Horas: 162
Horas de Contacto T: TP: 67,5 PL: S: OT:
Docente

 

Fernando Miguel Gamboa de Carvalho

 

T - Teórica; TP - Teórico-prática; PL - Prática Laboratorial; S - Seminário; OT - Orientação Tutorial.

  • Objetivos da aprendizagem

     

    Os estudantes que terminam com sucesso esta unidade curricular serão capazes de:

    1. Identificar os requisitos dos ambientes virtuais de execução no suporte à construção e execução de aplicações e de componentes.

    2. Desenvolver componentes e aplicações para ambientes virtuais de execução.

    3. Compreender a necessidade e o funcionamento dos serviços de runtime disponibilizados pelos ambientes virtuais de execução.

  • Conteúdos programáticos

    I. Programação orientada aos componentes. Requisitos e soluções. Máquinas virtuais de suporte a linguagens orientadas a objectos: JVM e CLI (VES).

    II. Construção e carregamento dinâmico de componentes (assemblies na CLI). Linguagem intermédia. A linguagem C# como exemplo de linguagens que têm a CLI como máquina alvo.

    III. O sistema de tipos da CLI (CTS). Funções como objectos: delegates e eventos. Código genérico. Suporte do paradigma funcional na linguagem C#.

    IV. Serviços de runtime: gestão automática de memória; reflexão; controlo de versões e partilha de componentes; interoperabilidade com código nativo; domínios de aplicação.

  • Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular

    Os ambientes virtuais de execução (AVE) permitem alcançar níveis de produtividade, distribuição e interoperabilidade que são dificilmente igualáveis em ambientes de execução nativos. Na unidade curricular são identificados os problemas resolvidos pelos AVE e as soluções usadas e apresentados os principais componentes dos AVE (I e II), dotando os alunos de uma visão geral, mas precisa, dos AVE.

    É analisado o sistema de tipos da CLI, utilizando a linguagem C# como linguagem de referência (III), de forma a dotar os alunos com a capacidade de desenvolver componentes e aplicações para este e outros AVE, tirando o máximo partido das construções oferecidas, nomeadamente o suporte à construção de código genérico.

    Os ambientes virtuais de execução (AVE) permitem alcançar níveis de produtividade, distribuição e interoperabilidade que são dificilmente igualáveis em ambientes de execução nativos. Na unidade curricular são identificados os problemas resolvidos pelos AVE e as soluções usadas e apresentados os principais componentes dos AVE (I e II), dotando os alunos de uma visão geral, mas precisa, dos AVE.

    É analisado o sistema de tipos da CLI, utilizando a linguagem C# como linguagem de referência (III), de forma a dotar os alunos com a capacidade de desenvolver componentes e aplicações para este e outros AVE, tirando o máximo partido das construções oferecidas, nomeadamente o suporte à construção de código genérico.

    O estudo dos serviços de runtime, nomeadamente a recolha automática de memória, a reflexão e os mecanismos de controlo de versões e partilha (IV), visam aumentar a capacidade de depurar componentes e aplicações e permitir a sua correta distribuição e configuração.

     

  • Metodologias de ensino (avaliação incluída)

    Ensino teórico-prático, estando previstas 30 aulas durante o semestre a que correspondem 67,5 horas de contacto (15 aulas de 3 horas e 15 de 1,5 horas). O tempo total de trabalho do estudante é de 162 horas. As aulas destinam-se à apresentação dos temas e de exemplos práticos de aplicação. Os tópicos principais são ainda explorados através da realização de séries de exercícios e de um trabalho final.

    Os resultados da aprendizagem (1) e (2) e (3) são avaliados individualmente através do: teste escrito [T], das fichas realizadas durante o semestre [F], e na discussão do trabalho final [P]. A nota final será a melhor classificação obtida através da seguinte fórmula: 40% [T] + 20% [F] + 40% [P].

    Os resultados da aprendizagem (1) e (2) e (3) são avaliados individualmente através do: teste escrito [T], das fichas realizadas durante o semestre [F], e na discussão do trabalho final [P]. A nota final será a melhor classificação obtida através da seguinte fórmula: 40% [T] + 20% [F] + 40% [P].

     

     

     

  • Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular

    O conhecimento relativo aos aspetos teóricos da problemática dos ambientes virtuais de execução éobtido em aulas interativas e através da realização de exercícios. As aulas teóricas complementam-se com aulas práticas em que os alunos terão de resolver problemas utilizando as ferramentas de desenvolvimento que irão ser utilizados na resolução dos trabalhos práticos. O trabalho final consiste no desenvolvimento de uma aplicação que integra os conhecimentos obtidos ao longo do semestre.

     

  • Bibliografia principal

     

    J. Richter, CLR via C#, 4th edition, Microsoft Press, 2012. ISBN 9780735667457.

    D. Box, C. Sells, Essential .Net, Volume I: The Common Language Runtime, Addison Wesley, 2002. ISBN 9780201734119.

    Standard ECMA-335, Common Language Infrastructure (CLI).