reestruturação do ensino da informática no ist v7...

67
Reestruturação LEIC v5 Page 1 Proposta de Reestruturação da Licenciatura em Engenharia Informática e Computadores 1 Contexto A LEIC, como todas as grandes licenciaturas do IST, necessita de ser revista periodicamente para garantir que se mantêm os bons resultados que têm sido atingidos ao longo de 23 anos, quer em captação de alunos, quer nas saídas profissionais dos engenheiros e mestres. Este esforço de avaliação e melhoria são portanto habituais numa escola com a qualidade do IST e numa área lectiva que envolve cerca de 1250 alunos na Licenciatura e 560 alunos no Mestrado. Acresce que a LEIC é das poucas licenciaturas do IST a ter adoptado claramente o modelo organizativo predominante na Europa, sendo importante avaliar os resultados e eventualmente melhorar a estrutura proposta há 6 anos. Apesar do elevado sucesso de empregabilidade, há dois indicadores que merecem particular atenção ao Departamento, a taxa de licenciados/ingressos e a duração média para conclusão da Licenciatura. A taxa de licenciados/ingressos é baixa e, apesar de em muitos casos corresponder a alunos que começam a trabalhar nos últimos anos da Licenciatura, é necessário procurar reunir condições para que os alunos realizem a Licenciatura e não a abandonem prematuramente, mesmo que tal se deva a encetarem uma atividade profissional na Informática, sem deterem um grau académico. A duração para concluir a Licenciatura, próxima de 5 anos, é muito elevada. Apesar de a duração dever ser considerada em conjunto com o Mestrado, dado que no 2º ciclo a duração é estritamente de 2 anos ou inferior, uma vez que os alunos só transitam oficialmente para o Mestrado quando concluem todas as UC da Licenciatura, o valor agregado de cerca de 7 anos para a conclusão do 1º e 2º ciclos não é satisfatório. 1.1 Objectivo Repensar o ensino da Engenharia Informática no IST, com particular foco na melhoraria da produtividade letiva nos primeiros anos do curso, considerada abaixo das expectativas do Departamento e abaixo dos padrões das licenciaturas comparáveis do IST. Numa segunda fase (2012/2013) definir as linhas de evolução do 2º ciclo, avaliando os mestrados em execução em ambos os campos na sua relação com o 1º ciclo, orientação ao mercado de trabalho e relação com as orientações internacionais que definem especializações da Informática e Engenharia Informática.

Upload: hoangnhu

Post on 11-Nov-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  1    

   Proposta  de  Reestruturação  da  Licenciatura  em  Engenharia  Informática  e  Computadores  

1 Contexto  A   LEIC,   como   todas   as   grandes   licenciaturas   do   IST,   necessita   de   ser   revista   periodicamente  para  garantir  que  se  mantêm  os  bons  resultados  que  têm  sido  atingidos  ao  longo  de  23  anos,  quer   em   captação   de   alunos,   quer   nas   saídas   profissionais   dos   engenheiros   e  mestres.   Este  esforço  de  avaliação  e  melhoria  são  portanto  habituais  numa  escola  com  a  qualidade  do  IST  e  numa   área   lectiva   que   envolve   cerca   de   1250   alunos   na   Licenciatura   e   560   alunos   no  Mestrado.  Acresce  que  a  LEIC  é  das  poucas   licenciaturas  do   IST  a  ter  adoptado  claramente  o  modelo   organizativo   predominante   na   Europa,   sendo   importante   avaliar   os   resultados   e  eventualmente  melhorar  a  estrutura  proposta  há  6  anos.    

Apesar  do  elevado  sucesso  de  empregabilidade,  há  dois   indicadores  que  merecem  particular  atenção  ao  Departamento,  a  taxa  de  licenciados/ingressos  e  a  duração  média  para  conclusão  da  Licenciatura.    

A   taxa  de   licenciados/ingressos  é  baixa  e,  apesar  de  em  muitos  casos  corresponder  a  alunos  que   começam   a   trabalhar   nos   últimos   anos   da   Licenciatura,   é   necessário   procurar   reunir  condições  para  que  os   alunos   realizem  a   Licenciatura  e  não  a   abandonem  prematuramente,  mesmo  que  tal  se  deva  a  encetarem  uma  atividade  profissional  na  Informática,  sem  deterem  um  grau  académico.    

A   duração   para   concluir   a   Licenciatura,   próxima   de   5   anos,   é   muito   elevada.   Apesar   de   a  duração  dever  ser  considerada  em  conjunto  com  o  Mestrado,  dado  que  no  2º  ciclo  a  duração  é  estritamente  de  2  anos  ou   inferior,  uma  vez  que  os  alunos   só   transitam  oficialmente  para  o  Mestrado  quando  concluem  todas  as  UC  da  Licenciatura,  o  valor  agregado  de  cerca  de  7  anos  para  a  conclusão  do  1º  e  2º  ciclos  não  é  satisfatório.  

1.1 Objectivo  Repensar   o   ensino   da   Engenharia   Informática   no   IST,   com   particular   foco   na  melhoraria   da  produtividade   letiva   nos   primeiros   anos   do   curso,   considerada   abaixo   das   expectativas   do  Departamento  e  abaixo  dos  padrões  das  licenciaturas  comparáveis  do  IST.  

Numa   segunda   fase   (2012/2013)   definir   as   linhas   de   evolução   do   2º   ciclo,   avaliando   os  mestrados  em  execução  em  ambos  os   campos  na   sua   relação   com  o  1º   ciclo,   orientação  ao  mercado  de  trabalho  e  relação  com  as  orientações  internacionais  que  definem  especializações  da  Informática  e  Engenharia  Informática.  

Page 2: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  2    

2 Metodologia  Manter   o   espírito   da   anterior   reestruturação   em   que   se   considerou   como   documento   de  referência   os   curricula   propostos   pela   ACM,   em   particular   o   de   Computer   Science   de   2008  [ACM08]  (em  seguida  designado  CS/ACM).  Está  em  preparação  uma  revisão  cuja  versão  inicial  está  disponível   [ACM12]  mas,  devido  ao  estado  ainda   inicial   da  mesma,   apenas   se   tomaram  em   consideração   algumas   tendências   e   efectuou-­‐se   no   final   uma   verificação   da   evolução  proposta  da  LEIC  em  relação  às  recomendações  CS/ACM  12.  

As  razões  pelas  quais  adotámos  as  recomendações  apresentadas  pela  ACM  prendem-­‐se  com  o  facto   de   a   ACM   ser   uma   instituição   de   qualidade   científica   inquestionável,   tendo   publicado  recomendações   semelhantes   ao   longo   de   vários   anos,   e   de   as   respectivas   recomendações  terem  uma  abrangência  que  considera   todas  as  áreas  da   informática,  ao  contrário  de  outras  recomendações  que  se  focam  em  subáreas  da  informática.  

Dada  a  vastidão  da  informática  em  termos  de  aplicação,  existem  numerosas  especializações  e  saídas  profissionais  na  Engenharia  Informática  que  poderão  ir  desde  o  suporte  à  infraestrutura  e  redes,  até  à  relação  com  a  gestão  e  os  processos  de  negócio.  Para  as  principais  vertentes  a  ACM  desenvolveu  perfis  que  essencialmente  correspondem  a:  

• Computer   Science   –   formação   de   espectro   abrangente   em   todas   as   áreas   da  Informática  com  uma  enfâse  particular  na  teoria,  tecnologias  e  metodologias  e  menor  nos  aspectos  aplicacionais    

• Software  Engineering  –  formação  que  dá  particular  enfâse  ao  processo  produtivo  de  sistemas,  aplicações  e  produtos  de  software.  

• Information   Technology   Engineering   –   vocacionado   para   a   concepção,   gestão   e  administração   de   infraestruturas   de   IT,   nomeadamente   redes,   servidores,   software,  funcionamento  na  nuvem.  

• Information  System  Engineering  –  vocacionado  para  a  adaptação  da  informática  às  necessidades   empresariais   em   termos   de   processos   de   negócio,   informação,  aplicações  e  arquitetura.  

• Computer   Engineering   –   vocacionado   para   a   concepção   e   desenvolvimento   de  sistemas  de  hardware  e  software  para  sistemas  computacionais  e  sistemas  embebidos.  

A   cobertura   deste   vasto   espectro   de   conhecimento   não   pode   obviamente   ser   efetuada  totalmente  na   licenciatura  de  3  anos,  pelo  que  o  Departamento  optou,   já  na   formulação  em  2005   da   atual   LEIC,   por   centrar   a   licenciatura   nos   aspetos   nucleares   de   Computer   Science,  procurando   cobrir   no   Mestrado   todas   as   outras   vertentes   a   partir   deste   corpo   coerente   e  básico  de  conhecimento  que  possibilita  adquirir  posteriormente  as  outras  especializações.  

Metodologia  seguida:  

1. Efetuar  uma  análise  exaustiva  do  currículo  da  LEIC  atual  com  o  CS/ACM.  Esta  análise  tem   como   objetivo   mapear   os   tópicos   do   CS/ACM   de   todas   as   UC   da   LEIC   de  responsabilidade   do   DEI   ou   as   leccionadas   por   outros   Departamentos   mas  pertencentes  ao  núcleo  do  currículo   (ex.:   Sistemas  Digitais,  Redes  de  Computadores,  

Page 3: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  3    

Matemática  Discreta)  e,  em  seguida,  efetuar  um  cálculo  do  alinhamento  das  UC  com  as  recomendações  em  termos  de  esforço  letivo..  

2. Em  paralelo  analisar  os  curricula  de  diversas  Universidades  de  referência  na  Europa  e  nos   EUA,   procurando   verificar   a   duração   dos   cursos,   alinhamento   com  o   CS/ACM,   e  estrutura  de  UC  fixas  e  opcionais.  

3. Partindo  da  auscultação  dos  alunos  e  da  discussão  já  havida  com  os  docentes  sobre  a  evolução   da   LEIC   estabelecer   um   conjunto   de   pontos   prioritários   que   deveriam  orientar  a  análise  das  alternativas.  

3 Análise  do  alinhamento  da  LEIC  com  o  CS/ACM  

3.1 Análise  da  LEIC  As  recomendações  da  ACM  apresentam  uma  definição  do  corpo  de  conhecimento  associado  à  informática  e  o  número  mínimo  de  horas   letivas  que  deve  ser  dedicado  a  cada  um  dos  seus  tópicos   e   subtópicos   (Tabela   1).   Estes   tópicos   são   classificados   como   essenciais   (“core”)   ou  como  facultativos  (“elective”).  

Segundo  o  ACM,  “uma  hora”  corresponde  a  uma  hora  letiva  necessária  para  expor  a  matéria  correspondente.  Adotámos  este  conceito,  estabelecendo  que  “uma  hora”  corresponde  a  uma  hora  de  aula  teórica.    

Para  avaliar  os  tópicos  lecionados  na  LEIC  e  o  seu  período  de  lecionação,  foi  feita  uma  análise  dos  sumários  lançados  no  sistema  Fénix  para  as  várias  UC  da  LEIC.  Foi  considerado  o  ano  civil  de   2011   e   os   sumários   lançados   nas   unidades   curriculares   em   funcionamento   na   Alameda.  Consequentemente  foram  utilizados  os  sumários  das  aulas  teóricas  das  UC  do  1º  semestre  do  ano  letivo  2011/2012  e  os  sumários  das  UC  do  2º  semestre  do  ano  letivo  de  2010/2011.  

Page 4: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  4    

 

Tabela  1  –  Body  of  Knowledge  

Foi  feito  o  cruzamento  com  a  matéria  lecionada  em  cada  aula  teórica  com  os  tópicos  do  corpo  do  conhecimento  do  CS/ACM,  seguindo-­‐se  os  princípios  de  cada  aula  teórica  ser  associada  no  máximo  com  um  tópico  e  cada  aula  teórica  corresponder  a  1,5  horas  de  ensino.    

 

Page 5: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  5    

Tópico Horas  mínimas

(ACM)

Horas  lectivas  (core)  cobertas  pela  LEIC

Horas  lectivas  (elective)  cobertas  pela  LEIC

Variação  (core)

DS-­‐Discrete  Structures 43 46.5 0 +8%

PF-­‐Programming  Fundamentals

47 36 0 -­‐23%

AL-­‐Algorithms  and  Complexity 31 48 30 +55%

AR-­‐Architecture  and  Organization

36 36 1.5 0%

OS-­‐Operating  Systems 18 33 9 +83%

NC-­‐Net-­‐Centric  Computing 15 51 15 +240%

PL-­‐Programming  Languages 21 33 28.5 +57%

HC-­‐Human-­‐Computer  Interaction

8 16.5 12 +106%

GV-­‐Graphics  and  Visual  Computing

3 18 12 +500%

IS-­‐Intelligent  Systems 10 18 15 +80%

IM-­‐Information  Management 11 6 25.5 -­‐45%

SP-­‐Social  and  Professional  Issues

16 0 0 -­‐100%

SE-­‐Software  Engineering 31 66.5 3 +115%

CN-­‐Computational  Science 0 0 3

Total 290 383.5 150

Error!  Reference  source  not  found.  apresenta  o  resultado  da  análise  realizada  em  relação  às  unidades  curriculares  da  LEIC.  

Como  se  pode  verificar  pela  Error!  Reference  source  not  found.  a  LEIC  cobre  em  3  anos  uma  grande   percentagem   dos   tópicos   do   CS/ACM.   Na   Tabela   2   apresentam-­‐se   os   tópicos   do  CS/ACM  e  respectivas  horas  lectivas  que  não  são  cobertos  na  estrutura  atual  da  LEIC.  

 

Tópico   Horas  mínimas  

Page 6: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  6    

AL / Distributed Algorithms   3  

OS / Security And Protection   2  

PF / Event Driven Programming   4  

PF / Foundations Information Security   4  

PF / Secure Programming   2  

PL / Virtual Machines   1  

SE / Software Evolution   3  

SP / Analytical Tools   2  

SP / History Of Computing   1  

SP / Intellectual Property   3  

SP / Privacy And Civil Liberties   2  

SP / Professional Ethics   3  

SP / Risks   2  

SP / Social Context   3  Tabela  2  Áreas  do  CS/ACM  não  cobertas  na  LEIC  

Destaca-­‐se  a  fraca  cobertura  atual  da  LEIC  em  relação  tópicos  enquadrados  em    Social  and  Professional  Issues.  

3.2 Rentabilidade  das  Unidades  curriculares  Considerando  que  um  semestre  tem  14  semanas  letivas  e  que  cada  unidade  curricular  leciona  3  horas  de  aulas  teóricas  por  semana,  conclui-­‐se  que  cada  unidade  curricular  oferece  42  horas  por   semestre.   Considerando   as   horas   do   curriculum  CS/ACM  que   são   cobertas   pela   unidade  curricular  e  dividindo-­‐as  por  42,  pode-­‐se  chegar  a  uma  medida  da  rentabilidade  da  UC,  ou  seja,  qual  a  percentagem  da  unidade  curricular  que  contribui  para  as  áreas  nucleares  do  CS/ACM.  

Na    

Unidade  Curricular Horas  lectivas  (core)

Horas  lectivas  (elective)

Rentabilidade  (core)

Rentabilidade  (elective)

Arquitectura  de  Computadores  (AC)   31.5 75%

ACED   0% 0%

AL   0% 0%

Análise  e  Síntese  de  Algoritmos  (ASA)   27 7.5 64% 18%

Bases  de  Dados  (BD)   7.5 24 18% 57%

CDI  1 7.5 18% 0%

CDI  2   0% 0%

Computação  Gráfica  (CG)   18 12 43% 29%

Compiladores  (CO) 12 25.5 29% 61%

Page 7: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  7    

Electromagnetismo  e  Óptica  (EO)   0% 0%

Engenharia  de  Software  (ES)   31.5 3 75% 7%

Fundamentos  da  Programação  (FP)   19.5 0 46% 7%

Gestão  (G) 0 0%

Inteligência  Artificial  (IA)   18 15 43% 36%

Introdução  aos  Algoritmos  e  Estruturas  de  Dados  (IAED)   28.5 0 68% 0%

Interfaces  Pessoa  Máquina  (IPM)   16.5 13.5 39% 32%

Lógica  para  Programação  (LP)   22.5 3 54% 7%

Mecânica  e  Ondas  (MO)   0% 0%

Modelação  (MOD) 18.5 0 44% 0%

Matemática  Discreta  (MD)   3 32% 27%

Probabilidades  e  Estatística  (PE)   9 0 21% 0%

Programação  com  Objectos  (PO) 33 0 79% 0%

PPI   0% 0%

PPII   0% 0%

Redes  de  Computadores  (RC)   37.5 0 89% 0%

Sistemas  Digitais  (SD) 7.5 0 18% 0%

Sistemas  Distribuídos  (SDI)   13.5 21 32% 50%

Sistemas  Operativos  (SO)   28.5 7.5 68% 18%

Sistemas  e  Sinais  (SS)   0% 0%

Teoria  da  Computação  (TC)   12 18 29% 43%

Tabela  3  é  mostrado  o  resumo  do  estudo  detalhado  apresentado  no  anexo  Avaliação  da  LEIC  [JPMartins12],  mostrando   a   rentabilidade   de   cada   unidade   curricular   da   LEIC   em   relação   às  recomendações  do  CS/ACM.  

• A azul indicam-se as UC básicas de engenharia, as quais pouco contribuem para as

áreas científicas da ACM, mas contribuem para a formação em engenharia da LEIC.

• A verde as UC com uma rentabilidade superior ou igual a 50%.

• A amarelo as UC com rentabilidade entre 20 e 49%.

• A vermelho as UC com rentabilidade inferior a 20%.

Unidade  Curricular Horas  lectivas  (core)

Horas  lectivas  (elective)

Rentabilidade  (core)

Rentabilidade  (elective)

Page 8: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  8    

Arquitectura  de  Computadores  (AC)   31.5 75%

ACED   0% 0%

AL   0% 0%

Análise  e  Síntese  de  Algoritmos  (ASA)   27 7.5 64% 18%

Bases  de  Dados  (BD)   7.5 24 18% 57%

CDI  1 7.5 18% 0%

CDI  2   0% 0%

Computação  Gráfica  (CG)   18 12 43% 29%

Compiladores  (CO) 12 25.5 29% 61%

Electromagnetismo  e  Óptica  (EO)   0% 0%

Engenharia  de  Software  (ES)   31.5 3 75% 7%

Fundamentos  da  Programação  (FP)   19.5 0 46% 7%

Gestão  (G) 0 0%

Inteligência  Artificial  (IA)   18 15 43% 36%

Introdução  aos  Algoritmos  e  Estruturas  de  Dados  (IAED)   28.5 0 68% 0%

Interfaces  Pessoa  Máquina  (IPM)   16.5 13.5 39% 32%

Lógica  para  Programação  (LP)   22.5 3 54% 7%

Mecânica  e  Ondas  (MO)   0% 0%

Modelação  (MOD) 18.5 0 44% 0%

Matemática  Discreta  (MD)   3 32% 27%

Probabilidades  e  Estatística  (PE)   9 0 21% 0%

Programação  com  Objectos  (PO) 33 0 79% 0%

PPI   0% 0%

PPII   0% 0%

Redes  de  Computadores  (RC)   37.5 0 89% 0%

Sistemas  Digitais  (SD) 7.5 0 18% 0%

Sistemas  Distribuídos  (SDI)   13.5 21 32% 50%

Sistemas  Operativos  (SO)   28.5 7.5 68% 18%

Sistemas  e  Sinais  (SS)   0% 0%

Teoria  da  Computação  (TC)   12 18 29% 43%

Tabela  3  -­‐  Rentabilidade  das  UC  de  LEIC  versus  CS/ACM  

Page 9: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  9    

As  UC  de  Bases  de  Dados,  Computação  Gráfica,  Compiladores,  Inteligência  Artificial,  Interfaces  Pessoa   Máquina,   Sistemas   Distribuídos   e   Teoria   da   Computação   embora   tenham   uma  contribuição  baixa  quando  consideradas  apenas  as  áreas  nucleares  na  maioria  dos  casos  pelo  valor   de   horas   proposto   para   o   tema,   apresentam   uma   contribuição   considerável   nas   áreas  optativas.  A  UC  de  Modelação,  da  área  científica  de  Sistemas  de  Informação,  apenas  contribui  para  o  tópico  Software  Engineering  e  não  para  Information  Management,  um  tópico  que  está  subrepresentado  no  curriculum  da  ACM.  

4 Análise  de  outras  Universidades  Com   o   intuito   de   enquadrar   a   reestruturação   da   LEIC,   o   grupo   de   trabalho   decidiu   analisar  programas   de   Licenciatura   em   Eng.   Informática   (Computer   Science)   em   universidades  europeias  e  americanas.  

Assim,  o  grupo  de  universidades  selecionadas  foi  o  seguinte:  Carnegie-­‐Mellon  University  (CMU,  PA,  EUA),  University  of  California  Berkeley  (UCB,  CA,  EUA),  University  of  Michigan  (UofM,  MI,  EUA),   Imperial   College   London   (IC,   UK,   UE),   University   of   Southampton   (UofS   ,   UK,   UE),  University   of   Edinburgh   (UofE,   UK,   UE),   Universitat   Politècnica   de   Catalunya   (UPC,   Espanha,  UE),  Università  degli  Studi  di  Roma  "La  Sapienza"  (Roma,  Itália,  UE),  Université  d'Artois  (Artois,  França,  UE),  University  of  Helsinki  (UH,  Finlândia,  UE),  Technische  Universität  Wien  (TU  Wien,  Austria,  UE),  e  University  College  Dublin  (UCD,  Irlanda,  UE).  

A  razão  para  a  escolha  destas  universidades  tem  a  justificação  seguinte:  

• Renome  internacional  (e.g.  CMU,  UCB,  UofM,  IC,  UofE);  ou  • Distribuição  geográfica  (e.g.  TU  Wien,  UCD)  ;  ou  • Existência  de  contactos  informais  (as  restantes).  

A  informação  disponível  para  cada  universidade  apresenta  diferenças  significativas.  Em  alguns  casos   a   informação   obtida   é   a   que   consta   das   páginas   institucionais   das   universidades,   e  noutros   casos   a   informação   resultou   de   contato   direto   com   elementos   do   corpo   docente.  Assim,  revelou-­‐se  necessário  selecionar  um  conjunto  de  indicadores  relevantes  para  a  análise  a  realizar.  

Face   à   informação   a   que   o   grupo   de   trabalho   teve   acesso,   a   análise   realizada   focou   os  indicadores  seguintes:  

• Número  de  anos  para  a  obtenção  da  licenciatura.  • Estrutura  do  curso  em  termos  de  percentagem  de  unidades  curriculares    (UC)  

obrigatórias.  • Cobertura  das  recomendações  ACM  para  Computer  Science.  • Inclui-­‐se  também  uma  coluna  com  informação  adicional.  Por  exemplo,  nas  

universidades  americanas  a  acreditação  ABET  (Accreditation  Board  for  Engineering  and  Technology,  http://www.abet.org/)  é  normalmente  procurada  e  publicitada.  O  CSAB  (http://www.csab.org/)  e  o  IEEE  (http://www.ieee.org)  incluem  a  lista  das  associações  membros  da  ABET.  O  CSAB  é  a  associação  dentro  da  ABET  responsável  pela  

Page 10: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  10    

acreditação  de  cursos  em  Computer  Science,  Information  Systems,  Software  Engineering,  e  Information  Technology.  Os  membros  do  CSAB  são  a  ACM  e  o  IEEE.  

Os  dados  obtidos  são  resumidos  na  tabela  seguinte:  

Universidade   #  Anos   Estrutura  Curso  (%  

UCs  Obrigatórias)  Cobertura  ACM  (%  vs  UCs  Obrigatórias)  

Cobertura  ACM  (%  vs  UCs  Típicas)  

Dados  Adicionais  

CMU   4 <40% ~25% >90% Univ.  Michigan   4 ~50% ~25% >90% ABET UCB   4 <40% ~25% >90% ABET Imperial  College   3+2 ~60% < 50% >80% Univ.  Edinburgh   3+2 ~60% < 50% >80% Univ.  Southampton   3+2 ~70% < 50% >80% Univ.  Polit.  Catalunya   4 ~75% < 50% >80% Univ.  Roma  La  Sapienza   3+2 ~75% < 50% >80% Univ.  Artois   3+2 100% < 75% <75% Univ.  Helsinki   3+2 ~88% ~90% >90% Wien  Univ.  of  Tech.   3+2 ~88% > 75% >80% Univ.  College  Dublin   4 <50% < 75% >90%

Tabela  4  –  Análise  Universidades  Internacionais

Os  dados  numéricos  devem  ser  considerados  uma  estimativa,  resultando  em  alguns  casos  da  consulta  das  páginas  institucionais  das  universidades  em  causa.    

Outro  indicador  considerado  relevante  é  o  número  médio  de  horas  de  contacto  com  alunos  nas  diferentes  universidades.  Esta  informação  é  resumida  na  tabela  seguinte:  

Universidade   Anos   Horas  Contacto  /  

Semana  CMU   4 ~12+4 Univ.  Michigan   4 ~12+4 UCB   4 ~12+4 Imperial  College   3+2 ~10+5 Univ.  Edinburgh   3+2 ~10+5 Univ.  Southampton   3+2 ~10+5 Univ.  Polit.  Catalunya   4 N/A Univ.  Roma  La  Sapienza   3+2 N/A Univ.  Artois   3+2 N/A Univ.  Helsinki   3+2 N/A Wien  Univ.  of  Tech.   3+2 N/A Univ.  College  Dublin   4 ~12+4

Tabela  5  –  Horas  de  Contactos  com  os  alunos

Face  aos  dados  obtidos,  é  possível  estabelecer  as  conclusões  seguintes:  

Page 11: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  11    

• Nos  EUA  a  duração  do  curso  é  4  anos.  Na  Europa,  encontram-­‐se  exemplos  com  4  anos,  mas  a  maior  parte  dos  casos  estudados  tem  uma  licenciatura  com  3  anos,  seguidos  por  mais  2  anos  para  o  mestrado.  

• Nos  EUA  existe  grande  flexibilidade  na  escolha  de  UC  que  os  alunos  podem  escolher.  Nos  casos  estudados,  o  número  de  UC  optativas  é  sempre  não  inferior  a  50%.  Relativamente  à  Europa  registam-­‐se  grandes  diferenças.  Por  exemplo,  nas  universidades  do  Reino  Unido  analisadas  o  número  de  UC  optativas  é  não  inferior  a  30%.  Nos  restantes  casos  analisados,  o  número  de  UC  optativas  varia  entre  25%  e  0%.  

• A  coluna  relativa  à  cobertura  das  recomendações  da  ACM  considera  apenas  as  UC  obrigatórias.  As  universidades  americanas,  tendo  em  consideração  a  baixa  percentagem  de  UC  obrigatórias,  asseguram  percentagens  reduzidas  de  cobertura.  Por  outro  lado,  vários  exemplos  europeus  conseguem  assegurar  com  estruturas  curriculares  mais  rígidas  taxas  de  cobertura  superiores.  

• Tendo  em  consideração  exemplos  de  programas  tipo,  i.e.  fixando  as  UC  opcionais,  a  cobertura  face  às  recomendações  da  ACM  afigura-­‐se  mais  significativa.  No  entanto,  esta  análise  apresenta  menos  rigor  do  que  a  análise  baseada  em  UC  obrigatórias.    

Face  à  análise  realizada,  importa  incluir  alguns  comentários  adicionais.    

1. As  universidades  com  maior  nível  de  financiamento,  tanto  de  investigação  como  de  propinas,  apresentam  maior  flexibilidade  curricular.  Não  é  claro  como  reproduzir  esta  flexibilidade  no  contexto  nacional.  

2. Existem  várias  universidades  que  direta  (via  ACM)  ou  indiretamente  (via  ABET)  referem  explicitamente  as  recomendações  da  ACM.  

5 Linhas  fundamentais  da  reestruturação  Da  auscultação  dos  alunos  apresentada  e  discutida  em  Conselho  do  Departamento  e  da  discussão  inicial  da  Comissão,  considerou-­‐se  que  as  áreas  a  melhorar  e  onde  as  propostas  deveriam  incidir  são:  

• Motivação  e  eficiência  do  1º  ciclo  • Funcionamento  do  1º  ano  • Cargas  de  trabalho  • Ambientes  de  desenvolvimento  para  as  componentes  práticas  de  desenvolvimento  de  

código  

5.1 Motivação  e  eficiência  do  1º  ciclo  A  produtividade  da  licenciatura  é  baixa.  No  último  relatório  de  autoavaliação  do  IST  relativo  à  licenciatura  verifica-­‐se  que  o  tempo  médio  para  terminar  a  licenciatura  é  de  5  anos  [R3A11]  .  Este  valor  tem  oscilado  mas  não  diminui  (este  resultado  poderá  ser  menos  dramático  porque  pode  dever-­‐se  à  possibilidade  dos  alunos  transitarem  de  ciclo  com  disciplinas  da  Licenciatura  em  atraso,  que  só  concluem  durante  a  frequência  do  mestrado,  que  apresenta  tempos  de  duração  mínimos).  

Page 12: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  12    

A  produção,  medida  em  termos  de  saídas  do  1º  ciclo  versus  entradas,  é  relativamente  baixa.  Na  LEIC/AL  é  de  107/180  =  59%,  como  se  pode  calcular  dividindo  as  saídas  indicadas  na  Figura  1  pelos  180  alunos  na  entrada.  

LEIC  -­‐  ALAMEDA  

 

Figura  1  LEIC  AL  no  relatório  de  autoavaliação  do  IST  [R3A12]  

 

Tabela  6  -­‐  Análise  Global  LEIC  –  AL  [R3A11]  

 

Tabela  7  Análise  global  LEIC  -­‐  AL  [R3A12]  

Page 13: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  13    

LEIC  -­‐  TAGUS  

 

Figura  2  -­‐  LEIC  TP  no  relatório  de  autoavaliação  do  IST  [R3A12]  

 Tabela  8  -­‐  Análise  Global  LEIC-­‐TP  [R3A11]  

 

 

Tabela  9-­‐  Análise  Global  LEIC-­‐TP  [R3A12]  

Page 14: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  14    

Um   dos   principais   motivos   apresentados   para   a   baixa   produtividade   é   a   desmotivação   dos  alunos  nos  primeiros  anos  da  Licenciatura.  Alguns  dos  fatores  apontados  prendem-­‐se  com:  

• Falta  de  percepção  da  atividade  real  do  engenheiro  informático  por  parte  dos  alunos,  em  particular  do  1º  ano  

• Dificuldade  em  compreender  os  desafios  técnicos,  organizacionais  e  sociais  da  engenharia  informática  e  a  sua  relação  com  a  estrutura  curricular  

• Excessiva  carga  nos  primeiros  anos,  conduzindo  à  criação  de  uma  cultura  de  insucesso  tida  como  normal.  

Iniciativas  • Criar  uma  UC  introdutória,  fundamentalmente  de  motivação,  respondendo  às  

principais  questões  colocadas  acima.  Colocar  esta  UC  no  1º  ano  • Reformular  as  UC  do  1º  e  2º  ano  para  diminuir  a  carga  letiva  procurando  criar  

condições  para  maior  sucesso  escolar  • Redução  das  cargas  horárias  norteada  pela  avaliação  do  CS/ACM    

5.2 Funcionamento  do  1º  ano  O  primeiro  ano  é  aquele  onde  os  problemas  anteriormente  referidos  mais  incidência  têm,  na  opinião  de  delegados  de  curso  e  alunos  ouvidos  no  final  de  2011.  Aos  aspetos  motivacionais  juntam-­‐se  os  seguintes  aspetos  curriculares:  

• Primeiro  ano  com  muita  matéria  de  formação  básica  “com  reduzido  interesse  profissional”  na  percepção  dos  alunos.  

• 1º  Semestre  do  1º  ano,  em  que  todas  as  UC  têm  caráter  abstrato  (TC,  FP,  CDI1,  AL),  ou  de  tecnologia  não  diretamente  perceptível  como  de  aplicação  futura  (SDigitais).  

• Sequência  do  ensino  da  programação  no  1º  ano.  FP  é  importante  para  a  compreensão  de  conceitos  fundamentais  de  programação  em  particular  não  imperativa,  mas  ortogonal  às  necessidades  de  criar  conhecimento  em  programação  imperativa  que  suportem  IAED,  SO,  PO.  

• AC  é  percepcionada  como  uma  cadeira  da  sequência  de  programação  que  ensina  assembly  depois  de  FP  e  em  paralelo  com  o  ensino  da  linguagem  C  em  IAED.  

• IAED,  considerada  fundamental,  só  aparece  no  2º  semestre.  Os  alunos  esperavam  que  fosse  a  cadeira  do  1º  semestre  e  consideram  que  para  conseguir  fazer  os  trabalhos  em  SO  e  PO  esta  cadeira  deverá  ser  efetuada  com  um  bom  aproveitamento.  

Iniciativas  • Melhora  a  sequência  de  ensino  da  programação,  alterando  o  conteúdo  da  cadeira  de  

FP  para  programação  imperativa  em  estrita  articulação  com  IAED  • Redução  da  carga  horária  no  1º  ano  • Reformulação  da  UC  de  Arquitetura  de  Computadores  • Redução  no  número  de  UC  por  semestre  para  4  em  vez  das  atuais  5.  

Page 15: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  15    

5.3 Ambientes  de  Desenvolvimento  implícitos  nas  componentes  práticas  

Um  aspeto  aparentemente  secundário,  mas  que  os  alunos  apontam  como   indutor  de  perdas  de  eficácia,  é  a  não-­‐existência  de  um  ambiente  de  desenvolvimento  padronizado  que  permita  evitar   tempos  de  aprendizagem  de   ferramentas  em  sucessivas  UC,   aumentando  o   tempo  de  ambientação  e  reduzindo  a  eficiência  dos  alunos  no  início  das  aulas  práticas  das  UC.  

Iniciativas  • Escolher  para  a  Licenciatura  um  ambiente  de  desenvolvimento  base  para  todas  as  UC  

com  importante  trabalho  prático  e  de  desenvolvimento  de  código  que  deveria  ser  suportado  pelo  Departamento.  

6 Propostas  

6.1 Redução  da  Carga  Horária  Reduzir   a   carga   horária   do   1º   ano   e   da   Licenciatura   em   geral,   identificando  UC   que   podem  transitar  para  o  Mestrado  ou  ser  alvo  de  uma  compactação  das  matérias  ao  nível  do  1º  ciclo.  

É   evidente,   no   estudo   apresentado   acima,   que   a   LEIC   quase  ministra   em   3   anos   o   currículo  recomendado  no  ACM/CS,  para  além  do  significativo  conjunto  de  UC  de  base  de  engenharia  (Matemática   e   Física)   que   no   IST   são   mais   inflexíveis   que   nos   cursos   de   Computer   Science  internacionais.  A  título  de  exemplo,  o  peso  das  UC  de  Matemática  e  Física  é  bastante  menor  em   cursos   nas   universidades   do   Reino   Unido.   Relativamente   aos   EUA,   o   peso   das   UC   de  Matemática   e   Física   é   menor   do   que   em   Portugal,   existindo   também   exigência   de   que   os  alunos  frequentem  UC  doutras  áreas,  e.g.  Ciências  Sociais  e  Humanas.  

Dos   resultados   da   análise   do   CS/ACM   podemos   identificar   as   UC   que   deveriam   poder  contribuir  para  a  redução  das  cargas  horárias.  

6.1.1 UCs  não  enquadradas  em  CS    

Unidade  Curricular   Horas  lectivas  (core)  

Horas  lectivas  (elective)  

Rentabilidade  (core)  

Rentabilidade  (elective)  

Gestão  (G)   0     0%    

PPI       0%   0%  

PPII       0%   0%  

Sistemas  e  Sinais  (SS)       0%   0%  

Tabela  10  UCs  cujos  temas  não  são  relevantes  no  CS/ACM  

6.1.1.1 Gestão  Gestão   não   faz   parte   do   currículo   de   CS,   com   exceção   de   temas   de   âmbito   reduzido,  enquadrados  dentro  de  Social  and  Professional  issues,  como  Economics  of  Computing.  

Page 16: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  16    

A   cadeira   de   Gestão   é   um   curso   geral   de   gestão,   de   que   existem   queixas   de   docentes   e  discentes  sobre  a  sua  razoabilidade  no  2º  ano  de  um  curso  de  Engenharia,  onde,  nesta  fase,  os  alunos   raramente   se  defrontaram  com  problemas  de  modelo  de  negócio  ou  de  avaliação  de  projetos.  

Esta  formação  teria  mais  sentido  no  Mestrado,  onde  existem  mais  UC  de  gestão  relacionadas  com   empreendedorismo,   avaliação   de   planos   de   negócio   e   análise   de   investimento   de  projetos,   que   poderiam   despretar   mais   interesse   nos   alunos   alunos.   Contudo,   o   IST   tem  considerado  que  a  matéria  de  Gestão  faz  parte  do  tronco  comum  das  Licenciaturas,  pelo  que  a  solução   proposta   é   deslocar   a   cadeira   para   o   final   da   licenciatura.   Será   pedido   ao   DEG   que  adeqúe  os  conteúdos  de  modo  a  que  pelo  menos  os  temas  do  CS/ACM  sejam  cobertos.  

6.1.1.2 Sistemas  e  Sinais  A   UC   não   tem   enquadramento   no   tronco   comum   de   CS,   apesar   de   poder   ter   interesse   em  áreas   adjacentes   como   Sistemas   Embebidos   ou   Desenvolvimento   de   Interfaces.   A  recomendação  é  passar  a  fazer  parte  do  2º  ciclo.  Alguma  da  matéria  básica  já  é  ensinada  em  Matemática   Discreta,   que   tem   no   seu   programa   "Transformada   de   Fourier   Discreta   e  Aplicações",   este   tema   poderia   ser   aqui   um   pouco   mais   aprofundado   e   relacionado   com   o  Processamento  de  Sinais  Discretos.  

A  interface  do  mundo  analógico  para  o  mundo  digital,  a  segunda  componente  interessante  de  Sistemas   e   Sinais   para   a   Engenharia   Informática,   poderia   passar   a   ser   coberta   pela   UC   no  Mestrado.  

6.1.1.3 Portfolio  Os   portfolios   tiveram   o   objetivo   de   criar   um   espaço   para   soft   skills   inexistente   na   LEIC.  Cumpriram  parcialmente  a  sua   função,  mas  o  modelo,  depois  destes  anos,  necessita  de  uma  profunda  revisão.  

A   proposta   é   eliminar   os   portfolios   na   Licenciatura,   os   portfolios   do   Mestrado   serão   em  princípio  mantidos  depois  de  convenientemente  ajustados.  As  UC  de  Introdução  à  Engenharia  Informática  e  de  Aspetos  Sociais  e  Profissionais  de  Engenharia   Informática  poderão   também  contribuir,  para  além  dos  seus  objetivos  específicos,  em  alguns  aspetos  de  soft  skills,  nas  suas  componentes  de  avaliação.  

6.1.2 UCs  sobre  representadas  no  CS/ACM    

Unidade  Curricular   Horas  lectivas  (core)  

Horas  lectivas  (elective)  

Rentabilidade  (core)  

Rentabilidade  (elective)  

Sistemas  Digitais  (SD)   7.5   0   18%   0%  

Tabela  11  -­‐  UCs  sobre  representadas  na  LEIC  em  relação  ao  CS/ACM  

6.1.2.1 Sistemas  Digitais  Esta  UC  tem  razões  históricas  na  sua  colocação  no  currículo  atual.  A  cobertura  dos  temas  de  CS/ACM  é  muito  baixa  uma  vez  que  o  ACM  só   considera  7,5  core  hours.   A   cadeira   tem   tido  taxas   de   aprovação   baixas   e   não   cumpre   uma   função  motivadora   no   atual   currículo,   sendo  

Page 17: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  17    

considerada   pelos   alunos   como   uma   cadeira   de   formação   teórica   geral,   com   relativamente  pouco  interesse  para  as  UC  subsequentes.  

A   solução   mais   interessante   em   termos   curriculares   e   pedagógicos   é   fundir   a   matéria   de  Sistemas  Digitais  com  Arquitetura,  permitindo  criar  uma  cadeira  homogénea,  que  se  poderia  designar  por  Organização  dos  Computadores.  Esta  cadeira  no  1º  ano  deveria  ser  motivadora  da  compreensão  global  da  organização  dos  computadores  

Os   tópicos   mais   avançados   de   Arquitetura   de   Computadores   deveriam   fazer   parte   de   uma  cadeira,  a  colocar  necessariamente  depois  de  Sistemas  Operativos,  cobrindo  todos  os  aspetos  mais  avançados  que  na  atual  configuração  não  teriam  sentido  no  2º  semestre  do  1º  ano.  

6.1.2.2 Computação  Gráfica  e  Interfaces  Pessoa  Máquina    

Tópico   Horas  mínimas  

Horas  letivas  (core)  

Horas  letivas  (elective)  

Variação  (core)  

HC.  Human-­‐Computer  Interaction   8   16.5   12   +106%  

GV.  Graphics  and  Visual  Computing   3   12   16.5   +300%  

Tabela  12  -­‐  UCs  cujo  conjunto  esta  sobre  representado  na  LEIC  em  relaçãoao  CS/ACM  

Os  tópicos  cobertos  nestas  duas  áreas  têm  um  número  de  horas  reduzido  no  core  de  CS/ACM  (11h)   pelo   que   a   sua   cobertura   no   conjunto   das   duas   UC   é   muito   superior   ao   previsto   no  CS/ACM.    

A  oportunidade  poderia  ser  o  compactar  das  duas  UC  de  CG  e   IPM  para  fazer  uma  UC  de  1º  ciclo  e  criar  uma  UC  de  Mestrado  ou  manter  as  duas  UC,  mas  com  carga  letiva  mais  reduzida.  Depois  de   várias  discussões  e  de  a  área   científica  e  pedagógica   considerar  que  a   junção  dos  dois   temas   seria   contraproducente   foi   adotada   a   redução   da   carga   horária   de   Computação  Gráfica  para  4,5  ECTS.  

Ambas  as  UC  devem  procurar  adaptar  o  seu  currículo  de  forma  a  garantirem  maior  aderência  e  eficiência  ao  currículo  CS/ACM.    

Unidade  Curricular   Horas  lectivas  (core)  

Horas  lectivas  (elective)  

Rentabilidade  (core)  

Rentabilidade  (elective)  

Modelação (MOD)   18.5   0   44%   0%  

Compiladores (CO)   12   25.5   29%   61%  

Tabela  13-­‐  UCs  do  Departamento  com  baixa  rentabilidade  

6.1.2.3 Compiladores  Esta  UC  que  tem  um  número  de  horas  letivas  elevado  quando  comparado  com  as  preconizadas  nas   core   hours   das   recomendações   CS/ACM,   apesar   de   ser   reconhecido   o   seu   interesse   no  âmbito   da   Licenciatura.   Foi   encarada   a   hipótese   de   a   tornar   optativa,   juntamente   com  Modelação,  ou  a  sua  deslocação  para  o  Mestrado.  A  proposta  que  pareceu  mais  equilibrada  é  reduzir  a  sua  carga  letiva  para  um  padrão  semelhante  ao  proposto  para  a  UC  de  Computação  Gráfica,  2h  teóricas  e  1,5  aulas  práticas  correspondente  a  4,5  ECTS.  

Page 18: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  18    

6.1.2.4 Modelação  A   cadeira   tem   sido   alvo   de   várias   evoluções   ao   longo   do   tempo   e   a   sua   formulação   ainda  levanta   problemas   junto   dos   alunos.   O   conteúdo   continua   a   ser   pouco   representativo   do  núcleo   de   CS,   em   particular   em   Information   Management,   situando-­‐se   em   Software  Engineering   e   existe   a   preocupação   de   sobreposição   com   Engenharia   de   Software.   Esta  preocupação  foi  reforçada  pelos  sumários  que  serviram  de  base  à  avaliação.  

A  temática  da  análise  e  concepção  de  sistemas  de  informação  é  relevante  para  o  curso  e  para  os   perfis   de   saída   da   LEIC.   A   UC   tem   de   ser   alvo   de   uma   profunda   revisão   que   elimine   as  preocupações  anteriores  e  contribua  fortemente  para  a  formação  associada  ao  CS/ACM.  

6.2 Criação  de  uma  UC  que  permita  motivar  os  alunos  para  os  desafios  da  Engenharia  Informática  (Engenharia  Informática)  

Para   procurar   dar   resposta   ao   problema   da   motivação   e   percepção   dos   objetivos   do   curso  sentido   pelos   alunos,   propõe-­‐se   criar   uma   UC   (Engenharia   Informática)   de   carga   horária  limitada,  por  exemplo  1,5  horas  teóricas  semanais  (3  ECTS),  para  procurar  criar  uma  visão  da  atividade   do   engenheiro   informático,   dos   desafios   da   Engenharia   Informática   e  simultaneamente   cobrir   tópicos   considerados   como   “core”   pelo   CS/ACM   e   que   não   são  abordados  no  currículo  atual  da  LEIC  (Tabela  2).  

A   cadeira   poderia   funcionar   com   um   regime   de   seminários,   obrigando   os   alunos   a,  semanalmente,   entregarem   um   relatório/trabalho   sobre   o   tema,   e   recorrer   a   diversos  convidados:   ex-­‐alunos   com   atividade   profissional   relevante,   especialistas   e   professores   de  outros  departamentos  ou  universidades.  

A   análise   de   uma   cadeira   desta   índole   precisa,   obviamente,   de   uma   cuidada   preparação;  apenas   como   exemplo   apresentam-­‐se   alguns   dos   tópicos   que   poderia   abordar   dando  contribuições  para  os  temas  de  Social  and  Professional  issues  abordados  no  CS/ACM:  

• A  função  informática  • Gestão  informática  em  grandes  Empresas  • O  projeto  de  informática  • Desenvolvimento  de  um  produto  informático  • Qualidade  de  Software  • Software  open  source  e  software  aberto  

6.3 Criação  de  uma  UC  que  cubra  os  tópicos  de  Social  and  Professional  Issues  do  CS/ACM  (Aspectos  Profissionais  e  Sociais  da  Engenharia  Informática)  

Propõe-­‐se  a  criação  de  uma  UC  com  uma  estrutura  semelhante  à  UC  anterior,  mas  que  cubra  aspeto  relevantes  da  atividade  profissional  e  dos  impactos  sociais  da  Engenharia  Informática.  A  UC   teria   de   ser   pensada   para   o   enquadramento   nacional   em   termos   de   legislação   e  regulamento  da  profissão  apesar  de  muitos  dos  tópicos  do  CS/ACM  serem  universais.  

A  título  de  exemplo  alguns  dos  temas  poderiam  ser:  

• As  redes  sociais  

Page 19: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  19    

• Segurança  e  crime  informático  • Propriedade  intelectual  de  software  • Normas  e  certificações  • Ética  profissional  

A   cadeira   poderia   recorrer   a   diversos   convidados:   ex-­‐alunos   com   atividade   profissional  relevante,  especialistas  e  professores  de  outros  departamentos  ou  universidades.  

No  currículo  deveria  situar-­‐se  no  final  do  curso,  mas  tal  é  difícil  pelo  equilíbrio  de  ECTS  nas  UC  do  1º   ano.  Não   sendo   curricularmente   a  melhor   solução  decidiu-­‐se   colocar  no  2º   ano   como  cadeira  também  motivadora  e  que  contribua  para  a  redução  do  esforço  dos  alunos  nesse  ano.  A  UC  deverá  também  reforçar  a  capacidade  expositiva  e  de  apresentação  dos  alunos.  

6.4 Proposta  de  Currículo  Para  equilibrar  os  ECTS  aumentou-­‐se  as  UC  com  projeto  para  7,5  ECTS,  reconhecendo  o  esforço  real  dos  alunos  mas  ressalvando  que  tal  não  pode  corresponder  a  nenhum  incremento  das  atuais  cargas  de  trabalho  em  termos  de  trabalhos  ou  avaliações.  

1º  ano  

Introdução  à  Arquitectura  de  computadores  

Álgebra  Linear  Cálculo  Diferencial  Integral  I  

Fundamentos  de  Programação  

Engenharia  Informática  

Totais  

7,5   6   6   7,5   3   30  

Lógica  para  Programação  

Teoria  da  Computação  

Cálculo  Diferencial  Integral  II  

Int  Algoritmos  e  Estruturas  de  Dados  

   7,5   7,5   7,5   7,5    

30  

2ºano  

Sistemas  Operativos  

Análise  Complexa  e  Equações  Diferenciais  

Programação  com  Objectos  

Mecânica  e  Ondas  

Aspectos  Profissionais  e  Sociais  da  Engenharia  Informática  

 7,5   7,5   6   6   3   30  Análise  e  Síntese  de  Algoritmos  

Probabilidades  e  Estatística  

Interface  Pessoa  Máquina    

Eletromagnetismo  e  Ótica  

Matemática  Discreta    

 6   6   7,5   6   4,5   30  

3º  Ano  

Redes  de  Computadores  

Organização  de  Computadores  

Base  de  Dados  

Inteligência  Artificial  

Computação  gráfica  

 6   6   6   7,5   4,5    

Sistemas  Distribuídos  

Engenharia  de  Software  

Análise  e  Modelação  de  Sistemas  

Compiladores     Gestão    

 7,5   7,5   6   4,5   4,5   30    

Page 20: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  20    

Nova  Altera  a  localização  Altera  carga  horária  Altera  conteúdo    

1º  Ano  

• 4  UC  nucleares  por  semestre    

• 1  UC  de  motivação  e  soft  skills  com  3  ECTS  

• Alteração  de  Fundamentos  de  Programação  para  Programação  Imperativa,  de  acordo  com  o  programa  em  anexo  

• Incorporação  da  matéria  relevante  de  Sistemas  Digitais  e  de  Arquitetura  de  Computadores  numa  única  UC  

• Passagem  das  Físicas  para  2º  ano  depois  de  CDI  I  e  II  

• Antecipação  de  Lógica  para  Programação  que  não  apresenta  restrições  fortes  de  sequência    

2º  Ano  

• 4  UC  nucleares  no  1º  semestre  

• 1  UC  de  professional  and  social  issues  e  soft  skills  com  3  ECTS  

• Matemática  Discreta  passa  para  2º  ano  2º  semestre,  colocando-­‐a  mais  próxima  das  UC  com  temas  que  se  relacionam  com  esta  disciplina  

• Antecipação  de  Análise  e  Síntese  de  Algoritmos  e  Interfaces  Pessoa  Máquina    

3º  Ano  

• 5  UC  por  semestre  mas  3  com  4,5  ECTS  

• Mantêm-­‐se  a  cobertura  de  todos  os  tópicos  relevantes  do  CS/ACM  em  particular  Compiladores,  Análise  e  Modelação  e  Computação  Gráfica  

• Projeto  de  Sistemas  Distribuídos  e  Engenharia  de  Software  no  final  da  Licenciatura  

• Gestão  passa  para  o  3º  ano  2º  semestre  

Distribuição  dos  Créditos  ECTS   Anterior     Proposta  Ciências  da  Engenharia     55.5   57  Ciências  da  Engenharia  Informática     117.0   112,5  Competências  Transversais     7.5   10,5  

180 180

Page 21: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  21    

CIÊNCIAS DA ENGENHARIA Área  Científica   Unidades  Curriculares   Nº  de  créditos  Matemática ÁLGEBRA  LINEAR   6

CÁLCULO  DIFERENCIAL  E  INTEGRAL  I   6 CÁLCULO  DIFERENCIAL  E  INTEGRAL  II   7,5 ANÁLISE  COMPLEXA  E  EQUAÇÕES  DIFERENCIAIS   7,5 MATEMÁTICA  DISCRETA   4,5 TEORIA  DA  COMPUTAÇÃO   7,5 PROBABILIDADES  E  ESTATÍSTICA   6   45

Física MECÂNICA  E  ONDAS   6 ELECTROMAGNETISMO  E  ÓPTICA   6 12

 

CIÊNCIAS DA ENGENHARIA INFORMÁTICA Área  Científica   Unidades  Curriculares   Nº  de  créditos  ARQUITECTURA E SISTEMAS OPERATIVOS

INTRODUÇÃO  Á  ARQUITECTURA  DE  COMPUTADORES  

7,5

ORGANIZAÇÃO  DE  COMPUTADORES   6 SISTEMAS  OPERATIVOS   7,5 SISTEMAS  DISTRIBUÍDOS   7,5 28,5

Computação Gráfica e Multimédia

COMPUTAÇÃO  GRÁFICA   4,5 INTERFACES  PESSOA-­‐MÁQUINA   7,5 12

Inteligência Artificial

LÓGICA  PARA  PROGRAMAÇÃO   7,5 INTELIGÊNCIA  ARTIFICIAL   7,5 15

Metodologia e Tecnologia da Programação

FUNDAMENTOS  DE  PROGRAMAÇÃO 7,5 ALGORITMOS  E  ESTRUTURAS  DE  DADOS   7,5 PROGRAMAÇÃO  COM  OBJECTOS   6 ANÁLISE  E  SÍNTESE  DE  ALGORITMOS   6 COMPILADORES   4,5 ENGENHARIA  DE  SOFTWARE   31,5

Redes REDES  DE  COMPUTADORES 6 6.0

Sistemas de Informação

BASES  DE  DADOS   6 MODELAÇÃO   6 12

 

COMPETÊNCIAS TRANSVERSAIS Área  Científica   Unidades  Curriculares   Nº  de  créditos  

Page 22: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  22    

Gestão e Economia

GESTÃO   4.5

Outras competências: sociais e profissionais

ENGENHARIA  INFORMÁTICA 3 ASPECTOS  PROFISSIONAIS  E  SOCIAIS  DA  ENGENHARIA  INFORMÁTICA

3

10,5  

6.5 Avaliação  

6.5.1 UC  com  3  ECTS  Para  garantir   a   redução  efetiva  da   carga   letiva  e  das  épocas  de  avaliação  as  UC   com  3  ECTS  devem  ser  avaliadas  por  trabalhos  a  realizar  nas  oito  primeiras  semanas  do  semestre  e  não  ter  avaliação  por  exame.  

6.5.2 UC  com  4,5  ECTS  As  UC  com  4,5  ECTS  deverão  ter  a  avaliação  por  testes  e  projeto  durante  o  semestre  até  à  12ª  semana  e  apenas  exame  para  os  casos  de  exceção.  

6.6 Reformulação  de  UC  Em  anexo  apresentam-­‐se  as  reformulações  de  UC  que  foram  alvo  de  mudanças  mais  significativas.  Outras  UC  vão  ser  adaptadas  ou  já  o  foram  em  2011/12  de  modo  a  melhorem  a  sua  cobertura  e  eficiência  em  termos  do  CS/ACM.  

7 As  recomendações  da  ACM  para  2013  Depois   de   este   trabalho   ter   sido   iniciado,   surgiu   uma   primeira   versão   das   novas  recomendações  da  ACM  a  publicar  em  2013  [ACM12].  Foi  decidido  não  adaptar  o  trabalho  já  desenvolvido   às   novas   recomendações,   dado   que   estas   ainda   se   encontram   numa   fase   de  estudo,  mas  analisá-­‐las  para  potenciar  a  evolução  do  currículo  da  LEIC.  Esta  secção  apresenta  uma  análise  destas  recomendações  com  um  carácter  não  exaustivo.  No  final  de  2013,  após  a  publicação   final   das   novas   recomendações,   deveria   ser   criado   um   grupo   de   trabalho   que  analisasse  de  forma  exaustiva  o  novo  currículo  da  LEIC  face  às  novas  recomendações.    

O  relatório  preliminar  sobre  o  currículo  da  ACM  2013  [ACM12]  apresenta  as  seguintes  alterações  em  relação  às  recomendações  anteriores:  

• São   individualizadas  três  novas  áreas  no  corpo  de  conhecimento,  “arrumando”  tópicos  que  anteriormente  estavam  classificados  noutras  áreas:

• IAS — Security and Information Assurance. Esta área reconhece a dependência

mundial das tecnologias de informação e o seu papel no ensino da informática.

Aborda o conjunto de tecnologias e processos que protegem e defendem a

informação e os sistemas de informação);

• PBD — Platform-based Development. Esta área reconhece o aumento

significativo na utilização de ambientes de programação para plataformas

Page 23: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  23    

específicas. Aborda o estudo de ambientes associados a plataformas específicas

(como a web ou plataformas móveis), APIs e serviços;

• PD — Parallel and Distributed Computing. Esta área reconhece a importância da

computação paralela e distribuída. Aborda o estudo de modelos de programação,

algoritmos, desempenho, arquitecturas computacionais e sistemas distribuídos.

• Com a evolução da informática e o aparecimento de novos tópicos dentro das diversas

áreas de conhecimento, a ACM reconhece que existe o risco de aumentar os números

de horas necessárias num currículo. O número de horas nucleares tinha aumentado de

280 para 290 na última revisão (Tabela 14), aumentando para 305 na versão de 2013.

Assim, no currículo de 2013 surge a noção de “fileira” (tier) que divide os tópicos

nucleares em dois níveis. Os tópicos da fileira 1 (tier 1) são obrigatórios em qualquer

currículo de informática; tópicos da fileira 2 (tier 2) não são obrigatórios individualmente

mas é obrigatório que pelo menos 80% destes sejam cobertos num currículo de

informática. Introduz-se assim uma certa flexibilidade no curriculum, permitindo uma

variação entre 277 e 305 horas nucleares. Para além dos tópicos nucleares, a ACM

recomenda que um currículo de informática não se limite às horas nucleares e que cubra

um número significativo de tópicos optativos.

• A ACM desencoraja que áreas de conhecimento sejam diretamente associadas a

unidades curriculares, preferindo que unidades curriculares cubram várias áreas de

conhecimento, fornecendo aos alunos uma visão mais geral da informática que se vai

progressivamente aprofundando.

• É recomendado que exista num curriculum de informática um projeto substancial de

desenvolvimento de software que transcenda aquilo que se espera que um aluno realize

numa única unidade curricular.

•   As  recomendações  do  futuro  currículo  de  2013  continuam  a  dar  ênfase  a  aspectos  não  cobertos  pela  LEIC,  nomeadamente,  “soft  skills”  (trabalho  em  equipa  e  comunicação),  identificação  de  oportunidades  e  riscos,  empreendedorismo,  aspectos  sociais  e  profissionais.  

Na  Tabela  14  apresentam-­‐se  as  horas  lectivas  associadas  a  cada  uma  das  áreas  de  conhecimento  no  currículo  de  2013,  bem  como  a  evolução  das  horas  nucleares  entre  os  currículos  de  2001,  2008  e  2013.  A  verde  indica-­‐se  aumentos  de  horas  nucleares  e  a  amarelo  diminuições  de  horas  nucleares  em  cada  uma  das  áreas.  

Knowledge  Area   Tier1   Tier2     CS2013  (Tier1+Tier2)  

CS2008  (core)  

CC2001  (core)  

AL-­‐Algorithms  and  Complexity   19   9     28 31 31

AR-­‐Architecture  and  Organization   0   16     16 36 36

CN-­‐Computational  Science   1   0     1 0 0

DS-­‐Discrete  Structures   37   4     41 43 43

GV-­‐Graphics  and  Visual  Computing   2   1     3 3 3

Page 24: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  24    

Knowledge  Area   Tier1   Tier2     CS2013  (Tier1+Tier2)  

CS2008  (core)  

CC2001  (core)  

HC-­‐Human-­‐Computer  Interaction   4   4     8 8 8

IAS-­‐Security  and  Information  Assurance   2   6     8

IM-­‐Information  Management   1   9     10 11 10

IS-­‐Intelligent  Systems   0   10     10 10 10

NC-­‐Networking  and  Communication  (no  ACM  2008  conhecida  por  Net-­‐Centric  Computing)  

3   7     10 15 15

OS-­‐Operating  Systems   4   11     15 18 18

PBD-­‐Platform-­‐based  Development   0   0     0

PD-­‐Parallel  and  Distributed  Computing   5   10     15

PL-­‐Programming  Languages   8   20     28 21 21

SDF-­‐Software  Development  Fundamentals   42   0     42 47 38

SE-­‐Software  Engineering   6   21     27 31 31

SF-­‐Systems  Fundamentals   18   9     27

SP-­‐Social  and  Professional  Issues   11   5     16 16 16

Total   163   142     305 290 280 Tabela  14:  Comparação  das  recomendações  da  ACM  2001-­‐2013.  

7.1 Nova  estrutura  curricular  Uma  primeira  análise  do  currículo  da  ACM  2013  face  ao  novo  currículo  da  LEIC  é  apresentada  na  tabela  Tabela  15.  Esta  análise  preliminar  deve  ser  atualizada  com  a  nova  versão  do  documento  do  currículo  da  ACM  2013.  

  Horas  (Tier-­‐1)

Horas  (Tier-­‐2)

Disciplinas  associadas  e  horas  letivas  (Tier-­‐1)

Disciplinas  associadas  e  horas  letivas  

(Tier-­‐2)

Horas  letivas  (Tier-­‐1)

Horas  letivas  (Tier-­‐2)

AL/Basic  Analysis 2 2 ASA(1.5)  +  IAED(1.5) ASA(1.5) 3 1.5

AL/Algoritmic  Strategies 5 1 IAED(3)  +  ASA  (3)  +  LP(1.5) ASA  (3) 10.5 3

AL/Fundamentals  of  Data  Structures  and  Algorithms

9 3 FP(3)  +  ASA(4.5)  +  IAED(7.5) ASA(12) 15 12

AL/Basic  Automata,  Computability  and  Complexity

3 3 TC(6) TC  (3)  +  ASA(4.5) 6 7.5

AR/Digital  logic  and  digital  systems   3   OC(3) 3  

AR/Machine  level  representation  of  data   3   OC(3) 3  

AR/Assembly  level  machine  organization   6   AC  (7.5)  +  

OC(22.5) 30  

Page 25: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  25    

  Horas  (Tier-­‐1)

Horas  (Tier-­‐2)

Disciplinas  associadas  e  horas  letivas  (Tier-­‐1)

Disciplinas  associadas  e  horas  letivas  

(Tier-­‐2)

Horas  letivas  (Tier-­‐1)

Horas  letivas  (Tier-­‐2)

AR/Memory  system  organization  and  architecture

  3   OC  (6) 6  

AR/Interfacing  and  communication   1   OC(4.5) 4.5  

CN/Fundamentals 1   Modelos,  simulação,  validação   1  

DS/Sets,  Relations,  and  Functions 4   CDI1(6)   6  

DS/Basic  Logic 9   LP(12)   12  

DS/Proof  Techniques 10 1 CDI1(1.5)  +  LP(7.5) LP(3) 9 3

DS/Basics  of  Counting 5   MD(12)   12  

DS/Graphs  and  Trees 3 1 IAED(3)   3

DS/Discrete  Probability 6 2 PE(6)  +  MD(1.5) PE(6)  +  MD(1.5) 7.5 7.5

GV/Fundamental  Concepts 2 1 CG(3) CG(1.5) 3 1.5

HC/Foundations 4   IMP(10.5)   10.5  

HC/Designing  Interaction   4   IPM(7.5)   7.7

IAS/Fundamental  Concepts 1 2        

IAS/Network  Security 1 4 SD(1.5) SD(4.5) 1.5 4.5

OS/  Overview  of  Operating  Systems 1   SO(1.5)  +  SD(4.5)   6  

OS/Operating  System  Principles 1   SO(3)   3  

OS/Concurrency   3   SO(10.5)   10.5

OS/Scheduling  and  Dispatch   3   SO  (3)   3

OS/Memory  Management   1   SO(3)   3

OS/Security  and  Protection   2   SD(9)  +  BD(1.5)   10.5

NC/Introduction 1.5   RC(1.5)   1.5  

NC/Networked  Applications 1.5   RC(7.5)  +  BD(1.5)   9  

Page 26: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  26    

  Horas  (Tier-­‐1)

Horas  (Tier-­‐2)

Disciplinas  associadas  e  horas  letivas  (Tier-­‐1)

Disciplinas  associadas  e  horas  letivas  

(Tier-­‐2)

Horas  letivas  (Tier-­‐1)

Horas  letivas  (Tier-­‐2)

NC/Reliable  Data  Delivery   2   RC(7.5)   7.5

NC/Routing  and  Forwarding   1.5   RC(6)   6

NC/Local  Area  Networks   1.5   RC(3)   3

NC/Resource  Allocation   1   RC(1.5)   1.5

NC/Mobility   1   RC(1.5)   1.5

IM/Information  Management  Concepts 1 2 BD(1.5) AMS  (1.5) 1.5 1.5

IM/Database  Systems   3   BD(1.5)   1.5

IM/Data  Modeling   4   BD(3)   3

IS/Fundamental  Issues   1   IA(1.5)   1.5

IS/Basic  Search  Strategies   4   IA(10.5)   10.5

IS/Basic  Knowledge  Representation  and  Reasoning

  3   IA(6)   6

IS/Basic  Machine  Learning   2      

Tópico  a  introduzir  

em  Inteligênc

ia  Artificial

PD/Parallelism  Fundamentals 2   SD(3)   3  

PD/Parallel  Decomposition 1 3        

PD/Communication  and  Coordination 1 3 AV(1.5) AC(4.5) 1.5 4.5

PD/Parallel  Algorithms,  Analysis,  and  Programming

  3        

PD/Parallel  Architecture 1 1        

PL/Object-­‐Oriented  Programming   4 6 FP  (3)  +  PO(10.5) PO(7.5)  +  CO(3) 13.5 10.7

PL/Functional  Programming 3 4 FP(3) FP(3) 3 3

PL/Event-­‐Driven  and  Reactive  Programming   2   PO(3)   3

Page 27: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  27    

  Horas  (Tier-­‐1)

Horas  (Tier-­‐2)

Disciplinas  associadas  e  horas  letivas  (Tier-­‐1)

Disciplinas  associadas  e  horas  letivas  

(Tier-­‐2)

Horas  letivas  (Tier-­‐1)

Horas  letivas  (Tier-­‐2)

PL/Basic  Type  Systems   1 4   FP(1.5) 1.5  

PL/Program  Representation 1   CO(várias  aulas)      

PL/Language  Translation  and  Execution   3   CO(1.5)   1.5

SDF/Algorithms  and  Design 11   FP  +  IAED  +  ASA  

(várias  aulas)     11

SDF/Fundamental  Programming  Concepts 10   FP(9)  +  IAED(6)   15  

SDF/Fundamental  Data  Structures 12   FP(9)  +  IAED(13.5)   22.5  

SDF/Development  Methods 9   FP  +  ES  +  AMS  (várias  

aulas)   9  

SE/Software  Processes 1 2 FP(1.5)  +  ES(1.5) ES(3) 3 3

SE/Software  Project  Management   3   ES(3)   3

SE/Tools  and  Environments   2   ES(1.5)   1,5

SE/Requirements  Engineering 1 3 ES(1.5)  +  AMS(1.5) AMS(3) 3 3

SE/Software  Design 4 4 ES(1.5) PO  (10.5)  +  ES(9) 1.5 19.5

SE/Software  Construction   3   ES(várias  aulas)   3

SE/Software  Verification  Validation   3   SE(9)   9

SE/Software  Evolution   1        

SE/Software  Reliability   1        

SF/Computational  Paradigms 3   SO  +  SD  (várias  aulas)   3  

SF/Cross-­‐Layer  Communications 3   SD  (várias  aulas)   3  

SF/State-­‐State  Transition-­‐State  Machines

6   AC  +  OC  (várias  aulas)   6  

SF/System  Support  for  Parallelism 3          

SF/Performance 3   AC  (7.5)   7.5  

Page 28: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  28    

  Horas  (Tier-­‐1)

Horas  (Tier-­‐2)

Disciplinas  associadas  e  horas  letivas  (Tier-­‐1)

Disciplinas  associadas  e  horas  letivas  

(Tier-­‐2)

Horas  letivas  (Tier-­‐1)

Horas  letivas  (Tier-­‐2)

SF/Resource  Allocation  and  Scheduling   2   SO  (várias  aulas)   2

SF/Proximity   3   AV  (várias  aulas)   2

SF/Virtualization  and  Isolation   2   SO  (várias  aulas)   2

SF/Reliability  through  Redundancy   2   SD  (várias  aulas)   2

SP/Social  Context 1 2      

SP/Analytical  Tools 2   A  ser  coberto  em  APSEI   2  

SP/Professional  Ethics 2 2 A  ser  coberto  em  APSEI

A  ser  coberto  em  APSEI 2 2

SP/Intellectual  Property 2   A  ser  coberto  em  APSEI   2  

SP/Privacy  and  Civil  Liberties 2   A  ser  coberto  em  

APSEI   2  

SP/Professional  Communication 1   A  ser  coberto  em  

APSEI   1  

SP/Sustainability 1 1 A  ser  coberto  em  APSEI

A  ser  coberto  em  APSEI 1 1

Tabela  15  -­‐  LEIC  2013  comparação  com  CS/ACM  12  

8 Referências    [ACM08]   ACM,  “Computer  Science  Curriculum  2008:  An  Interim  Revision  of  CS  2001  

(Report  from  the  Interim  Review  Task  Force)”,  Association  for  Computing  Machinery  and  IEEE  Computer  Society,  2008  (www.acm.org/  education/  curricula/  ComputerScience2008.pdf).  

[ACM12]   ACM,  “Computer  Science  Curricula  2013  (Strawman  Draft)”,  Association  for  Computing  Machinery  and  IEEE  Computer  Society,  2012  (http://ai.stanford.edu/  users/sahami/CS2013/).  

[R3A11]   Relatório  Anual  de  Auto-­‐Avaliação,  Licenciatura  Bolonha  em  Engenharia,  Informática  e  de  Computadores  –  Alameda  e  TagusPark  (http://nep.ist.utl.pt/files/RAAA_LEIC-­‐A_08-­‐09.pdf)  

[R3A12]   Relatório  Anual  de  Auto-­‐Avaliação,  Licenciatura  Bolonha  em  Engenharia,  Informática  e  de  Computadores  –  Alameda  e  TagusPark  

[JPMartins12]   Avaliação  da  LEIC  versão  7.0,  DEI  2012  

Page 29: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  29    

   

Page 30: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  30    

UC  do  1º  Ano  

Proposta  para  Fundamentos  da  Programação  FUNDAMENTOS  DA  PROGRAMAÇÃO  Área  Científica:  Metodologia  e  Tecnologia  da  Programação  –  Linguagens  de  Programação  Créditos  ECTS:    7.5  ECTS  Objectivos  Fornecer conhecimentos sobre conceitos fundamentais relativos à actividade de programação, nomeadamente, algoritmo, abstracção procedimental e abstracção de dados, a programação como construção de abstracções, paradigmas de programação. Após a frequência da cadeira, os alunos deverão dominar os conceitos apresentados e serem capazes de desenvolver programas numa linguagem de programação de alto nível, o Python. Programa    Computadores, algoritmos e programas Características de um computador

Algoritmos Programas e algoritmos Linguagens de programação Sintaxe e semântica

Elementos básicos de programação Expressões

Tipos elementares de informação Nomes e atribuição Comunicação com o exterior Programas, instruções e sequenciação Selecção Repetição Funções Definição de funções em Python Aplicação de funções em Python Abstracção procedimental Estruturação de funções Módulos Tuplos e ciclos contados Tuplos Ciclos contados Cadeias de caracteres revisitadas Listas

Listas em Python Métodos de passagem de parâmetros Algoritmos de procura Algoritmos de ordenação Considerações sobre eficiência

Funções revisitadas Funções recursivas Funções de ordem superior Programação funcional Recursão e iteração Recursão linear Iteração linear Recursão em processos e em função Recursão em árvore Ficheiros O tipo ficheiro Leitura de ficheiros Escrita em ficheiros Dicionários O tipo dicionário

Page 31: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  31    

Dicionários de dicionários Caminhos mais curtos em grafos Abstracção de dados Abstracção em programação Tipos abstractos de informação Barreiras de abstracção Objectos Programação com objectos Classes subclasses e herança Objectos em Python Polimorfismo O desenvolvimento de programas Análise do problema Desenvolvimento da solução Programação da solução A fase de testes A manutenção Estruturas lineares Pilhas Aplicações de pilhas Filas Simulação de um supermercado Árvores O tipo árvore Ordenação por árvore Bibliografia  

João P. Martins, Introdução à programação com múltiplos paradigmas, a submeter à IST Press, 2012 (400 páginas) Downey A.B., Python for Software Design, Cambridge University Press, 2009. Zelle J.M., Python Programming: An Introduction to Computer Science, Franklin, Beedle & Associates, Inc., 2010.

Método  de  Avaliação  A avaliação de conhecimentos da cadeira não tem exame final, sendo apenas realizada avaliação do tipo contínuo com os seguintes componentes:

• Avaliação dos alunos durante as aulas práticas recorrendo à resolução de exercícios no quadro (estas avaliações são classificadas com uma das notas 0; 5; 10; 15; 20). Cada aluno das aulas práticas terá no mínimo duas avaliações em aulas diferentes. Os trabalhadores estudantes devem comparecer pelo menos a duas aulas práticas.

• Dois testes realizados em comum por todos os alunos. Durante época de exames, existirá uma data para a repescagem de um dos testes. No entanto, se um aluno se apresentar à repescagem, a nota obtida no respectivo teste será a nota da repescagem, independentemente de esta ser superior ou inferior à do teste.

• Projecto de programação em grupos de dois ou três alunos, com duas entregas. Para obter aprovação na cadeira, as seguintes condições têm que ser cumulativamente verificadas: 1. A média aritmética dos dois testes realizados em comum é superior ou igual a 9.5 valores; 2. A nota do projecto é superior ou igual a 9.5 valores. Nestas condições, a nota da cadeira é calculada por uma média ponderada da classificação obtida nas provas realizadas, com os seguintes pesos: 1. Projecto 35 % 2. Média aritmética dos exercícios das aulas prática 20 % 3. Média aritmética dos dois testes 45% Todas as componentes da avaliação têm que ser realizadas no mesmo semestre lectivo. Todas as notas serão colocadas na página da cadeira, podendo ser contestadas nas duas semanas seguintes à sua colocação. Após esse período de duas semanas as notas são consideradas definitivas e não se aceitam reclamações seja qual for o pretexto. Todo o aluno que for apanhado a copiar ou a deixar copiar numa dada prova será imediatamente reprovado na disciplina, podendo, para além da reprovação, ser levantado um

Page 32: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  32    

processo disciplinar. O corpo docente da cadeira será o único juiz do que se considera ou não copiar numa dada prova. A inscrição para a realização dos testes é obrigatória e deverá ser efectuada através da página da cadeira, com uma antecedência mínima de dois dias úteis. Não se garante aos alunos não inscritos a possibilidade de realizarem a sua avaliação, ficando isso dependente da disponibilidade de recursos na altura da prova. A avaliação nos testes incide sobre toda a matéria leccionada nas aulas teóricas até ao final da semana anterior à realização do teste e sobre toda a matéria leccionada nas aulas práticas até à semana da realização do teste (inclusivé). Durante época de exames, existirá uma data para a repescagem de um dos testes. No entanto, se um aluno se apresentar à repescagem, a nota obtida no respectivo teste será a nota da repescagem, independentemente de esta ser superior ou inferior à do teste.  

FOUNDATIONS  OF  PROGRAMMING  Scientific  Area:  Metodologia  e  Tecnologia  da  Programação  –  Programming  Languages  ECTS:  7,5  ECTS  Goals    To provide understanding of fundamental concepts related to programming, namely, algorithm, procedural abstraction and data abstraction, programming and construction of abstractions, programming paradigms. After completing this course, students should master the concepts presented and be able to develop programs in a high-level programming language, Python. Syllabus    Computer programs and algorithms Characteristics of a computer Algorithms Programs and algorithms Programming Languages Syntax and Semantics Basic elements of programming Expressions Basic data types Names and assignment Communication with outside environment Programs, instructions and sequencing Selection Repetition Functions Defining functions in Python Using functions in Python Procedural Abstraction Structuring functions Modules Tuples and counted looks Tuples Counted loops Strings revisited Lists Lists in Python Parameter-passing methods Search algorithms Sorting algorithms Considerations efficiency Functions revisited Recursive functions Higher-order functions Functional Programming Recursion and iteration Linear recursion Linear iteration Recursion in functions and in processes

Page 33: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  33    

Tree Recursion Files The file type Reading from Files Writing into files Dictionaries The type dictionary Dictionaries of dictionaries Shortest paths in graphs Data Abstraction Abstraction in programming Abstract data types of Abstraction barriers Objects Programming with Objects Classes and inheritance subclasses Objects in Python Polymorphism The development of programs Analysis of the problem Development of the Solution Programming the Solution The test phase Maintenance Linear structures Stacks Stack Applications Queues Simulation of a supermarket Trees The type tree Tree sorting Bibliography  

João P. Martins, Introdução à programação com múltiplos paradigmas, a submeter à IST Press, 2012 (400 páginas) Downey A.B., Python for Software Design, Cambridge University Press, 2009. Zelle J.M., Python Programming: An Introduction to Computer Science, Franklin, Beedle & Associates, Inc., 2010.

Assessment  The assessment of the course has no final examination, being composed of evaluation with the following components:

• Assessment of students during recitations by solving problems. Each student in a recitation will have at least two evaluations in a semester. • Two common tests for all students. During exam season, there is a date for a recap one of the tests. However, if a student is present to recap, the grade obtained in the test is the note from the recap, whether it be higher or lower than the test. • Programming project in groups of two or three students, with two deliveries.

To pass the course, the following conditions must be cumulatively met: The arithmetic average of the two tests in common is greater than or equal to 9.5; The note of the project is greater than or equal to 9.5. The final grade is calculated by a weighted average of the grades obtained with the following weights: Project 35% Arithmetic average of the grades of recitations 20% Arithmetic average of the two tests 45% All components of the evaluation must be performed in the same semester.

Page 34: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  34    

All grades will be publicly available though Fenix system and may be challenged in the two weeks following its placement. After this two-week period the grades are considered final.. Any student who is caught copying or let another student to copy will immediately fail in course.    

Page 35: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  35    

Proposta  para  Introdução  à  Arquitectura  de  Computadores  INTRODUÇÃO  À  ARQUITETURA  DE  COMPUTADORES  Área Científica: Arquitectura e Sistemas Operativos - Arquitectura de Computadores e Sistemas Embebidos

Créditos ECTS: 7,5 ECTS  

Objectivos  

Os  alunos  deverão  dominar  os  conceitos  básicos  e  o  funcionamento  geral  de  um  computador,  a  estrutura  material  que  permite  a  execução  de  programas.  Deverão  conseguir  descrever  o  funcionamento  dos  elementos  básicos,  processador,  sistema  de  memória  e  sistema  de  entradas  e  saídas,  e  sua  interação.  Em  particular,  devem  ser  capazes  de  compreender  a  estrutura  interna  de  um  processador  e  o  processo  de  execução  das  instruções.  

Programa    

Introdução  e  visão  global  • Organização  interna  de  um  computador:  processador,  memória,  periféricos,  barramentos;  ciclo  

básico  das  instruções;  noção  de  contador  de  programa  e  de  endereço  • Interação  com  o  exterior;  componentes  de  um  computador    • Estrutura  interna  de  um  processador  • Perspetiva  histórica  

Representação  digital  da  informação  • Bases  de  numeração  • Operações  aritméticas  em  bases  2,  8  e  16  • Códigos  numéricos  e  alfanuméricos  

Funções  lógicas  • Álgebra  de  Boole  • Manipulação  de  expressões  lógicas  • Portas  lógicas  básicas  e  sua  realização  física  • Codificadores  e  descodificadores;  multiplexadores    

Circuitos  aritméticos  • Somadores  e  Subtratores  • Multiplicadores  e  divisores  • Unidade  lógica  e  aritmética  

Circuitos  sequenciais  • Registos  e  bancos  de  registos  • Memórias  • Separação  entre  circuito  de  dados  e  circuito  de  control  

Conjunto  de  Instruções  (ISA)  • Instruções  típicas;  Modos  de  endereçamento  • Pilha  e  rotinas  • Interrupções  

Arquitetura  de  um  processador  • Estrutura  interna  de  um  processador:  codificação  de  instruções,  bits  de  estado,  registos  especiais  • Unidade  de  processamento:  banco  de  registos  e  ULA  • Unidade  de  controlo:  micro-­‐programação  • Análise  da  execução  de  instruções  

•  Sistema  de  memória  • Endereçamento  da  memória:  protocolo  e  descodificação  de  endereços  • Caches:  princípios  de  funcionamento  e  racional  de  desempenho  • Memória  virtual:  princípios  de  funcionamento,  tradução  de  endereços  

Page 36: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  36    

Sistema  de  entradas  e  saídas  • Periféricos  e  barramentos  • Comunicação  com  o  exterior  (paralela  e  série,  protocolos)  • Temporizadores  e  interrupções  

Bibliografia  Arquitectura  de  Computadores:  dos  Sistemas  Digitais  aos  Microprocessadores  G.  Arroz,  J.  Monteiro,  A.  Oliveira  IST  Press,  ISBN  978-­‐972-­‐8469-­‐54-­‐2  Arquitectura  de  Computadores  J.  Delgado,  C.  Ribeiro  FCA,  ISBN  972-­‐722-­‐245-­‐5    Secundária:  Logic  and  Computer  Design  Fundamentals  Mano  &  Kime  Prentice-­‐Hall  International,ISBN  013140539X  

Método  de  Avaliação  

• Teórica (70%). Nota mínima: 8 (2 testes). • Projecto (30%). Nota mínima: 8

 

INTRODUCTION  TO  COMPUTER  ARCHITECTURE  Scientific Area: Architecture and Operating Systems – Computer Architecture and Operating Systems

ECTS: 7,5 ECTS  

Objectives  

Students  should  master  the  basic  concepts  and  general  operation  of  a  computer,  the  hardware  structure  supporting  the  execution  of  programs.  They  should  be  able  to  describe  the  operation  of  the  basic  elements  of  a  computer,  the  processor,  the  memory  system  and  the  input/output  system,  and  their  interaction.  In  particular,  they  should  be  able  to  understand  the  internal  structure  of  a  processor  and  the  process  of  instruction  execution.  

Program  

Introduction  and  overview  • Internal  organization  of  a  computer:  CPU,  memory,  peripherals,  buses,  basic  cycle  of  instructions;  

notion  of  program  counter  and  address    • Interaction  with  the  real  world;  components  of  a  computer  • Internal  structure  of  a  processor  • Historical  perspective  

Representation  of  digital  information  • Number  representation  • Arithmetic  in  radices  2,  8  and  16  • Numeric  and  alphanumeric  codes  

Logical  functions  • Boolean  algebra  • Manipulation  of  logical  expressions  • Logic  gates  and  their  basic  physical  realization  • Encoders  and  decoders,  multiplexers  

Page 37: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  37    

Arithmetic  circuits  • Adders  and  subtractors  • Multipliers  and  dividers  • Arithmetic  Logic  Unit  

Sequential  circuits  • Registers  and  register-­‐files  • Memories  • Datapaths  and  controllers  

Instruction  Set  Architecture  (ISA)  • Typical  instructions;  Addressing  modes  • Stack  and  routines  • Interruptions  

Architecture  of  a  processor  • Internal  structure  of  a  processor:  instruction  encoding,  flags,  special  registers  • Datapath:  register-­‐file  and  ALU  • Control  unit:  micro-­‐programming  • Analysis  of  instruction  execution  

Memory  system  • Memory  addressing:  protocols  and  address  decoding  • Caches:  operation  and  performance  analysis  • Virtual  memory:  basic  operation  and  address  translation  

Input/Output  system  • Peripherals  and  buses  • Communication  (parallel  and  serial  protocols)  • Timers  and  interrupts  

Bibliography  Arquitectura  de  Computadores:  dos  Sistemas  Digitais  aos  Microprocessadores  G.  Arroz,  J.  Monteiro,  A.  Oliveira  IST  Press,  ISBN  978-­‐972-­‐8469-­‐54-­‐2  Arquitectura  de  Computadores  J.  Delgado,  C.  Ribeiro  FCA,  ISBN  972-­‐722-­‐245-­‐5    Secondary:  Logic  and  Computer  Design  Fundamentals  Mano  &  Kime  Prentice-­‐Hall  International,ISBN  013140539X  

Assessment  

• Written Tests (70%). Minimum grade: 8 (2 tests). • Project (30%). Minimum grade: 8

 

   

Page 38: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  38    

Proposta  para  Teoria  da  Computação  TEORIA  DA  COMPUTAÇÃO  (LEIC)  Área Científica: Matemática – Lógica e Computação  

Créditos ECTS: 7,5 ECTS  

Objectivos  

Aprender a trabalhar com modelos computacionais comuns: autómatos finitos, autómatos de pilha e máquinas de Turing. Entender e saber utilizar os conceitos de maquinismo, linguagem formal, gramática, recursos computacionais. Compreender e aprofundar os conceitos de ''tarefa'' algorítmica e de ''tarefa'' não algorítmica. Conhecer os limites para ''tarefas'' algorítmicas. Entender a computação como conceito físico-matemático e não como conceito puramente matemático. Experimentar conceitos e técnicas em ambientes computacionais interativos.

Programa    

Autómatos: Autómatos  finitos  determinísticos  e  não  determinísticos.  Autómatos  de  pilha.  Linguagens  regulares  e  linguagens  livres  de  contexto.  Gramáticas  regulares  e  gramáticas  livres  de  contexto.  Forma  normal  de  Chomsky.  Expressões  regulares.  Teoremas  de  bombagem.  

Computabilidade:  Máquinas  de  Turing  determinísticas,  não  determinísticas  e  enumeradoras.  Funções  computáveis.  Conjuntos  recursivamente  enumeráveis.    Oráculos.  Reduções.  O  problema  da  terminação  (introdução  à  técnica  da  diagonalização).  Teorema  de  Kleene.  Vírus.  O  teorema  de  Rice  e  suas  aplicações.  Postulado  de  Church-­‐Turing.  

Complexidade:    Recursos  computacionais.  Funções  construtíveis.    Teoremas  de  hierarquia  (emprego  da  diagonalização).    Teorema  de  Savitch.  

Classes  computacionais:  P,  PSPACE,  NP,  EXPTIME,  PP,  BPP.  Relações  estruturais.  

Conjuntos  completos. Bibliografia  

Michael   Sipser.   Introduction   to   the   Theory   of   Computation,   Thomson,   Course   Technology,   Second  Edition,  International  Edition,  2006.  Third  edition  in  print.

Método  de  Avaliação  

Avaliação contínua: Média dos três melhores testes entre quatro. Cotação de cada teste: 0-20.

Page 39: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  39    

THEORY  OF  COMPUTATION  (LEIC)  Scientific Area: Mathematics – Logic and Computation  

ECTS: 7,5 ECTS  

Goals    

To  learn  how  to  work  with  common  computational  paradigms:  finite  automata,  pushdown  automata  and  Turing   machines.   To   understand   the   concepts   of   machine,   formal   language,   grammar,   computational  resources.  To  understand  the  meaning  of  algorithmic  and  non-­‐algorithmic   ''task''.  To  know  the   limits   to  algorithmic  ''tasks''.  To  understand  computation  as  a  physical-­‐mathematical  concept  and  not  as  a  purely  mathematical   concept.   To   experiment   concepts   and   techniques   in   interactive   computational  environments.

Program    

Automata: • Deterministic  and  non-­‐deterministic  finite  automata.  Pushdown  automata.  • Regular  and  context-­‐free  languages.  • Regular  and  context-­‐free  grammars.  • Chomsky  normal  form.  • Regular  expressions.  • Pumping  lemmas.    

Computability:  • Deterministic,  non-­‐deterministic  Turing  machines  and  enumerators.    • Computable  functions.    Recursively  enumerable  sets.    • Oracles.  Reductions.    • The  halting  problem  (introduction  to  the  technique  of  diagonalization).    • Kleene's  theorem.  Viruses.    • Rice's  theorem  and  its  applications.    • Church-­‐Turing  thesis.    

Complexity:    • Computational  resources.  Constructible  functions.  • Hierarchy  theorems  (uses  of  diagonalization).  • Savitch  theorem.  • Computational  classes:  P,  PSPACE,  NP,  EXPTIME,  PP,  BPP.  Structural  relations.  • Complete  sets.  

Bibliography  

Michael   Sipser.   Introduction   to   the   Theory   of   Computation,   Thomson,   Course   Technology,   Second  Edition,  International  Edition,  2006.  Third  edition  in  print.

Assessment  

Written Tests: Average of the best three within 4 written tests. Grade of each test: 0-20.  

   

Page 40: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  40    

Proposta  para  Engenharia  Informática  

Introdução  à  Engenharia  Informática  Área Científica: Competências Transversais  

Créditos ECTS: 3 ECTS  

Objectivos  

Dar  aos  alunos  uma  visão  da  engenharia  informática  na  sociedade,  nas  empresas,  na  inovação  e  na  investigação.      

Programa    

SEMANA   Topico  1    A  função  da  informática  na  sociedade.  O  papel  do  Engenheiro  Informático.  2   As  bases  científicas  da  Engenharia  Informatica  

    Ciências  da  Computação  e  da  Informação    Bioinformática,  Computação  Quântica,  I.A.,  Voz,  Visão....  

3   Engenharia  de  Computadores  e  das  Infraestruturas  Informáticas       Computadores,  S.O.s,  S.D.s,Computação  em  Nuvém,  Data  Centers,  Segurança,  ...  4   Engenharia  de  Software  e  Sistemas  Aplicacionais  Especializados  

    Conceção,  desenvolvimento,  produção  e  teste  de  produtos  de  Software.    Principais  domínios  aplicacionais  em  Engenharia  de  Software  

5   Engenharia  dos  Sistemas  de  Informação  

    A  Informática  nas  Organização:  Arquitetura,  Governação  e  Engenharia  Empresarial  A  descoberta,  mineração,  exploração  e  preservação  da  Informação    

6   A  investigação  em  Engenharia  Informática:  Os  grandes  desafios  da  Sociedade  Biónica  

7   Inovação  e  Empreendedorismo  em  Engenharia  Informática    

     

Bibliografia  

Livro  Base  sobre  o  que  é  a  Engenharia:  Introdução  à  Engenharia:  Conceitos,  Ferramentas  e  Comportamentos,  Walter  António  Bazzo  e  Luis  Teixeira  do  Vale  Pereira,  editora  da  U.  F:  de  Santa  Catarina,  Brasil  (pdf  disponível  publicamente  Web)  Wikipédia    Outro  material  disponível  na  web  sobre  os  diversos  domínios  e  problemáticas  da  Engenharia  Informática.    

Método  de  Avaliação  • Avaliação contínua semanal a realizar semanalmente do semestre, com base na elaboração de 6

trabalhos individuais envolvendo pesquisa na web, com 3 páginas cada valendo 10% cada, e um trabalho final temático, com 6 páginas valendo 40%. Ênfase na organização das ideias, na qualidade da escrita e de síntese apresentada.

Page 41: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  41    

Introduction  to  Information  Systems  and  Computer  Engineering  

Scientific  Area:    

ECTS:  3  ECTS  

Goals  To provide the students with views of the role, the purpose and the professional practices of Information Systems and Computer Engineering in Society, in the Enterprises, in Innovation and in Research.

Syllabus  Week   Topic  

1    The  function  of  Information  Systems  and  Computer  Engineering  in  Society.  The  role  of  Information  Systems  and  Computers  Engineers  

2   The  scientific  basis  of  Information  Systems  and  Computer  Engineering    

    Computing  and  Information  Sciences,    Bioinformatics,  Quantic  Computing,  A.I.,  Speech  and  Vision,  

3   Computer  Engineering  and  IT  Infrastructures  

    Computers,  Operating  Systems,  Distributed  Systems  ,Cloud  Computing,  Data  Centers,  Cyber  Security,  ...  

4   Software  Engineering  and  Systems    

    Design,  development,  production,  testing  of  software  products  Main  application  domains  in  Software  Engineering  

5   Information  Systems  Engineering  

   The  Organizational  IT/IS  function  :  Enterprise  Architecture,  Governance,  and  Engineering  Discovery,  mining  and  preservation  of  Information    

6   Information  Systems  and  Computer  Engineering  research:  The  great  challenges  of  the  Bionic  Society  

7   Innovation  and  Enterpreneurship  in  Information  Systems  and  Computer  Engineering    

Bibliography  • Introdução à Engenharia: Conceitos, Ferramentas e Comportamentos, Walter António Bazzo e

Luis Teixeira do Vale Pereira, editora da U. F: de Santa Catarina, Brasil (freely available on the Web)

• Wikipédia • Other material available in the web on the multiple domains and problems addressed by the

Information Systems and Computer Engineering

Assessment  • Weekly written (3 pages) individual homework during the half semester, requiring focused web

search on the week topic, worth 10% each, and a final systemic essay, with 6 pages worth 40%. Emphasis on the organization of the ideas, the quality of the prose and the degree of synthesis.

     

Page 42: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  42    

UC  do  2º  Ano  

Proposta  para  Matemática  Discreta  MATEMÁTICA  DISCRETA  

Área Científica: Matemática – Lógica e Computação

Créditos ECTS: 4.5 ECTS

Objectivos  

Desenvolver  o  raciocínio  matemático  rigoroso.  Dominar  os  instrumentos  matemáticos  necessários  para  a  análise  de  procedimentos  e  algoritmos,  quer  quanto  à  sua  correcção,  quer  quanto  à  sua  eficiência  (no  tempo  e  no  espaço).  

Programa    

Algoritmia:    • Introdução  à  linguagem  de  programação  Mathematica.  Procedimento  versus  algoritmo.    • Análise  da  eficiência  de  programas  imperativos  no  pior  caso  e  no  caso  médio.  Notação  assintótica.    • Somatórios,  produtórios  e  recorrências.  Princípio  de  inclusão-­‐exclusão.  Demonstração  por  indução  finita  

de  formas  fechadas.  Fórmula  da  soma  de  Euler.    • Exemplos  motivadores:  análise  de  algoritmos  sobre  matrizes,  pesquisa  e  ordenação,  reconhecimento  de  

padrões.  Teoria  de  números  elementar:  

• Aritmética  modular.  Factorização  e  primalidade,  teorema  de  Euler.  Teorema  chinês  dos  restos.  • Relações  de  equivalência  e  de  congruência.  Corpos  finitos.    • Polinómios  sobre  corpos  finitos.  Bases  de  Gröbner  e  aplicações.    • Transformada  de  Fourier  discreta,  algoritmo  de  cálculo  eficiente  e  sua  correcção.    • Exemplos  motivadores:  criptografia  (RSA),  teoria  algorítmica  de  números,  compressão  de  dados,  

verificação  de  circuitos  lógicos,  problema  da  satisfação  (SAT).    Funções  geradoras:    

• Função  geradora  de  uma  sucessão.  Propriedades.  Coeficientes  binomiais.  • Função  geradora  de  uma  variável  aleatória  discreta,  momentos.    • Análise  de  recorrências.  Resolução  de  equações  lineares  às  diferenças.  • Teorema  da  expansão  racional  e  aplicações.    • Exemplos  motivadores:  problemas  de  contagem,  análise  de  algoritmos  recursivos,  tabelas  de  dispersão  

(hashing).    Correcção  de  programas:  

• Correcção  parcial  de  programas,  condições  invariantes.  Terminação  de  programas,  expressões  variantes.  • Pré-­‐condição  e  pós-­‐condição.  Cálculo  de  Hoare  para  correcção  parcial  de  programas  imperativos.    • Ordens  parciais,    bem  fundadas  e  indução.  Cálculo  de  Hoare  para  correcção  total  de  programas  

imperativos.  • Síntese  de  programas  pelo  método  de  Dijkstra.  • Exemplos  motivadores:  correcção  total  de  algoritmos  de  pesquisa  e  ordenação.  

Bibliografia  

P.  Mateus  e  C.  Sernadas.  Matemática  Discreta,  DMIST,  2005.  K.H.  Rosen.  Discrete  Mathematics,  McGraw-­‐Hill,  1999.  Complementar:  E.  Bach  e  J.  Shallit.  Algorithmic  Number  Theory  -­‐  Volume  I:  Efficient  Algorithms,  MIT  Press,  1996.  D.  Bressoud  e  S.  Wagon.  Computational  Number  Theory,  Key  Curriculum  Press,  2000.  R.  Graham,  D.  Knuth  e  O.  Patashnik.  Concrete  Mathematics:  A  Foundation  for  Computer  Science,  Addison-­‐Wesley,  2nd  edition,  1994.  

Page 43: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  43    

D.  Knuth.  The  Art  of  Computer  Programming,  Volumes  1-­‐3,  Addison-­‐Wesley,  1998.  A.  Sernadas,  C.  Sernadas  e  J.  Ramos.  Programação  em  Mathematica,  DMIST,  2003.  N.  Koblitz  .  Algebraic  Aspects  of  Cryptography,  Springer-­‐Verlag,  1999.  

Método  de  Avaliação  • Avaliação contínua. Média dos 3 melhores de entre 4 testes.

 

DISCRETE  MATHEMATICS  

Scientific Area: Mathematics – Logic and Computation

ECTS: 4.5 ECTS

Goals    

Develop  rigorous  mathematical  reasoning.  Master  the  mathematical  tools  for  algorithm  and  procedure  analysis,  focusing  both  on  correctness  and  (space  and  time)  complexity.  

Program    

Algorithmics:  • Introduction  to  the  Mathematica  programming  language.  Procedure  versus  algorithm.  • Worst-­‐case  and  average-­‐case  analysis  of  imperative  programs.  Asymptotic  notation.  • Sums,  products  and  recurrences.  Inclusion-­‐exclusion  principle.  Finite  induction  proof  of  closed  forms.  

Euler's  summation  fórmula.    • Motivating  examples:  analysis  of  algorithms  over  matrices,  searching  and  sorting,  pattern  recognition.  

Elementary  number  theory:  • Modular  arithmetic.  Primality  and  factoring,  Euler's  theorem.  Chinese  remainder  theorem.  • Equivalence  and  congruence  relations.  Finite  fields.    • Polynomials  over  finite  fields.  Gröbner  bases  and  aplications.    • Discrete  Fourier  transform,  FFT  algorithm  and  its  correctness.    • Motivating  examples:  cryptography  (RSA),  algorithmic  number  theory,  data  compression,  Boolean  circuit  

verification,  satisfiability  problem  (SAT).    Generating  functions:    

• Generating  function  of  a  sequence.  Properties.  Binomial  coefficients.  • Generating  function  of  a  discrete  random  variable,  moments.    • Analisys  of  recurrences.  Resolution  of  linear  difference  equations.  • Rational  expansion  theorem  and  aplications.    • Motivating  examples:  counting  problems,  analisys  of  recursive  algorithms,  hash  tables.    

Program  correctness:  • Partial  correctness  of  programs,  invariant  conditions.  Program  termination,  variant  expressions.  • Pre-­‐condition  and  post-­‐condition.  Hoare  calculus  for  partial  correctness  of  imperative  programs.    • Partial  orders,    well-­‐foundedness  and  induction.  Hoare  calculus  for  total  correctness  of  imperative  

programs.  • Synthesis  of  programs  by  Dijkstra's  method.  • Motivating  examples:  total  correction  of  searching  and  sorting  algorithms.  

Bibliography  

P.  Mateus  e  C.  Sernadas.  Matemática  Discreta,  DMIST,  2005.  K.H.  Rosen.  Discrete  Mathematics,  McGraw-­‐Hill,  1999.  For  further  reading:  E.  Bach  e  J.  Shallit.  Algorithmic  Number  Theory  -­‐  Volume  I:  Efficient  Algorithms,  MIT  Press,  1996.  D.  Bressoud  e  S.  Wagon.  Computational  Number  Theory,  Key  Curriculum  Press,  2000.  R.  Graham,  D.  Knuth  e  O.  Patashnik.  Concrete  Mathematics:  A  Foundation  for  Computer  Science,  Addison-­‐Wesley,  2nd  edition,  1994.  

Page 44: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  44    

D.  Knuth.  The  Art  of  Computer  Programming,  Volumes  1-­‐3,  Addison-­‐Wesley,  1998.  A.  Sernadas,  C.  Sernadas  e  J.  Ramos.  Programação  em  Mathematica,  DMIST,  2003.  N.  Koblitz  .  Algebraic  Aspects  of  Cryptography,  Springer-­‐Verlag,  1999.  

Assessment  • Average of the best 3 out of 4 tests.

 

   

Page 45: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  45    

Proposta  para  ASPECTOS  SOCIAIS  E  PROFISSIONAIS  DA  ENGENHARIA  INFORMÁTICA  ASPECTOS  SOCIAIS  E  PROFISSIONAIS  DA  ENGENHARIA  INFORMÁTICA  Área  Científica:    Créditos  ECTS:    3.0  ECTS  Objectivos  Transmitir aos futuros engenheiros informáticos a noção do enorme impacto social que os aspectos éticos têm no desenvolvimento e utilização de produtos e serviços baseados em tecnologias de informação. Ensinar os fundamentos necessários para que possam fazer as escolhas acertadas quando confrontados com situações concretas envolvendo o desenvolvimento, operação e utilização de sistemas de informação. Programa    Ética

Ética e integridade. Moralidade e ética, legalidade e legitimidade Ética no sector das tecnologias de informação

Ética e responsabilidade profissional dos engenheiros informáticos

Organizações profissionais Programas de certificação Uso aceitável dos sistemas de informação

Segurança e crime informático

Estabelecimento de políticas de segurança Educação dos intervenientes. Prevenção, detecção e resposta a incidentes. Legislação.

Privacidade

Leis de proteção da privacidade Gestão da privacidade e anonimidade

Liberdade de expressão Controlo do acesso à informação Anonimidade na Internet. Difamação

Propriedade intelectual

Direito de cópia Patentes Software livre. Acesso aberto Plágio. Engenharia inversa Ciber-ocupação

Impactos das tecnologias de informação na sociedade • Tecnologias de informação, investimento e produtividade • Exclusão Digital • Tecnologias de informação na saúde •

As redes sociais Uso comercial das redes sociais Cyberbullying e cyberstalking Partilha de conteúdos inapropriados Mundos virtuais. Uso educativo e comercial. Crime nos mundos virtuais.

Ética das organizações

Gestão de colaboradores e fornecedores externos Computação verde.

Page 46: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  46    

Bibliografia  Livro principal:

George W. Reynolds, Ethics in Information Technology, Third Edition, 2010. Course Technology, Cengage Learning. ISBN-13: 978-0-538-74622-9  

Livro complementar: Sara Baase, A Gift of Fire: Social, Legal, and Ethical Issues for Computing Technology (4th Edition). 2013. ISBN-13: 978-0132492676

Método  de  Avaliação  A nota da unidade curricular é calculada por uma média ponderada da classificação obtida pela apresentação de relatórios de estudo de casos a serem apresentados ao longo do semestre (60%) e de uma apresentação oral (40%).  

SOCIAL  AND  PROFESSIONAL  ASPECTS  OF  COMPUTER  SCIENCE  &  ENGINEERING  

Scientific  Area:    

ECTS:  3.0  ECTS  

Goals    Convey to future computer science & engineering students a perspective on the enormous social impacts that ethical aspects have in the development and use of products and services based in information technology. Learn the basic foundations for making the right choices when confronted with real situations involving the development, operation and use of information systems.

Syllabus    Ethics Ethics and integrity. The difference between morals, ethics and laws. Ethics in the Information Technology sector Ethics and social responsibility of information technology professionals Professional organisations Certification programmes Acceptable use policies of information systems Information security and computer crime Establishing a security policy Educating the stakeholders Incident prevention, detection, and response to incidents. Laws. Privacy Privacy protection laws Privacy and anonymity management Freedom of expression Controlling access to information Internet anonymity. Defamation Intellectual property Copyright law. Patents

Page 47: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  47    

Free software. Open access Plagiarism. Reverse engineering Cybersquatting Societal impacts of information technology Information technology investment and productivity Digital divide. Information technology in healthcare Social networks Commercial use of social networks Cyberbullying e cyberstalking Sharing of inappropriate content Virtual worlds. Educational and business use of virtual worlds. Crime in virtual worlds. Ethics in organisations The ethical use of outsourcing and contingent workers Green computing. 8.1.1 Bibliography Main reference:

George W. Reynolds, Ethics in Information Technology, Third Edition, 2010. Course Technology, Cengage Learning. ISBN-13: 978-0-538-74622-9

Complementary reference:

Sara Baase, A Gift of Fire: Social, Legal, and Ethical Issues for Computing Technology (4th Edition). 2013. ISBN-13: 978-0132492676

8.1.2 Assessment The final grade is the weighted average of the grade obtained on case study reports to be discussed along the semester (60%) and an oral presentation on a topic selected and presented by the students (40%).

   

Page 48: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  48    

UC  do  3º  ano  

Proposta  para  Organizaçãode  Computadores  ORGANIZAÇÃO  DE  COMPUTADORES  Área Científica: Arquitectura e Sistemas Operativos - Arquitectura de Computadores e Sistemas Embebidos

Créditos ECTS: 6 ECTS  

Objectivos  

Os  alunos  deverão  adquirir  uma  visão  abrangente  e  atual  das  arquiteturas  de  computadores  ao  nível  dos  seus  diversos  componentes:  processadores,  sistema  de  memória  e  de  entradas  e  saídas.  Os  alunos  deverão  ainda  ser  capazes  de  compreender  as  condicionantes  para  a  evolução  dos  sistemas  computacionais  e  de  avaliar  estratégias  para  optimização  de  programas  tendo  em  atenção  a  arquitetura  computacional  subjacente,  baseadas  em  métricas  de  desempenho.

Programa    

Introdução  e  revisão  dos  conceitos  básicos • Revisão  da  organização  interna  e  funcionamento  de  um  computador  • Perspetiva  da  evolução  recente  e  futura  

Organização  do  computador  • Arquitetura  lógica  dos  processadores,  CISC  vs  RISC;  condicionantes  da  evolução  tecnológica  dos  

computadores    • Geração  de  código,  papel  dos  compiladores    • Organização  dos  dados  em  memória    • Representação  de  números:  formato  IEEE  754    • Métricas  de  desempenho,  Lei  de  Amdahl  

Funcionamento  de  um  processador  RISC  • Organização  de  um  processador:  unidades  de  processamento  e  controlo  • Processamento  em  pipeline  • Conflitos  no  pipeline:  dados,  controlo  e  estruturais  • Otimização  do  código  

Sistema  de  memória  • Hierarquia  de  memória.  Memória  primária.    • Arquitetura  das  memórias  cache;  Políticas  de  gestão  das  caches  e  sua  implementação;  

Optimização  de  programas    • Gestão  de  memória,  ligação  ao  sistema  operativo;  mecanismos  eficientes  de  tradução  de  

endereços    • Funcionamento  integrado  do  sistema  de  memória  

Sistema  de  entradas  e  saídas  • Interface  analógico-­‐digital    • Análise  do  desempenho  na  comunicação  com  periféricos    • Caraterísticas  de  barramentos  padrão.  Pontes  de  ligação  à  memória  e  periféricos    • Interface  de  periféricos  com  a  memória,  processador  e  sistema  operativo;  Interrupções,  

Excepções  e  Traps;  DMA    • Compressão  de  dados;  fiabilidade  de  dados:  paridade,  ECC,  RAID  

Arquiteturas  avançadas  • Processadores  multiple-­‐issue:  superescalares  e  VLIWs  • Arquiteturas  paralelas:  taxonomia  de  Flynn  • Multiprocessadores:  SMP  e  NUMA;  coerência  de  memória;  sincronismo  

Page 49: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  49    

• Clusters    

Bibliografia  Computer  Organization  and  Design:  The  Hardware/Software  Interface  David  A.  Patterson,  John  L.  Hennessy  Morgan  Kaufmann,  ISBN  1558606041  Secundária:  Structured  Computer  Organization  Andrew  S.  Tanenbaum  Prentice-­‐Hall,  ISBN  978-­‐0131485211  Computer  Architecture:  A  Quantitative  Approach  John  L.  Hennessy,  David  A.  Patterson  Morgan  Kaufmann,  ISBN  012383872X

Método  de  Avaliação  

• Teórica (70%). Nota mínima: 8 • Projecto (30%). Nota mínima: 8

 

COMPUTER  ORGANIZATION  Scientific Area: Architecture and Operating Systems – Computer Architecture and Operating Systems

ECTS: 6 ECTS  

Objectives  

Students  should  acquire  a  comprehensive  view  of  current  computer  architectures  and  its  various  components:  processors,  memory  and  input/output  systems.  Students  should  also  be  able  to  understand  the  constraints  to  the  development  of  computer  systems  and  evaluate  strategies  for  optimizing  programs  taking  into  account  the  underlying  computer  architecture,  based  on  performance  metrics.

Program  

Introduction  and  review  of  basic  concepts Review  of  the  internal  organization  and  functioning  of  a  computer  Perspective  of  recent  and  future  developments  

Computer  organization  Processor  architectures,  RISC  vs  CISC;  conditionings  affecting  the  technologic  evolution  of  computers    Code  generation,  role  of  compilers  Organization  of  data  in  memory  Representation  of  numbers:  IEEE  754  format  Performance  Metrics,  Amdahl's  Law  

Operation  of  a  RISC  processor  Organization  of  a  processor:  processing  and  control  units  Pipelined  operation  Conflicts  in  the  pipeline:  data,  control  and  structural  Code  Optimization  

Memory  system  Memory  hierarchy.  Main  memory.  Architecture  of  cache  memories;  caches  management  policies  and  their  implementation;  program  optimization  

Page 50: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  50    

Memory  management,  relation  to  the  operating  system;  efficient  mechanisms  for  address  translation  Operation  of  the  integrated  memory  system  

Input/Output  system  Analog/digital  interface  Performance  analysis  of  communication  with  peripherals  Standard  buses.  Bridges  between  memory  and  peripherals  Peripheral  Interface  with  memory,  processor  and  operating  system;  Interrupts,  Exceptions  and  Traps;  DMA  Data  compression,  data  reliability:  parity,  ECC,  RAID  

Advanced  architectures  Multiple-­‐issue  processors:  superscalar  and  VLIWs  Parallel  architectures:  Flynn  taxonomy  Multiprocessors:  SMP  and  NUMA,  memory  coherence,  timing  Clusters  

Bibliography  Computer  Organization  and  Design:  The  Hardware/Software  Interface  David  A.  Patterson,  John  L.  Hennessy  Morgan  Kaufmann,  ISBN  1558606041  Secondary:  Structured  Computer  Organization  Andrew  S.  Tanenbaum  Prentice-­‐Hall,  ISBN  978-­‐0131485211  Computer  Architecture:  A  Quantitative  Approach  John  L.  Hennessy,  David  A.  Patterson  Morgan  Kaufmann,  ISBN  012383872X

Assessment  

• Written Tests (70%). Minimum grade: 8 • Project (30%). Minimum grade: 8

   

Page 51: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  51    

Proposta  para  Análise  e  Modelação  de  Sistemas  

Análise  e  Modelação  de  Sistemas  Área Científica: Sistemas de Informação  

Créditos ECTS: 6 ECTS  

Objectivos  

Dotar  os  alunos  com  as  competências  fundamentais  para  a  análise  de  problemas  de  engenharia  em  que  a  solução  se  pode  conceptualizar  como  um  sistema,  recorrendo  a  técnicas  de  engenharia  de  requisitos  e  desenvolvimento  de  modelos  conceptuais  (especialmente  em  UML,  SysML  e  BPMN). Programa    

Engenharia  de  Sistemas:  conceitos,  técnicas  e  processos • Conceitos  fundamentais  de  modelação  conceptual  no  contexto  da  engenharia  de  sistemas;  

definições  de  "sistema"  e  de  "sistema  de  sistemas";  conceitos  de  contexto  e  de  arquitectura  de  sistema,  "stakeholders",  “concern”,  “viewpoint”,  “view”  e  modelos.  As  ontologias  ISO  42010  e  de  Zackman.  

• Técnicas  de  representação  de  contextos,  com  destaque  para  a  técnica  de  mapas  conceptuais.  Conceitos,  motivações  para  a  MDA  (Model  Driven  Architecture)  e  MDE  (Model  Driven  Engineering).  

• Apresentação  das  principais  entidades  de  normalização  de  referência  (ISO,  ITU,  IEEE,  W3C,  IETF,  INCOSE,  NISO,  IPQ,  OASIS,  The  Open  Group,  OMG).    

Engenharia  de  Requisitos:  conceitos,  processos  e  técnicas  fundamentais:  • Requisitos  como  “concerns”  e  constrangimentos  aos  sistemas.  Os  processos  de  levantamento,  

negociação,  validação  e  documentação  de  requisitos.  Ferramentas  de  gestão  de  requisitos.  Técnicas  para  levantamento  de  requisitos.  Regras  para  expressão  de  requisitos  bem  formados  e  SMART  (Specific,  Measurable,  Achievable,  Realisable,  Traceable).  Técnicas  de  rastreabilidade.  

• Requisitos  funcionais.  Conceitos  de  vistas  de  sistemas  “black  box”  e  “white  box”.  Casos  de  uso  e  cenários  de  casos  de  uso  como  técnicas  de  engenharia  de  requisitos  (UML  e  SysML).  

• Requisitos  não  funcionais.  Contexto  de  sistema  e  questões  éticas,  sociais  e  políticas.  Dimensões  éticas  e  morais  de  análise  de  sistemas.  Códigos  de  ética  em  engenharia.  (IEEE,  ACM  e  OE).    

Análise  e  Modelação  Orientada  a  Objectos  -­‐  Modelos  de  Estrutura:    • Modelação  orientada  a  objectos:  conceitos;  vistas  de  estrutura  e  de  comportamento.  Sistemas  

físicos  e  sistemas  lógicos.  Sistemas  de  informação  como  sistemas  lógicos.    • Análise  de  universos  de  discurso  e  desenvolvimento  de  modelos  de  domínio  em  UML.  

Associações  em  modelos  UML  (generalização  e  especialização;  associações  genéricas;  composição  e  agregação;  classes  de  associação).  Diagramas  de  componentes  e  de  instalação  em  UML.  Modelação  de  interfaces.  Diagramas  de  objectos.  Modelos  em  SysML.  

Análise  e  Modelação  Orientada  a  Objectos  -­‐  Modelos  de  Comportamento:  • Vistas  de  comportamento  “black  box”  (casos  de  uso)  e  “white  box”  (eventos,  fluxos  e  

mensagens).  Técnicas  UML  para  desenvolvimento  de  vistas  de  comportamento:  diagramas  de  mensagens  (sequência,  comunicação,  temporais;  interacção  geral),  de  actividade,  e  de  máquinas  de  estado.  

Sistemas  de  Informação  -­‐  Análise  e  Modelação  de  Processos  de  Negócio  • O  processo  como  transformação  de  inputs  em  outputs  com  ênfase  no  produto  final  e  produção  

de  valor.  A  relevância  da  vista  de  processos  de  uma  organização  (qualidade  e  responsabilidade  na  norma  ISO  9001).  A  cadeia  de  valor  de  Porter.  A  arquitectura  de  processos  na  arquitectura  empresarial.  Processos  de  “risk  assessment”  (identificação,  análise  e  avaliação  de  risco).  

• Elementos  básicos  da  linguagem  BPMN  (eventos,  actividades,  gateways,  sequências,  mensagens,  associações,  objectos  de  dados).  Diagramas  genéricos  em  BPMN.  Processos  públicos,  processos  privados  e  colaborações.  Orquestração  de  processos  versus  coreografia.  Boas  práticas  e  más  práticas.

Page 52: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  52    

Bibliografia  Systems  Engineering  with  SysML/UML  -­‐  Modeling,  Analysis,  Design.  Tim  Weilkiens.  The  Morgan  Kaufmann/OMG  Press  (2008)

Método  de  Avaliação  

Teórica (55%). Nota mínima: 9.0 (4 testes com nota mínima de 7 por teste). Projecto  (45%).  Nota  mínima:  9.0  (4  entregas,  com  nota  mínima  de  8.0  na  entrega  final)

 

Systems  Analysis  and  Modeling  Scientific  Area: Information Systems  

ECTS: 6 ECTS  

Goals  

To  provide  the  fundamental  competencies  for  the  analysis  of  engineering  problems  where  the  solution  can  be  conceptualized  as  a  system,  using  techniques  of  requirements  engineering  and  conceptual  modeling  (especially  UML,  SysML  and  BPMN).

Syllabus  

Systems  Engineering:  concepts,  technics  and  processes • Main  concepts  of  conceptual  modeling  in  the  scope  of  systems  engineering;  definition  of  system,  

system  of  system;  system’s  context;  system’s  architecture;  stakeholders,  concern,  viewpoint,  “view”  and  models.  The  ISO  42010  and  Zackman  frameworks.  

• Techniques  to  model  contexts  (concept  maps).  Motivation  for  the  MDA  (Model  Driven  Architecture)  and  MDE  (Model  Driven  Engineering).  

• Main  references  in  standardization  (ISO,  ITU,  IEEE,  W3C,  IETF,  INCOSE,  NISO,  IPQ,  OASIS,  The  Open  Group,  OMG).    

Requirements  Engineering:  concepts,  processes  and  main  techniques:  • Requirements  as  concerns  and  constraints  to  systems.  The  processes  of  requirements  gathering,  

elicitation,  validation  and  documenting  of  requirements.  Techniques  for  requirements  gathering.  Rules  to  express  SMART  (Specific,  Measurable,  Achievable,  Realizable,  Traceable)  requirements.  Techniques  for  traceability.  

• Functional  requirements.  Concepts  of  “black  box”  e  “white  box”  as  system’s  views.  Use  cases  and  use  case  scenarios  as  requirements  engineering  techniques  (UML  e  SysML).  

• Nonfunctional  requirements.  System  context  and  ethical,  social  and  political  issues.  Technical  and  moral  dimensions  of  systems  analysis.  Ethical  codes  (IEEE,  ACM  e  OE).    

Object-­‐Oriented  Analysis  and  Modeling  –  Models  of  Structure:    • Object  oriented  modeling:  concepts;  views  of  structure  and  behavior.  Physical  and  logical  

systems.  Information  systems  as  logical  systems.  • Analysis  of  a  universe  of  discourse  and  domain  model  in  UML.  Associations  in  UML  models  

(generalization  and  specialization;  generic  associations;  composition  and  aggregation;  association  classes).  Components  and  deployment  diagrams.  Modeling  of  interfaces.  Object  diagrams.  SysML  models.  

Object-­‐Oriented  Analysis  and  Modeling  –  Models  of  Behavior:  • Views  of  behavior  as  “black  box”  (use  cases)  and  “white  box”  (events,  flux  and  messages).  UML  

techniques  for  the  development  of  views  of  behavior:  message  diagrams  (sequence,  communication,  time;  general  interaction),  activity,  and  state  machine.  

Information  Systems  –  Analysis  and  Modeling  of  Business  Processes  • The  process  as  transformation  of  inputs  in  outputs,  with  emphasis  in  the  added  value.  The  

relevance  of  the  process’  view  of  an  organization  (quality  and  accountability;  ISO  9001).  The  

Page 53: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  53    

Porter’s  added  value  chain.  The  architecture  of  processes  in  enterprise  architecture.  The  f  risk  assessment  processes  (risk  identification,  analysis  and  assessment).  

• Fundamentals  of  the  BPMN  language  (events,  activities,  gateways,  sequences,  messages,  associations,  data  objects).  BPMN  diagrams.  Public  processes,  private  processes,  collaborations.  Orchestrations  versus  choreography.  Best  practices  and  anti-­‐patterns..

Bibliography  Systems  Engineering  with  SysML/UML  -­‐  Modeling,  Analysis,  Design.  Tim  Weilkiens.  The  Morgan  Kaufmann/OMG  Press  (2008)

Assessment  

• Theory (55%). Minimum score: 9.0 (4 tests with a minimum of 7.0 by test). • Project  (45%).  Minimum  score:  9.0  (4  deliveries,  with  a  minimum  score  of  8.0  in  the  final  one)

 

Page 54: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  54    

Proposta  para  Bases  de  Dados  BASES  DE  DADOS  

Área  Científica:  Sistemas  de  Informação  –  Tecnologias  de  Sistemas  de  Informação  Créditos  ECTS:6  ECTS  Objectivos  A disciplina faz uma introdução à concepção e análise de bases de dados. O curso foca no modelo relacional, cobrindo o desenho lógico das bases de dados (desenho do esquema) e sua implementação, bem como os sistemas de gestão de transações. Alguns apectos dos sistemas de bases de dados paralelas e distribuídas, gestão de informação não estruturada e semiestruturada serão também abordados. A disciplina tem como objetivo expor os alunos aos conceitos básicos necessários no desenho e concepção de um sistema de gestão de base de dados, assim como questões práticas da sua realização no âmbito de um projeto em equipa. Programa    Introdução aos sistemas de informação e bases de dados.

Principais características dos sistemas de bases de dados. Vantagens. Quando usar e não usar SGBD. Modelos de dados dos SGBD: Modelo Relacional; Arquitetura de SGBD; Mercado dos SGBD. O processo de concepção dos sistemas de base de dados.

Modelação de dados

O Modelo Entidade-Associação: conjuntos de entidades e associações. Entidades Fracas, Generalizações e Agregações. Concepção de bases de dados segundo o modelo E-A. Introdução ao Modelo Relacional. Conversão de modelos E-A em relacionais.

Linguagens para interrogação de bases de dados.

Álgebra Relacional. Cálculo Relacional (pode ser omitido). SQL. Linguagem de manipulação de dados. Views em SQL.

Restrições de Integridade. Integridade de entidades. Integridade de domínio. Integridade referencial. Integridade em SQL Restrições de Integridade do utilizador. Especificação de restrições de Integridade declarativa e procedimental. Integridade em SQL: Triggers

Arquitetura de aplicações de bases de bases de dados e sua programação Stored procedures. Cursores. SQL embebido/SQLJ. SQL dinâmico/JDBC

Normalização de dados. Dependências Funcionais e restrições de integridade. Formas normais. 1FN, 2FN, 3FN, FNBC Teoria das Dependências. Axiomas de Armstrong. Geração de Fecho de um conjunto de atributos. Identificação de superchaves e chaves candidatas. Decomposição de esquemas relacionais. Decomposição sem perdas. Decomposição e normalização.

Page 55: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  55    

Armazenamento e Indexação. Estruturas de Indexação. Opções de armazenamento físico dos dados. Alternativas de coexistência com sistema operativo. Tipos de Ficheiros: tabelas e índices Estruturas de Indexação: Árvore B+. Índices Hash. Índices Bitmap. Criação de índices em SQL

Processamento de transações

Conceito de Transação. Propriedades. Ciclo de Vida das Transações. Execução Concorrente. Serializabilidade. Recuperabilidade; Realização do isolamento. Teste de serializabilidade; Transações em SQL Controlo de Concorrência em Transações. Protocolos de bloqueio; 2PL – bloqueio em duas fases. Tratamento de Deadlocks. Fechos granulares. Aquisição automática de fechos

Recuperação de Transações. Classificação de Falhas em Sistemas de Base de Dados. Recuperação e Atomicidade. Recuperação Baseada em Diário. O algoritmo ARIES.

Segurança e Controlo de Acesso em Bases de Dados. Controlo de Acesso em SQL.

Bases de Dados Paralelas e Distribuídas.

Conceitos. Armazenamento Distribuído. Interrogações Distribuídas. Transações Distribuídas Processamento paralelo de informação.

Sistemas de apoio à decisão.

O pipeline dos processos de descoberta de conhecimento. Data warehousing. Modelo de dados multidimensional. Métodos de prospecção de dados. Regras de Associação.

Gestão de dados não estruturados Metadados. Ontologias. Modelos de pesquisa. Indexação de dados não estruturados. Sistemas de recuperação de informação. Filtragem de informação. Avaliação de sistemas de recuperação de informação.

Gestão de Dados Semiestruturados.

Modelos de representação de informação semiestruturada. XML. Organização de bases de dados semiestruturados. Interrogação de dados semiestruturados. XQuery

Bibliotecas digitais:

Serviços básicos. Uso aceitável. Arquivo e preservação de informação.

Bibliografia  Principal

• Database  Management  Systems,  Fourth  Edition  ,  Raghu  Ramakrishnan,  Johannes  

Page 56: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  56    

Gehrke,,  2002,  McGraw-­‐Hill  -­‐  ISBN-­‐10:  0072968257,  2013  Secundária  

• Database  System  Concepts,  6th  Edition.  ,  Abraham  Silberschatz,  Henry  Korth,  S.  Sudarshan,  2010,  McGraw-­‐Hill  -­‐  ISBN-­‐10:  0073523321  

Método  de  Avaliação  Exame (60%)

Incide sobre toda a matéria do curso. Projeto (40%)

Desenvolvido ao longo do semestre. Corresponde à concepção e realização de uma aplicação de base de dados sobre a web. Primeira entrega incide sobre modelo de dados e interrogação em álgebra relacional. Segunda parte incide sobre implementação do modelo em sistema SQL e desenvolvimento de aplicação.

 

DATABASES  Scientific  Area:  Information  Systems  –  Information  Systems    ECTS:  6  ECTS  Goals    The course introduces students to database design and analysis. The focus is on the relational model, covering the logical design of databases (schema design) and implementation, and transaction processing systems. Aspects of parallel and distributed database systems, unstructured and semi-structured data management, decision support and data mining systems will also be covered. The objective of this course is to expose the student to the basic concepts involved in designing and building a database management system, and to practical database information system design through a team based project. Syllabus    Introduction to database management systems

Main characteristics of database management systems. The advantages of the database approach. When not to use a database management system. Database systems models. The relational model. Database management systems architecture. Database systems market. The database systems development process.

Data modeling

The entity-relationship model. Entity sets and association sets. Weak entities. Generalizations. Aggregations. Introduction to the Relational Model. Conversion of Entity-Relationship models into relational models.

Database query languages

Relational algebra. Relational calculus (may be omitted) Database manipulation language. SQL. Views in SQL.

Integrity constraints Entity integrity. Domain integrity. Referential integrity. Integrity in SQL. User constraints. Declarative and procedural integrity constraints specification. Integrity in SQL. Triggers.

Architecture and programming of database applications Stored procedures. Cursors. Embedded SQL/SQLJ.

Page 57: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  57    

Dynamic SQL/JDBC

Data normalization Functional dependencies and integrity constraints. Normal forms. 1NF. 2NF. 3NF. BCNF, Dependency theory. Armstrong’s axioms. Transitive closure of an attribute set generation Super-keys and candidate keys identification, Relational schema decomposition. Lossless decomposition. Decomposition and normalisation.

Storage and Indexing Indexing structures. Physical storage alternatives. Database and operating systems. Database files: tables and indexes. Indexing structures: B-trees. Hash indexes. Bitmap indexes. Indexes in SQL

Transaction processing

Transaction concept. Properties. Transaction life-cycle. Concurrent execution. Serializability. Recoverability. Isolation implementation. Serializability test. SQL transactions. Concurrency Control Locking protocols. 2PL – two-phase locking. Deadlock handling. Granular locks. Automatic lock acquisition

Transaction recovery Faults in database management systems Recovery and atomicity. Log-based recovery. The ARIES algorithm.

Security and Access control of databases Access control in SQL

Parallel and distributed databases

Concepts. Distributed storage. Distributed querying. Distributed transactions. Parallel data processing.

Decision Support Systems

The information discovery pipeline. Data warehousing. Multi-dimensional data model. Data mining methods. Association rules mining.

Information Management and Retrieval Matadata. Ontologies. Text search models. Text indexing. Information retrieval systems. Information filtering. Information retrieval systems evaluation.

Semi-strucutured data management

Page 58: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  58    

Semi-structured information representation models. XML. Semi-strcutured data management systems organisation. Semi-strcutured data querying. XQuery.

Digital Libraries

Basic services. Acceptable use. Information archiving and preservation.

Bibliography  

Main Rereference • Database Management Systems, Fourth Edition , Raghu Ramakrishnan, Johannes

Gehrke,, 2002, McGraw-Hill - ISBN-10: 0072968257, 2013 Secondary • Database System Concepts, 6th Edition. , Abraham Silberschatz, Henry Korth, S.

Sudarshan, 2010, McGraw-Hill - ISBN-10: 0073523321

Assessment  Exam  (60%)  

Covers  the  entire  syllabus.  Project  (40%)  

Developed  during  the  semester.  Involves  the  design  and  implementation  of  a  web-­‐based  database  application.  First  delivery  reports  on  the  data  model  and  relational  algebra  queries.  The  second  delivery  reports  on  the  SQL  system  implementation  and  developed  application.

Page 59: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  59    

Proposta  para  Computação  Gráfica  COMPUTAÇÃO  GRÁFICA  Área Científica: Computação Gráfica e Multimédia  

Créditos ECTS: 4.5 ECTS  

Objectivos  

Esta  unidade  curricular  pretende  fornecer  conhecimentos  básicos  sobre  computação  gráfica  interactiva.  São  leccionados  os  fundamentos  da  representação  e  criação  de  imagens  sintéticas  a  partir  de  cenas  tri-­‐dimensionais.  Neste  âmbito  os  alunos  verão  dominar  as  transformações  geométricas  elementares  e  compreender  o  funcionamento  do  pipeline  de  visualização  3D  e  dos  seus  andares  principais.  No  final,  os  alunos  estarão  preparados  para  desenhar  e  desenvolver  aplicações  gráficas  interactivas.  

Programa    

Fundamentos: Enquadramento  e  conceitos  fundamentais;    Matemática  para  CG  (inclui  trigonometria  e  matrizes);  Introdução  ao  OpenGL  

Transformações  Geométricas:  Transformações  geométricas  planas  elementares;    Transformações  em  coordenadas  homogéneas;  Transformações  em  três  dimensões;      Composição  de  transformações  geométricas;    Matriz  de  transformação  composta.    Grafos  de  Cena;  Manipulação  de  matrizes  em  OpenGL  (ordem,  modos,  pilha,  etc...);    Programação  baseada  em  eventos;  Animação  Interactiva.  

Pipeline  de  Visualização  3D:  Visualização  clássica  e  por  computador;    Visualização  3D;  Câmara  Virtual  Simples;  Visualização  e  Projecção  em  OpenGL;  Iluminação  (modelo  de  Phong  e  Blinn-­‐Phong);  Sombreamento  (Flat,  Gouraud  e  Phong)  Recorte  (Cohen-­‐Sutherland  e  Sutherland-­‐Hodgman)  Operações  sobre  fragmentos  –  buffers  e  mapeamento  de  texturas  

Novas  arquitecturas  Hardware/Software  em  Computação  Gráfica

Bibliografia  

Interactive  Computer  Graphics:  A  Top-­‐Down  Approach  with  Shader-­‐Based  OpenGL  (Sixth  Edition),    Edward  Angel  and  Dave  Shreiner,  2011,    ISBN-­‐10:  027375226X,  ISBN-­‐13:  978-­‐0273752264,  Pearson  Education

Método  de  Avaliação  

Teórica (50%). Nota mínima: 9.5 (2 testes) Projecto (50%). Nota mínima: 9.5

Page 60: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  60    

COMPUTER  GRAPHICS  Scientific Area: Computer Graphics and Multimedia  

ECTS: 4.5 ECTS  

Goals    

The  course  aims  at  providing  students  with  basic  knowledge  of  interactive  3D  computer  graphics.  They  should  learn  the  fundamentals  of  representation  and  creation  of  synthetic  images  from  three-­‐dimensional  scenes.  This  includes  mastering  geometrical  transformations  and  understanding  the  3D  visualization  pipeline  and  its  main  stages.  As  an  outcome,  students  should  be  able  to  design  and  develop  interactive  computer  graphics  applications.

Program    

• Fundamentals: • Basic  concepts  of  CG;    • Math  for  CG  (including  trigonometry  and  matrices);  • Introduction  to  OpenGL  

• Geometrical  Transformations:  • Planar  geometrical  transformations;  • Transformations  in  Homogeneous  Coordinates;  • 3D  Transformations;      • Concatenation  of  Transformations;    • Current  Transformation  Matrices.    • Scene  Graphs;  • Matrix  manipulation  in  OpenGL  (order,  modes,  stack,  etc...);    • Event-­‐based  programming;  • Interactive  animation.  

• 3D  Visualization  Pipeline:  • Classical  and  Computer  viewing;    • 3D  visualization;  • Virtual  camera;  • Visualization  and  projection  in  OpenGL;  • Culling  (Cohen-­‐Sutherland  e  Sutherland-­‐Hodgman)  • Lightning  (Phong  and  Blinn-­‐Phong);  • Shading  (Flat,  Gouraud  e  Phong)  • From  Vertices  to  Fragments  –  buffers  and  texture  Mapping  

• Emerging  computer  graphics  software  and  hardware Bibliography  

Interactive  Computer  Graphics:  A  Top-­‐Down  Approach  with  Shader-­‐Based  OpenGL  (Sixth  Edition),    Edward  Angel  and  Dave  Shreiner,  2011,    ISBN-­‐10:  027375226X,  ISBN-­‐13:  978-­‐0273752264,  Pearson  Education

Assessment  

• Written Tests (50%). Minimum grade: 9.5 (2 written tests). • Project (50%). Minimum grade: 9.5.

   

Page 61: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  61    

Proposta  para  Compiladores  COMPILADORES  Área Científica: Metodologia e Tecnologia da Programação – Linguagens de Programação  

Créditos ECTS: 4.5 ECTS  

Objectivos  

Familiarizar  os  alunos  com  a  estrutura  de  compiladores  modernos,  com  as  técnicas  usadas  para  análise  lexical,  sintáctica  e  semântica  e  com  os  algoritmos  de  geração  e  optimização  de  código  final.  

Programa    

Análise  lexical:  Identificação  e  especificação  de  sequências  de  símbolos  terminais  através  de  expressões  regulares.    Construção  de  autómatos  finitos  não-­‐deterministas  a  partir  de  expressões  regulares:  algoritmo  de  Thompson.    Determinização  de  autómatos  e  reconhecimento  de  frases  por  autómatos  deterministas.    A  ferramenta  LEX:  formato  e  semântica  do  ficheiro  de  especificação.    

Análise  sintáctica:  Identificação  e  especificação  de  gramáticas.    Derivação,  recursividade  e  ambiguidade  de  gramáticas.  Autómatos  de  pilha.    Analisadores  sintácticos  descendentes.  Factorização  à  esquerda.    Identificação  dos  conjuntos  FIRST  e  FOLLOW.  Identificação  de  tabelas  de  análise  descendente  pelo  método  LL(1).    Analisadores  sintácticos  ascendentes  LR:  arquitectura  e  reconhecimento  de  frases.  Identificação  de  tabelas  de  análise  pelo  método  LALR(1).    Conflitos  nas  tabelas  e  sua  possível  resolução.  Compactação  de  tabelas  de  análise  ascendente.    A  ferramenta  YACC:  formato  de  ficheiros,  transporte  de  valores  pela  pilha,  ligação  entre  o  LEX  e  YACC,  recuperação  de  erros.    

Análise  semântica:    Gramáticas  atributivas.  Atributos  sintetizados  e  herdados.  Definições  do  tipo  S  e  do  tipo  L.    Avaliação  de  definições  por  analisadores  sintácticos  ascendentes.    Estruturas  de  dados  para  representação  em  memória  de  árvores  de  derivação.    Manipulação  de  identificadores:  tabelas  de  símbolos,  visibilidade,  alcance.    Tipificação:  sistemas  de  tipos,  verificação  de  tipos,  polimorfismo.  Invocação  de  rotinas,  registos  de  activação.    

Geração  de  código:  Interpretação.  Geração  no  YACC  de  uma  árvore  sintáctica.    Geração  de  código  intermédio.    Gestão  de  memória.    Geração  de  código  final.  Máquinas  baseadas  em  pilhas  de  dados.  Blocos  básicos.  Alternativas  de  geração  de  código.  Gestão  de  registos.    Técnicas  básicas  de  optimização:  alto-­‐nível,  local,  peephole  e  global.  

Bibliografia  

Compilers:  Principles,  Techniques,  &  Tools  (2nd  Edition)  ("livro  do  dragão"),    Alfred  V.  Aho,  Monica  S.  Lam,  Ravi  Sethi,  Jeffrey  D.  Ullman,  2006,    ISBN-­‐10:  0321486811,  ISBN-­‐13:  978-­‐0321486813,  Addison-­‐Wesley  Professional  Processadores  de  Linguagens,  da  concepção  à  implementação,  2ª  Edição  Rui  Gustavo  Crespo  IST  Press.  2001.  

Page 62: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  62    

Método  de  Avaliação  

Teórica (50%). Nota mínima: 9.5 (2 testes). Projecto (40%). Nota mínima: 9.5. Avaliação contínua (10%). Sem nota mínima (semanal, nas aulas).

 

COMPILERS  Scientific Area: Metodologia e Tecnologia da Programação – Programming Languages  

ECTS: 4.5 ECTS  

Goals    

The  course  aims  at  familiarizing  students  with  the  structure  of  modern  compilers,  as  well  as  with  the  techniques  used  for  lexical,  syntactic,  and  semantic  analysis;  and  with  the  algorithms  for  code  generation  and  final  code  optimization.  

Program    

Lexical  analysis:  Identification  and  specification  of  sequences  of  terminal  symbols  using  regular  expressions.  Construction  of  non-­‐deterministic  finite-­‐state  automata  from  regular  expressions:  Thompson  algorithm.    Construction  of  deterministic  finite-­‐state  automata  from    non-­‐deterministic  finite-­‐state  automata  and  phrase  recognition  using  deterministic  finite-­‐state  automata.    The  LEX  lexical  analyser  generator:  input  file  specification  and  auxiliary  functions.  

Syntactic  analysis:  Grammar  ientification  and  specificiation.  Derivation,  recursion,  and  ambiguity  in  grammars.  Stack  automata.    Top-­‐down  parsing.  Left  factoring.    FIRST  and  FOLLOW  sets.  Parse  table  construction  using  the  LL(1)  method.    LR  parsers:  architecture  and  phase  processing.  Parse  table  construction  using  the  LALR(1)  method.    Conflicts  and  conflict  resolution.  Compacting  parse  tables  for  ascending  parsers.    The  YACC  parser  generator:  input  file  specification,  using  the  stack,  communication  between  LEX  and  YACC,  error  recovery.    

Semantic  analysis:    Attributive  grammars.  Synthesized  and  inherited  attributes:  S-­‐  and  L-­‐type  grammars.    Node  evaluation  in  ascending  parsers.    Data  structures  for  in-­‐memory  representation  of  syntax  trees.    Identifier  management:  symbol  tables,  visibility,  scope.    Type  management:  type  system,  type  verification,  polymorphism.  Function  calls,  activation  records.    

Code  generation:  Interpretation.  Creation  in  YACC  of  a  syntax  tree.  Intermediate  code  generation.      Memory  management.    Generation  of  final  code.  Stack  machines.  Basic  blocks.  Code  generation  alternatives.  Register  management.    Optimization:  basic  techniques:  high-­‐level,  local,  peephole  and  global.  

Bibliography  

Compilers:  Principles,  Techniques,  &  Tools  (2nd  Edition)  ("dragon  book"),    Alfred  V.  Aho,  Monica  S.  Lam,  Ravi  Sethi,  Jeffrey  D.  Ullman,  2006,    ISBN-­‐10:  0321486811,  ISBN-­‐13:  978-­‐0321486813,  Addison-­‐Wesley  Professional  Processadores  de  Linguagens,  da  concepção  à  implementação,  2ª  Edição  Rui  Gustavo  Crespo  

Page 63: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  63    

IST  Press.  2001.  

Assessment  

Written Tests (50%). Minimum grade: 9.5 (2 written tests). Project (40%). Minimum grade: 9.5. Exercises (10%) (no minimum grade) (weekly, in class).

     

Page 64: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  64    

Proposta  para  Gestão  GESTÃO  Área Científica: Engenharia e Gestão das Organizações  

Créditos ECTS: 4.5 ECTS  

Objectivos  

O  objetivo  principal  é  introduzir  os  alunos  ao  funcionamento  das  organizações  e  a  um  conjunto  de  conceitos  e  ferramentas  que  lhes  irá  permitir:    

• Compreender  a  sua  natureza  sistémica  e  integrada    • Avaliar  a  multidisciplinaridade  e  recursos  necessários  • Compreender  o  enquadramento  social  e  profissional  e  ético  da  prática  da  Informática.    

Pretende-­‐se  que  os  alunos  fiquem  habilitados  com  a  introdução  a  competências  profissionais  fundamentais  ,  tais  como:  Enquadramento  Microeconómico,  Gestão  Estratégica,  Marketing,  Contabilidade,  Avaliação  de  Projetos,  e  Ética  e  Responsabilidade  Social.  A  aplicação  dos  conhecimentos  adquiridos  é  válida  tanto  para  empresas  em  atividade,  como  para  projetos  de  empreendedorismo  –  p.ex.  start-­‐ups  resultantes  da  Inovação  &  Desenvolvimento  Tecnológico.  Os  alunos  ficam  familiarizados  com  o  funcionamento  das  empresas  em  ambiente  real,  e  treinam  o  trabalho  em  equipa  ao  participarem  no  ISTMC,  em  que  grupos  de  alunos  representam  empresas  que  competem  entre  si  simulando  um  mercado  em  ambiente  real.    

Programa    Cap 1. Conceitos Fundamentais

• O que é a Gestão • O que é Economia • História do Pensamento sobre a Gestão.

Cap 2. O Ambiente Económico • O contexto da União económica e monetária • Mercados. Procura e seus determinantes. Bens substitutos e bens complementares • Elasticidade da procura. Oferta e seus determinantes. Equilíbrio do mercado. Custos e tecnologia. • Economias de escala, economias de gama, economias de experiência. Estruturas de mercado. Papel do

Estado. • Inovação e Empreendedorismo

Cap 3. Análise Estratégica • Conceitos Fundamentais • Funções da Gestão. Planeamento • Visão, Missão, Objetivos Estratégicos • Análise Externa. PESTL e Porter • Análise Ambiente Interno - Cadeia de Valor • Matriz SWOT • Formulação da Estratégia • Implementação da Estratégia

Cap 4. Marketing • Conceitos Fundamentais. Comportamento de compra. • STP (segmentação, targeting, posicionamento) • Marketing Mix: Produto - Preço - Distribuição – Comunicação

Cap 5. Informação Financeira- Elementos de Contabilidade • A organização da informação financeira: O papel da Contabilidade; Introdução aos principais mapas e

conceitos • O Balanço e a Demonstração de Resultados • Enquadramento dos Conceitos Contabilísticos • Análise Económico-Financeira através de Indicadores de Gestão • Análise gastos-volume-resultados

Cap 6. Análise Projetos de Investimento • A dimensão temporal e o cálculo financeiro. Capitalização, Taxa de juro nominal, efetiva e real,

Atualização • Critérios de análise da rendibilidade de projetos de investimento - VAL (Valor Atual Líquido); TIR

(Taxa Interna de Rendibilidade); PRI - Período de Recuperação do Investimento

Page 65: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  65    

Cap 7. Organização • Liderança • Motivação • Cultura Organizacional • Recursos Humanos • Sistemas de Informação e Controlo Balanced Scorecard

Cap. 8. Business Case for IT investment • Definição do problema • Análise Custo-benefício – Financeira e Não-financeira • Análise de risco • Análise de alternativas e otimização do risco • Implementação – Ciclo de vida

Bibliografia  • The  New  Era  of  Management  ,  Daft,  Richard,  2008,  Thomson/South-­‐Western    • Avaliação  de  Projetos  de  Investimento  na  Óptica  Empresarial  ,  Soares,  J.,  Fernandes,  A.,  Março,  A.,  

Marques,  J.,  2006,  2º  Ed.,  Edições  Sílabo    • Sistema  de  Normalização  Contabilística  (SNC)  ,  Ministério  Finanças,  2010  • Princípios  de  Economia,  Frank,  R.,  Bernanke,  B.,  2003,  McGraw-­‐Hill    • Marketing  Management  ,  Kotler,  P.,  Keller,  K.,  2006,  Pearson  -­‐Prentice  Hall    • Crafting  and  Executing  Strategy:  The  Quest  for  Competitive  Advantage:  Concepts  and  Cases  ,  

Thompson,  A.  Arthur,  Strickland  III,  A.  J.,  Gamble,  John,  2010,  McGraw-­‐Hill/Irwin    • Gestão  das  Organizações,  Sebastião  Teixeira,  2011,  Verlag  -­‐  Dashofer  ISBN  -­‐  978-­‐989-­‐642-­‐082-­‐6    

Método  de  Avaliação  

• 2 Testes. Nota mínima: 7.5 (2 testes). • Participação no ISTMC: 1 val. • Bónus Competitivo ISTMC: 1.50 – 0.25val. • Bónus Assiduidade das aulas práticas: Max: 0.5 val.

Page 66: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  66    

Management  Scientific Area: Engineering and Management of Organisations  

ECTS: 4.5 ECTS  

Goals    

The  main  goal  is  to  introduce  students  to  the  operation  of  organisations  and  a  set  of  concepts  and  tools  that  will  allow  them  to:  

• Understand  the  nature  of  organisations  as  integrated  systems  • Evaluate  the  multi-­‐disciplinarily  and  resources  needed  • Understand  the  social,  professional  and  ethical  practice  of  informatics.  

Students  should  become  empowered  with  the  introduction  to  fundamental  skills,  such  as  microeconomic  framework,  Strategic  Management,  Marketing,  Accounting,  Project  Evaluation,  and  Ethics  and  Social  Responsibility.  This  knowledge  is  valid  for  both  companies  in  activity,  and  entrepreneurship  projects  -­‐  e.g.  start-­‐ups  resulting  from  Innovation  &  Technology  Development.  Students  also  become  familiar  with  the  operation  of  companies  in  the  real  environment,  training  team  work  by  participating  in  ISTMC,  in  which  groups  of  students  representing  companies  that  compete  in  a  market  environment  simulating  real...  

Program    Cap 1. Fundamental Concepts

• What is Management • What is Economics • History of Management Thinking.

Cap 2. The Economic Environment • The context of the Economic and Monetary Union • Markets. Demand and its determinants. Substitute goods and complementary goods • Elasticity of demand. Supply and its determinants. Market equilibrium. Costs and technology. • Economies of scale, economies of scope, economies of experience. Market structures. Role of the

State. • Innovation and Entrepreneurship

Cap 3. Strategic Analysis • Fundamental Concepts • Functions of Management. Planning • Vision, Mission and Strategic Objectives • External Analysis. PESTL and Porter • Internal Environment Analysis - Value Chain • SWOT Matrix • Strategy Formulation • Strategy Implementation

Cap 4. Marketing • Fundamental Concepts. Buying behaviour • STP (segmentation, targeting, positioning) • Marketing Mix: Product – Price - Distribution – Communication

Cap 5. Financial Information – Accounting Principles • The organization's financial information: The role of accounting, introduction to key concepts and

maps • The Balance Sheet and the Income Statement • Framework of Accounting Concepts • Economic and Financial Analysis by Management Indicators • Analysis expenses-volume- results

Cap 6. Analysis of Investment Projects • The temporal dimension and the financial calculation. Capitalization, nominal interest rate, effective

and real, actualizations • Criteria for analyzing the profitability of investment projects - NPV (Net Present Value), IRR (Internal

Rate of Return); PRI - Investment Recovery Period Cap 7. Organizztion

• Leadership • Motivation

Page 67: Reestruturação do ensino da Informática no IST v7 …neiist.daemon/docs/R...Reestruturação+LEIC+v5+ Page+1+! + + Propostade(ReestruturaçãodaLicenciatura em#Engenharia#Informática!eComputadores+

Reestruturação  LEIC  v5   Page  67    

• Organizational culture • Human Resources • Control and information systems: Balanced Scorecard

Cap. 8. Business Case for IT investment • Problem definition • Cost-Benefit Analysis – Financial and Non-financial • Risk Analysis • Alternatives Analysis and Risk mitigation • Implementation over the Life Cycle  

Bibliography  • The  New  Era  of  Management  ,  Daft,  Richard,  2008,  Thomson/South-­‐Western    • Avaliação  de  Projetos  de  Investimento  na  Óptica  Empresarial  ,  Soares,  J.,  Fernandes,  A.,  Março,  A.,  

Marques,  J.,  2006,  2º  Ed.,  Edições  Sílabo    • Sistema  de  Normalização  Contabilística  (SNC)  ,  Ministério  Finanças,  2010  • Princípios  de  Economia,  Frank,  R.,  Bernanke,  B.,  2003,  McGraw-­‐Hill    • Marketing  Management  ,  Kotler,  P.,  Keller,  K.,  2006,  Pearson  -­‐Prentice  Hall    • Crafting  and  Executing  Strategy:  The  Quest  for  Competitive  Advantage:  Concepts  and  Cases  ,  

Thompson,  A.  Arthur,  Strickland  III,  A.  J.,  Gamble,  John,  2010,  McGraw-­‐Hill/Irwin    • Gestão  das  Organizações,  Sebastião  Teixeira,  2011,  Verlag  -­‐  Dashofer  ISBN  -­‐  978-­‐989-­‐642-­‐082-­‐6  

Assessment  

• 2 Tests. Minimum Grade: 7.5 val, (2 tests). • Participation in ISTMC: 1 val. • Competitive Bonus ISTMC: 1.50 – 0.25val. • Attendance Bonus (practical classes): Max: 0.5 val.