Você está na página 1de 111

15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

NCE/20/2000117 — Apresentação do pedido - Novo ciclo de


estudos

1. Caracterização geral do ciclo de estudos


1.1. Instituição de Ensino Superior:
Universidade Do Porto

1.1.a. Outra(s) Instituição(ões) de Ensino Superior (proposta em associação):

1.2. Unidade orgânica (faculdade, escola, instituto, etc.):


Faculdade De Ciências (UP)

1.2.a. Outra(s) unidade(s) orgânica(s) (faculdade, escola, instituto, etc.) (proposta em associação):
Faculdade De Engenharia (UP)

1.3. Designação do ciclo de estudos:


Inteligência Artificial e Ciência de Dados

1.3. Study programme:


Artificial Intelligence and Data Science

1.4. Grau:
Licenciado

1.5. Área científica predominante do ciclo de estudos:


Ciência de Computadores

1.5. Main scientific area of the study programme:


Ciência de Computadores

1.6.1 Classificação CNAEF – primeira área fundamental, de acordo com a Portaria n.º 256/2005, de 16 de Março (CNAEF-3
dígitos):
481

1.6.2 Classificação CNAEF – segunda área fundamental, de acordo com a Portaria n.º 256/2005, de 16 de Março (CNAEF-3
dígitos), se aplicável:
461

1.6.3 Classificação CNAEF – terceira área fundamental, de acordo com a Portaria n.º 256/2005, de 16 de Março (CNAEF-3
dígitos), se aplicável:
523

1.7. Número de créditos ECTS necessário à obtenção do grau:


180

1.8. Duração do ciclo de estudos (art.º 3 DL n.º 74/2006, de 24 de março, com a redação do DL n.º 65/2018, de 16 de
agosto):
6 semestres

1.8. Duration of the study programme (article 3, DL no. 74/2006, March 24th, as written in the DL no. 65/2018, of August
16th):
6 semesters

1.9. Número máximo de admissões:


90

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5add-… 1/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

1.10. Condições específicas de ingresso.


Para acesso à Licenciatura em Inteligência Artificial e Ciência de Dados (LIACD), através do Concurso Nacional de
Acesso é necessário:
- Ser titular de um curso de ensino secundário, ou de habilitação legalmente equivalente;
- Ter realizado os exames nacionais correspondentes às provas de ingresso exigidas para o ciclo de estudos, mais
concretamente, um dos seguintes conjuntos de provas: Matemática A ou Física e Química + Matemática A ou
Português + Matemática A;
- Ter obtido em cada uma das provas de ingresso a classificação mínima fixada;
- Ter obtido, na nota de candidatura, a classificação mínima fixada.
Verificam-se ainda ingressos no ciclo de estudos através dos seguintes concursos: Regimes Especiais, Concurso
Especial de Acesso e Ingresso para Estudantes Internacionais, Reingresso, Mudança de Par Instituição/Curso,
Concursos Especiais (Maiores de 23, Titulares de Outros Cursos Superiores).

1.10. Specific entry requirements.


In order to be admitted to this study cycle through the National Access regime, applicants must:
- Hold a secondary education course, or legal equivalent;
- Attend the mandatory secondary school examinations, specifically one of the following sets of exams: Mathematics A
or Physics
and Chemistry + Mathematics A or Portuguese + Mathematics A;
- Obtain in each of the admission exams the minimum required grade;
- Obtain the minimum required classification in the application grade.
There are also admissions in the study cycle in the following ways: Special Regimes, Special Access and Admission
Contest for International Students, Re-admission, Change of Institution / Course Pair, Special Regimes (Over 23,
Holders of Other Higher Education Degrees).

1.11. Regime de funcionamento.


Diurno

1.11.1. Se outro, especifique:


-

1.11.1. If other, specify:


-

1.12. Local onde o ciclo de estudos será ministrado:


Faculdade de Ciências da Universidade do Porto e Faculdade de Engenharia da Universidade do Porto

1.12. Premises where the study programme will be lectured:


Faculty of Engineering of the University of Porto and Faculty of Science of the University of Porto

1.13. Regulamento de creditação de formação académica e de experiência profissional, publicado em Diário da República
(PDF, máx. 500kB):
1.13._1.13._Regulamento_no_42_2019.pdf
1.14. Observações:
Atualmente, a Inteligência Artificial (IA) e a Ciência de Dados (CD) têm uma grande e crescente importância na
economia mundial e na sociedade. Prevê-se que, nas economias dos países desenvolvidos, o crescimento
acrescentado pelo desenvolvimento em IA e CD seja muito significativo durante a próxima década (“AI Will Add $15
Trillion To The World Economy By 2030”, Forbes, 2019). A Comissão Europeia assinou com os Estados Membros em
2018 uma declaração de cooperação para o desenvolvimento da IA que resultou no “Coordinated Action Plan for AI”
em dezembro de 2018. Portugal, na sua estratégia “AI Portugal 2030” de Junho de 2019, elege a formação de recursos
humanos como um importante vetor. A “European Strategy for Data” de fevereiro de 2020, prevê a aceleração da
transformação digital centrada nos dados, no seu processamento, proteção e valorização. Aí se reconhece que há uma
falta de especialistas em dados e prevê-se que a Europa consiga em 2025 suprir 50% das necessidades.
A, Licenciatura em Inteligência Artificial e Ciência de Dados (LIACD) resulta da estratégia conjunta das Faculdades de
Ciências e de Engenharia da UP na área da Informática, que aqui apostam na especialização em IA e CD ao nível do
primeiro ciclo. Os MI em Eng. de Redes e Sist, Inf. (FCUP) e em Eng. Inf. e Computação (FEUP) darão lugar a dois
primeiros ciclos conjuntos FCUP-FEUP: a Lic. em Eng. Inf e Computação e a LIACD.
A UP irá consolidar a sua posição na formação destas áreas, respondendo à procura destes profissionais qualificados.
A oferta de primeiros ciclos em IA e CD é ainda relativamente baixa em Portugal. À data, o ISCTE e a Univ. Coimbra
oferecem formação em CD de primeiro ciclo. Várias instituições de ensino superior europeias (e não só) contam com
primeiros ciclos de estudo em IA e/ou CD. Referimos a título de exemplo, Universidade de Groningen, na Holanda,
Edimburgo e Manchester no Reino Unido, Saarland na Alemanha e Politécnica da Catalunha em Espanha.
A LIACD assenta numa forte formação de base em ciência de computadores e matemática, com um peso importante
das uc's especializadas em IA e/ou CD, assente na excelência e experiência dos departamentos envolvidos. O seu
corpo docente é maioritariamente constituído por investigadores ativos em IA, CD, Ciência de Computadores e
Matemática, envolvendo importantes centros nacionais de investigação em IA e CD. Inclui também o coordenador da
estratégia portuguesa para a IA, atuais e antigos dirigentes da Associação Portuguesa para a Inteligência Artificial e
Sociedade Portuguesa de Robótica e o Encarregado de Proteção de Dados da Comissão Nacional de Proteção de

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5add-… 2/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Dados.
Esta proposta combina UC existentes com novas UC que alargam a oferta formativa em IA e CD. Está estruturada em 6
semestres, com 162 ECTS obrigatórios e 18 optativos. Há uma atenção à componente prática, com uma UC de
laboratório em colaboração com empresas, uma UC de Projeto/Estágio (12 ECTS) e cobrindo tópicos como segurança,
privacidade e ética.

1.14. Observations:
Currently, Artificial Intelligence (AI) and Data Science (DS) have a large and growing importance in the world economy
and in society. The added growth on the economies of developed countries induced by AI and DS is expected to be
very significant over the next decade (“AI Will Add $15 Trillion To The World Economy By 2030”, Forbes, 2019). The
European Commission signed with the Member States in 2018 a declaration of cooperation for the development of AI
that resulted in the “Coordinated Action Plan for AI” in December 2018. Portugal in its strategy “AI Portugal 2030” of
June 2019, chooses the training of human resources as an important vector. The “European Strategy for Data” of
February 2020, foresees the acceleration of digital transformation centered on data, on its processing, protection and
valorization. It is recognized that there is a lack of data specialists and Europe is expected to be able to supply 50% of
the needs in 2025.

The program proposed here, First Degree in Artificial Intelligence and Data Science (LIACD) is a result of the joint
strategy of the Faculties of Science and Engineering of the UP in the field of Computer Science, focusing on the
specialization in AI and DS at the level of first cycle. The integrated masters on Networks and IS (FCUP) and
Informatics Eng. (FEUP) will originate two joint first degrees FCUP-FEUP: Informatics Eng. and LIACD.
The University of Porto will consolidate its position in the production of graduates in these two areas, responding to
the demand for these qualified professionals. The supply of first cycles in AI and DS is still relatively low in Portugal.
To date, ISCTE and the Univ. Coimbra offer first cycle programs on DS. Several European higher education institutions
(and others) have programs in AI and/or DS. We refer as examples the University of Groningen in the Netherlands,
Edinburgh and Manchester in the United Kingdom, Saarland in Germany and Polytechnic of Catalonia in Spain.
LIACD is based on strong foundations in computer science and mathematics, combined with the Curricular Units (UC)
specialized in AI and / or CD, bringing together the excellence and experience of the departments involved. Its Faculty
is mainly made up of active researchers in AI, CD, Computer Science and Mathematics, involving important national
research centers in AI and CD. It also includes the coordinator of the Portuguese strategy for AI, current and former
members of the board of the Portuguese Association for Artificial Intelligence and the Portuguese Robotics Society
and the Data Protection Officer of the National Data Protection Authority.
This proposal combines existing UCs with new UCs that expand the offer in AI and CD. It is structured in 6 semesters,
with 162 compulsory and 18 optional ECTS credits. There is an attention to the practical component, with a laboratory
UC in collaboration with companies, a Project / Internship UC (12 ECTS) and covering topics such as security, privacy
and ethics.

2. Formalização do Pedido
Mapa I - Reitor da Universidade do Porto
2.1.1. Órgão ouvido:
Reitor da Universidade do Porto

2.1.2. Cópia de ata (ou extrato de ata) ou deliberação deste órgão assinada e datada (PDF, máx. 100kB):
2.1.2._Despacho reitoral_1ºC Inteligência artificial e ciência de dados.pdf

Mapa I - Pareceres dos órgãos competentes da FCUP - Conselho Científico


2.1.1. Órgão ouvido:
Pareceres dos órgãos competentes da FCUP - Conselho Científico

2.1.2. Cópia de ata (ou extrato de ata) ou deliberação deste órgão assinada e datada (PDF, máx. 100kB):
2.1.2._Pareceres_CC_FCUP_1C_Inteleg_Artificial_criacao.pdf

Mapa I - pareceres dos órgãos competentes da FCUP - Conselho Pedagógico


2.1.1. Órgão ouvido:
pareceres dos órgãos competentes da FCUP - Conselho Pedagógico

2.1.2. Cópia de ata (ou extrato de ata) ou deliberação deste órgão assinada e datada (PDF, máx. 100kB):
2.1.2._Parecer_CP_FCUP_1C_Inteligencia_Artificial_criacao.pdf

Mapa I - Parecer do órgão competente da FEUP - Conselho Científico


2.1.1. Órgão ouvido:
Parecer do órgão competente da FEUP - Conselho Científico

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5add-… 3/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

2.1.2. Cópia de ata (ou extrato de ata) ou deliberação deste órgão assinada e datada (PDF, máx. 100kB):
2.1.2._CC Parecer FEUP LIACD.pdf

Mapa I - Parecer do órgão competente da FEUP - Conselho Pedagógico


2.1.1. Órgão ouvido:
Parecer do órgão competente da FEUP - Conselho Pedagógico

2.1.2. Cópia de ata (ou extrato de ata) ou deliberação deste órgão assinada e datada (PDF, máx. 100kB):
2.1.2._CP Parecer FEUP LIACD.pdf

3. Âmbito e objetivos do ciclo de estudos. Adequação ao projeto educativo,


científico e cultural da instituição
3.1. Objetivos gerais definidos para o ciclo de estudos:
A LIACD visa a formação de profissionais qualificados especializados na área de IA e CD, com uma forte formação em
Ciência de Computadores e formação complementar em Matemática. Estes licenciados estarão aptos para desenvolver
trabalho especializado de IA e CD em empresas, organizações e administração pública, assim como prosseguirem
para formação avançada num segundo ciclo especializado em IA e/ou CD ou de âmbito mais geral em Ciência de
Computadores / Eng. Informática.
Alinhado com as boas práticas e recomendações internacionais, nomeadamente o “Computing Competencies for
Undergraduate Data Science Curricula” da ACM, publicado em 2019, este CE inclui nos seus vetores de formação:
- Matemática, incluindo estatística, métodos numéricos e otimização;
- Ciência de Computadores, com especial foco em programação e algoritmia;
- As grandes áreas científicas e técnicas de IA e CD,
- A componente profissionalizante, incluindo boas práticas, segurança e privacidade.

3.1. The study programme’s generic objectives:


LIACD aims to train qualified professionals specialized in the area of AI and DS, with a strong background in Computer
Science and complementary training in Mathematics. These graduates will be able to develop specialized work in AI
and CD in companies, organizations and public administration, as well as to pursue advanced training at a Masters
specialized in AI and / or DS or more generally in Computer Science / Computer Engineering .
In line with international best practices and recommendations, namely ACM's “Computing Competencies for
Undergraduate Data Science Curricula”, published in 2019, this program combines training in:
- Mathematics, including statistics, numerical analysis and optimization;
- Computer Science, with a special focus on programming and algorithms;
- The major scientific and technical areas of AI and CD,
- The professional component, including good practices, security and privacy.

3.2. Objetivos de aprendizagem (conhecimentos, aptidões e competências) a desenvolver pelos estudantes:


Um licenciado em IA e CD deve ser capaz de:
- Explicar os fundamentos matemáticos e computacionais das ferramentas e métodos de IA e CD.
- Analisar, interpretar, discutir, conceber, propor e aplicar soluções para problemas práticos e teóricos de programação
e algoritmia assim como, de forma mais limitada, em sistemas de informação.
- Selecionar e aplicar criteriosamente um conjunto abrangente de ferramentas e métodos de IA e CD a novos
problemas.
- Analisar, interpretar, discutir, conceber, propor, aplicar e gerir soluções para problemas práticos que requeiram
soluções de IA e CD.
- Integrar equipas de trabalho nas áreas da informática, IA e CD, para conceção, implementação, comunicação,
aplicação e gestão de soluções para IA e CD.
- Antecipar e dimensionar o impacto dos projetos em que participe na segurança dos sistemas, na privacidade das
pessoas, nas organizações e na sociedade em geral com responsabilidade e profissionalismo.

3.2. Intended learning outcomes (knowledge, skills and competences) to be developed by the students:
An AI and DS graduate should be able to:
- Explain the mathematical and computational foundations of AI and DS tools and methods.
- Analyze, interpret, discuss, design, propose and apply solutions to practical and theoretical problems of
programming and algorithms as well as, to a certain extent, in information systems.
- Select and carefully apply a comprehensive set of AI and DS tools and methods to new problems.
- Analyze, interpret, discuss, design, propose, apply and manage solutions to practical problems that require AI and DS
solutions.
- Integrate project teams in the areas of information technology, AI and DS, for the design, implementation,
communication, application and management of solutions for AI and DS.
- Anticipate and assess the impact of projects on the security of systems, on the privacy of people, on organizations
and on society in general with responsibility and professionalism.

3.3. Inserção do ciclo de estudos na estratégia institucional de oferta formativa, face à missão institucional e,
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5add-… 4/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
designadamente, ao projeto educativo, científico e cultural da instituição:
Os principais objetivos estratégicos da Universidade do Porto para as áreas da Educação e Formação, segundo o seu
plano estratégico 2016-2020, são, a nível de ensino:
E1: Melhorar a qualidade e a empregabilidade da Educação e Formação
E2: Salvaguardar a sustentabilidade financeira da U.Porto
E3: Aumentar as fontes de receita e a eficiência das atividades de Educação e Formação
E4: Atrair mais e melhores estudantes e potenciar o seu desempenho académico
E5: Reforçar a internacionalização da Educação e Formação
E7: Diversificar a oferta formativa
E10: Promover a cooperação interinstitucional na Educação e Formação

Ao nível da investigação:
I1: Promover a investigação de excelência
I4: Desenvolver áreas estratégicas de Investigação
I5: Promover a articulação da Investigação e potenciar sinergias
I8: Promover a cooperação interinstitucional na Investigação

A LIACD é uma iniciativa pioneira na Universidade do Porto e no norte do país e pretende preencher uma lacuna das
ofertas formativas atuais (E7). Ao envolver docentes da FCUP e da FEUP, enquadra-se nas orientações estratégicas da
UP de cooperação entre unidades orgânicas com competências complementares, fortalecendo a oferta da UP numa
área estratégica e apelativa para empresas, administração pública e investigação científica e dinamizando a
cooperação científica dentro da UP (E2, E3, I1, I4, I5, I8). A LIACD enquadra-se na missão institucional de educação e
formação de profissionais de Inteligência Artificial e Ciência de Dados, com forte componente matemática, estatística
e tecnológica de nível internacional, sustentadas em Investigação e Desenvolvimento de excelência com foco regional
mas com qualidade reconhecida mundialmente e numa prática de extensão de reconhecida utilidade, contemplando as
vertentes científica, técnica, ética e cultural (E1, I1, I4).
A LIACD revê-se completamente nesta missão, ao fornecer uma formação nos fundamentos de Inteligência Artificial e
Ciência de Dados e prepara os seus graduados para a prossecução de estudos a nível de 2º ciclo, capacitando-os
assim para enveredar por carreiras profissionais nacionais e internacionais, como acontece com outros ciclos de
estudo atualmente oferecidos na área da informática (E7). Para isso, confere aos seus estudantes competências
variadas, técnicas e pessoais, de importância reconhecida no mundo empresarial.
Posicionando--se numa área de elevada procura global, a LIACD ambiciona atrair mais e melhores estudantes
nacionais e internacionais (E4 e E5). A LIACD inclui UCs de interligação com empresas e administração pública que
permitirão a transferências de experiência e de competências entre a Universidade e a sociedade (E10). Os
departamentos envolvidos organizam regularmente ou participam em competições de programação (Topas, MIUP,
SWERC, ICPC 2019) e de Ciência de Dados (Hackacity-Porto 2019) (E10, I8).

3.3. Insertion of the study programme in the institutional educational offer strategy, in light of the mission of the institution
and its educational, scientific and cultural project:
The main strategic objectives of the University of Porto in the areas of education and training, according to its strategic
plan 2016-2020, are, in the dimension of education:
E1: Improving the quality and employability of graduates
E2: Safeguarding the financial sustainability of the U.Porto
E3: Increase revenue sources and the efficiency of Education and Training activities
E4: Attracting more and better students and boosting their academic performance
E5: To strengthen the internationalization of Education and Training
E7: Diversify the training offer
E10: Promote inter-institutional cooperation in Education and Training

At the research level:


I1: Promoting excellence in research
I4: Develop strategic research areas
I5: Promote research articulation and enhance synergies
I8: Promote inter-institutional cooperation in Research

LIACD is a pioneering initiative of the University of Porto and in the North of Portugal. It aims to fill a gap in the current
training offers (E7). Involving faculty of FCUP and the FEUP is part of the strategic guidelines of the UP of cooperation
between schools with complementary skills, strengthening the supply of UP in a strategic area which appeals to
companies, public administration and scientific research and stimulating scientific cooperation in UP (E2, E3, I1, I4, I5,
I8). LIACD is part of the institutional mission of education and training of professionals in Artificial Intelligence and
Data Science, with a strong mathematical, statistical and technological component of international level, sustained in
Research and Development of excellence with regional focus but with quality recognized worldwide and in an outreach
practice of recognized utility, covering the scientific, technical, ethical and cultural aspects (E1, I1, I4).
LIACD completely overhauls itself in this mission, by providing training in the fundamentals of Artificial Intelligence
and Data Science and prepares its graduates to pursue studies at the 2nd cycle level, thus enabling them to embark on
national and international professional careers , as with other study cycles currently offered in the field of information
technology (E7). To this end, it gives its students varied, technical and personal skills, of recognized importance in the
business world.
Positioning itself in an area of high global demand, LIACD aims to attract more and better national and international
students (E4 and E5). LIACD includes UCs for interconnection with companies and public administration that will allow
the transfer of experience and skills between the University and society (E10). The involved departments regularly
organize or participate in programming competitions (Topas, MIUP, SWERC, ICPC 2019) and Data Science
Competitions (Hackacity-Porto 2019) (E10, I8).

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5add-… 5/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4. Desenvolvimento curricular
4.1. Ramos, opções, perfis, maior/menor ou outras formas de organização em que o ciclo de estudos se
estrutura (a preencher apenas quando aplicável)

4.1. Ramos, opções, perfis, maior/menor ou outras formas de organização em que o ciclo de estudos se estrutura (a
preencher apenas quando aplicável) / Branches, options, profiles, major/minor or other forms of organisation (if
applicable)
Ramos, opções, perfis, maior/menor ou outras formas de organização em que o Branches, options, profiles, major/minor or other
ciclo de estudos se estrutura: forms of organisation:
N.A. N.A.

4.2. Estrutura curricular (a repetir para cada um dos percursos alternativos)

Mapa II - n.a.

4.2.1. Ramo, opção, perfil, maior/menor ou outra (se aplicável):


n.a.

4.2.1. Branch, option, profile, major/minor or other (if applicable):


n.a.

4.2.2. Áreas científicas e créditos necessários à obtenção do grau / Scientific areas and credits necessary for awarding
the degree
ECTS
ECTS Minímos Observações
Sigla / Obrigatórios /
Área Científica / Scientific Area optativos* / Minimum /
Acronym Mandatory
Optional ECTS* Observations
ECTS
Ciência de Computadores / Computer Science CC 120 0
Ciência de Computadores /Matemática/ Física / Computer Science /
CC/M/FIS 0 12
Mathematics / Physics
Matemática / Mathematics M 42 0
Ciência de Computadores / Desenvolvimento Pessoal /
CC/DP/CTT/
Competências transversais/transferíveis/Qualquer área científica da 0 6
QACUP
Universidade do Porto (UP)
(5 Items) 162 18

4.3 Plano de estudos

Mapa III - N.A. - 1º Ano / 1º Semestre - 1st Year / 1st Semester

4.3.1. Ramo, opção, perfil, maior/menor ou outra (se aplicável):


N.A.

4.3.1. Branch, option, profile, major/minor or other (if applicable):


N.A.

4.3.2. Ano/semestre/trimestre curricular:


1º Ano / 1º Semestre - 1st Year / 1st Semester

4.3.3 Plano de Estudos / Study plan


Observações
Área Científica / Duração / Horas Trabalho / Horas Contacto /
/
Unidade Curricular / Curricular Unit Scientific Area Duration Working Hours Contact Hours ECTS Opcional
Observations
(1) (2) (3) (4)
(5)
Álgebra Linear e Geometria Analítica / M Semestral / 162 T-28; TP-28; 6
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5add-… 6/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Linear Algebra and Analytical Semester
Geometry
Semestral /
Cálculo I / Calculus I M 162 T-28; TP-28; 6
Semester
Estruturas Discretas / Discrete Semestral /
CC 162 T-28; PL-28; 6
Structures Semester
Introdução aos Computadores / Semestral /
CC 162 T-28; PL-28; 6
Introduction to Computers Semester
Introdução à Programação / Semestral /
CC 162 T-28; PL-28; 6
Introduction to Programming Semester
(5 Items)

Mapa III - N.A. - 1º Ano / 2º Semestre - 1st Year / 2nd Semester

4.3.1. Ramo, opção, perfil, maior/menor ou outra (se aplicável):


N.A.

4.3.1. Branch, option, profile, major/minor or other (if applicable):


N.A.

4.3.2. Ano/semestre/trimestre curricular:


1º Ano / 2º Semestre - 1st Year / 2nd Semester

4.3.3 Plano de Estudos / Study plan


Observações
Área Científica Duração / Horas Trabalho Horas Contacto
/
Unidade Curricular / Curricular Unit / Scientific Duration / Working / Contact Hours ECTS Opcional
Observations
Area (1) (2) Hours (3) (4)
(5)
Semestral
Cálculo II / Calculus II M / 162 T-28; TP-28; 6
Semester
Semestral
Programação Imperativa / Imperative
CC / 162 T-28; PL-28; 6
Programming
Semester
Modelos de Computação / Computing
CC Semestral 162 T-28; PL-28; 6
Models
Elementos de Inteligência Artificial e Ciência Semestral
de Dados / Elements of Artificial Intelligence CC / 162 T-28; PL-28; 6
and Data Science Semester
Semestral
Arquitetura de Computadores / Computer
CC / 162 T-28; PL-28; 6
Architecture
Semester
(5 Items)

Mapa III - N.A. - 2º Ano / 1º Semestre - 2nd Year - 1st Semester

4.3.1. Ramo, opção, perfil, maior/menor ou outra (se aplicável):


N.A.

4.3.1. Branch, option, profile, major/minor or other (if applicable):


N.A.

4.3.2. Ano/semestre/trimestre curricular:


2º Ano / 1º Semestre - 2nd Year - 1st Semester

4.3.3 Plano de Estudos / Study plan


Observações
Unidade Curricular / Área Científica / Duração / Horas Trabalho / Horas Contacto / /
ECTS Opcional
Curricular Unit Scientific Area (1) Duration (2) Working Hours (3) Contact Hours (4) Observations
(5)
Probabilidades e Estatística / Semestral /
M 162 T-28; TP-28; 6
Probability and Statistics Semester

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5add-… 7/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Lógica Computacional / CC Semestral / 162 T-28; PL-28; 6
Computational Logic Semester
Métodos Numéricos / Semestral /
M 162 T-28; TP-28; 6
Numerical Methods Semester
Estruturas de Dados / Data Semestral /
CC 162 T-28; PL-28; 6
Structures Semester
Semestral /
Bases de Dados / Databases CC 162 T-28; PL-28; 6
Semester
(5 Items)

Mapa III - N.A. - 2º Ano / 2º Semestre - 2nd Year / 2nd Semester

4.3.1. Ramo, opção, perfil, maior/menor ou outra (se aplicável):


N.A.

4.3.1. Branch, option, profile, major/minor or other (if applicable):


N.A.

4.3.2. Ano/semestre/trimestre curricular:


2º Ano / 2º Semestre - 2nd Year / 2nd Semester

4.3.3 Plano de Estudos / Study plan


Observações
Unidade Curricular / Curricular Área Científica / Duração / Horas Trabalho / Horas Contacto / /
ECTS Opcional
Unit Scientific Area (1) Duration (2) Working Hours (3) Contact Hours (4) Observations
(5)
Desenho e Análise de Algoritmos Semestral /
CC 162 T-28; PL-28; 6
/ Algorithm Design and Analysis Semester
Inteligência Artificial / Artificial Semestral /
CC 162 T-28; PL-28; 6
Intelligence Semester
Aprendizagem Computacional I / Semestral /
CC 162 T-28; PL-28; 6
Machine Learning I Semester
Segurança e Privacidade / Semestral /
CC 162 T-28; PL-28; 6
Security and Privacy Semester
Estatística Aplicada / Applied Semestral /
M 162 T-28; TP-28; 6
Statistics Semester
(5 Items)

Mapa III - N.A. - 3º Ano / 1º Semestre - 3rd Year / 1st Semester

4.3.1. Ramo, opção, perfil, maior/menor ou outra (se aplicável):


N.A.

4.3.1. Branch, option, profile, major/minor or other (if applicable):


N.A.

4.3.2. Ano/semestre/trimestre curricular:


3º Ano / 1º Semestre - 3rd Year / 1st Semester

4.3.3 Plano de Estudos / Study plan


Horas Horas Observações
Duração /
Área Científica / Trabalho / Contacto / /
Unidade Curricular / Curricular Unit Duration ECTS Opcional
Scientific Area (1) Working Hours Contact Hours Observations
(2)
(3) (4) (5)
Introdução aos Sistemas Inteligentes e Semestral
Autónomos / Introduction to Intelligent CC / 162 T-28; PL-28; 6
Autonomous Systems Semester
Semestral
Modelação e Otimização / Modelling and
M / 162 T-28; TP-28; 6
Optimization
Semester
Aprendizagem Computacional II / Machine CC Semestral 162 T-28; PL-28; 6
Learning II /

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5add-… 8/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Semester
Semestral
Laboratório de IA e CD / Laboratory IA and
CC / 162 T-14; TP-42; 6
CD
Semester
Semestral
Depende da UC
Opção / Elective CC/DP/CT/QACUP / 162 6 1
escolhida
Semester
(5 Items)

Mapa III - N.A. - 3º Ano / 2º Semestre - 3rd Year / 2nd Semester

4.3.1. Ramo, opção, perfil, maior/menor ou outra (se aplicável):


N.A.

4.3.1. Branch, option, profile, major/minor or other (if applicable):


N.A.

4.3.2. Ano/semestre/trimestre curricular:


3º Ano / 2º Semestre - 3rd Year / 2nd Semester

4.3.3 Plano de Estudos / Study plan


Observações
Área Científica / Duração / Horas Trabalho / Horas Contacto /
/
Unidade Curricular / Curricular Unit Scientific Area Duration Working Hours Contact Hours ECTS Opcional
Observations
(1) (2) (3) (4)
(5)
Gestão e Visualização de Informação /
Semestral /
Information Management and CC 162 T-28; PL-28; 6
Semester
Visualization
Introdução à Robótica Inteligente / Semestral /
CC 162 T-28; PL-28; 6
Introduction to Intelligent Robotics Semester
Ciência de Dados em Larga Escala / Semestral /
CC 162 T-28; PL-28; 6
Large Scale Data Science Semester
Semestral / Depende da UC
Opção / Elective CC/M/FIS 324 12 1
Semester escolhida
(4 Items)

Mapa III - N.A. - 3º Ano / 1º Semestre Opcionais - 3rd Year / 1st Semester optionals

4.3.1. Ramo, opção, perfil, maior/menor ou outra (se aplicável):


N.A.

4.3.1. Branch, option, profile, major/minor or other (if applicable):


N.A.

4.3.2. Ano/semestre/trimestre curricular:


3º Ano / 1º Semestre Opcionais - 3rd Year / 1st Semester optionals

4.3.3 Plano de Estudos / Study plan


Observações
Duração /
Unidade Curricular / Curricular Área Científica / Horas Trabalho / Horas Contacto / /
Duration ECTS Opcional
Unit Scientific Area (1) Working Hours (3) Contact Hours (4) Observations
(2)
(5)
Programação Funcional / Semestral /
CC 162 T-28; PL-28; 6 1
Functional Programming Semester
Métodos de Apoio à Decisão / Semestral /
CC 162 T-28; PL-28; 6 1
Decision Support Methods Semester
Programação Concorrente / Semestral /
CC 162 T-28; PL-28; 6 1
Concurrent Programming Semester
Programação de Dispositivos
Semestral /
Móveis / Mobile Device CC 162 T-28; PL-28; 6 1
Semester
Programming
Computabilidade e Complexidade CC Semestral / 162 T-28; PL-28; 6 1

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5add-… 9/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
/ Computability and Complexity Semester
(5 Items)

Mapa III - N.A. - 3º Ano / 2º Semestre Opcionais - 3rd Year / 2nd Semester Optionals

4.3.1. Ramo, opção, perfil, maior/menor ou outra (se aplicável):


N.A.

4.3.1. Branch, option, profile, major/minor or other (if applicable):


N.A.

4.3.2. Ano/semestre/trimestre curricular:


3º Ano / 2º Semestre Opcionais - 3rd Year / 2nd Semester Optionals

4.3.3 Plano de Estudos / Study plan


Área Horas Horas Observações
Duração /
Científica / Trabalho / Contacto / /
Unidade Curricular / Curricular Unit Duration ECTS Opcional
Scientific Working Contact Hours Observations
(2)
Area (1) Hours (3) (4) (5)
Semestral
Programação em Lógica / Programming in
CC / 162 T-28; PL-28; 6 1
Logic
Semester
Semestral
Interação Pessoa-Máquina / Human-Machine
CC / 162 T-28; PL-28; 6 1
Interfaces
Semester
Semestral
Mecânica / Mechanics FIS / 162 T-28; TP-28; 6 1
Semester
Semestral
Sistemas Multimedia / Multimedia Systems CC / 162 T-28; PL-28; 6 1
Semester
Semestral
Tecnologias Web / Web Technologies CC / 162 T-28; PL-28; 6 1
Semester
Semestral
Programação Competitiva / Programming
CC / 162 TP-42; 6 1
Challenges
Semester
Semestral
Análise e Processamento Digital de Sinal /
M / 162 T-28; TP-28; 6 1
Digital Signal Processing and Analysis
Semester
Semestral
Eletrónica Digital e Circuitos / Digital Electronics
FIS / 162 T-28; TP-28; 6 1
and Circuits
Semester
Projeto-Estágio de Inteligência Artificial e Semestral
Ciência de Dados/ Project-Internshipof Artificial CC / 324 OT-8; 12 1
Intelligence and Data Science Semester
(9 Items)

4.4. Unidades Curriculares

Mapa IV - Álgebra Linear e Geometria Analítica

4.4.1.1. Designação da unidade curricular:


Álgebra Linear e Geometria Analítica

4.4.1.1. Title of curricular unit:


Linear Algebra and Analytic Geometry

4.4.1.2. Sigla da área científica em que se insere:


M

4.4.1.3. Duração:
Semestral / Semester

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 10/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28TP

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
José Ferreira Alves (28T + 84TP)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


1. Efetuar as principais operações com matrizes.
2. Resolver sistemas de equações lineares usando matrizes; utilizar matrizes para discutir sistemas de equações
lineares.
3. Calcular determinantes; aplicar as propriedades dos determinantes.
4. Reconhecer espaços e subespaços vetoriais; determinar bases de espaços vetoriais reais; calcular a dimensão de
espaços vetoriais.
5. Reconhecer funções lineares e as suas principais propriedades; determinar ou justificar porque não existem
funções lineares satisfazendo determinadas condições; trabalhar com matrizes associadas a funções lineares.
6. Determinar vetores e valores próprios de matrizes; diagonalizar uma matriz (caso seja possível); usar algumas
propriedades da diagonalização de matrizes.
7. Identificar cónicas.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
1. Perform the main matrix operations.
2. Solve systems of linear equations using matrices; using matrices to discuss systems of linear equations.
3. Calculate determinants; apply the properties of determinants.
4. Recognize vector subspaces; determine bases for real vector spaces; calculate the dimension of vector spaces.
5. Recognize linear functions, and their main properties; determine or justify why there are no linear functions
satisfying certain conditions; work with matrices associated with linear functions.
6. Determine eigenvectors and eigenvalues of matrices; diagonalize a matrix (if possible); using some properties of
matrix diagonalization.
7. Identify conic sections.

4.4.5. Conteúdos programáticos:


1. Sistemas de equações lineares.
2. Matrizes.
3. Determinantes.
4. Espaços vectoriais:.
5. Aplicações lineares.
6. Vetores e valores próprios e diagonalização de matrizes.
7. Cónicas.

4.4.5. Syllabus:
1. Systems of linear equations.
2. Matrices.
3. Determinants.
4. Vector spaces.
5. Linear maps.
6. Eigenvalues and eigenvectors.
7. Conics.

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

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5add… 11/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Esta unidade curricular representa um primeiro contato do estudante com a área de álgebra linear em que lhe são
introduzidos as definições e resultados básicos referentes à estrutura algébrica de espaço vetorial linear, aplicação
linear entre espaços vetoriais lineares e o espaço euclidiano R^n. Pretende-se que este primeiro contato tenha as duas
vertentes algébrica e geométrica presentes para ajudar na compreensão e futuras aplicações do conteúdo
programático noutras unidades curriculares. Neste primeiro contato é importante o estudante conhecer um dos
métodos de resolução de sistemas lineares, sendo o método de Gauss a escolha para esta unidade, conhecer a
notação e operações matriciais, e saber calcular o determinante de uma matriz quadrada usando as propriedades da
função determinante.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
This curricular unit represents the first contact the student has with the linear algebra area where the basic definitions
and results concerning the linear vector space algebraic structure, linear map between linear vector spaces and the
euclidian vector space R^n. Both algebraic and geometric view points are important for the understanding and
application of the syllabus in other curricular units. At this first contact, it is important for the student to know at least
one of the methods for resolution of systems of linear equations; here the Gauss method is the choice for this unit, to
know the matrix notation and operations, and to be familiarized with the computation of matrix determinants using the
properties of the determinant function

4.4.7. Metodologias de ensino (avaliação incluída):


As horas de contacto estão distribuídas em aulas teóricas e teórico-práticas. Nas primeiras são apresentados os
conteúdos do programa, recorrendo-se a exemplos para ilustrar os conceitos tratados e orientar os estudantes. Nas
aulas teórico-práticas são resolvidos exercícios e problemas, previamente indicados. São disponibilizados materiais
de apoio na página da disciplina (no Moodle). Para além das aulas, há períodos de atendimento semanais onde os
estudantes têm oportunidade de esclarecer dúvidas.

Tipo de Avaliação: Avaliação distribuída com exame final

Condições de Frequência: Não é exigida assiduidade.

Fórmula de avaliação: 50% do teste + 50% do exame final

4.4.7. Teaching methodologies (including students' assessment):


Lectures and classes: The contents of the syllabus are presented in the lectures, where examples are given to illustrate
the concepts. There are also practical lessons, where exercises and related problems are solved. All resources are
available for students at the unit’s web page (Moodle).

Type of evaluation: Avaliação distribuída com exame final

Terms of frequency: No requirements.

Formula Evaluation: 50% mid-term test + 50% final exam

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As horas de contacto estão distribuídas em aulas teóricas e teórico-práticas. Nas primeiras são apresentados os
conteúdos do programa, recorrendo-se a exemplos para ilustrar os conceitos tratados e orientar os estudantes. Nas
aulas teórico-práticas são resolvidos exercícios e problemas, previamente indicados. São disponibilizados materiais
de apoio na página da disciplina (no Moodle). Para além das aulas, há períodos de atendimento semanais onde os
estudantes têm oportunidade de esclarecer dúvidas.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The contents of the syllabus are presented in the lectures, where examples are given to illustrate the concepts. There
are also practical lessons, where exercises and related problems are solved. All resources are available for students at
the unit’s web page (Moodle).

4.4.9. Bibliografia de consulta/existência obrigatória:


- Howard Anton (1994); Elementary linear algebra. applications version. 7th ed. ISBN: 0-471-58741-9
- Anton Howard (2005); Elementary linear algebra. ISBN: 0-471-66959-8
- Edwards jr. C. H. (1988); Elementary linear algebra. ISBN: 0-13-258245-7
- Mansfield Larry E. (1976); Linear algebra with geometric applications. ISBN: 0-8247-6321-1

Mapa IV - Arquitetura de Computadores

4.4.1.1. Designação da unidade curricular:


Arquitetura de Computadores

4.4.1.1. Title of curricular unit:


Computer Architecture

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 12/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28 T + 28 PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Ricardo Jorge Gomes Lopes da Rocha (14 T + 28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


João Paulo de Castro Canas Ferreira (14T + 56 PL)
Eduardo Resende Brandão Marques (28 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


1. Reconhecer as componentes principais de um computador e perceber o seu funcionamento.
2. Ser capaz de reconhecer as vantagens e desvantagens de uma determinada configuração de hardware.
3. Perceber a ligação íntima entre o desenho e implementação do hardware de um computador e o software que nele é
executado.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
1. To recognize the design of modern computer systems, their components and how they work.
2. To understand the pros and cons of a given hardware configuration for a given target application.
3. To understand the intimate connection between the hardware design and implementation and the software that runs
on top of it.

4.4.5. Conteúdos programáticos:


1. Evolução sucinta dos computadores.
2. Arquitectura de von Neumann.
3. Representação de dados e programas. Conjuntos de instruções. Tipos de instrução.
4. Linguagens de programação, compilação de programas e representação em memória.
5. Componentes básicas do microprocessador e a sua implementação. Fluxo de informação e controlo num
processador. Interacção do processador com o sistema operativo (interrupts).
6. Análise básica de performance. Introdução à técnica de pipelining.
7. Hierarquia de memória: discos, memórias e memórias cache. Suporte em hardware para memória virtual.
7.8. Breve introdução às arquiteturas paralelas.

4.4.5. Syllabus:
1. Brief account of the evolution of the computer.
2. The von-Neumann architecture.
3. Representation of code and data. Instruction sets. Types of instruction.
4. Programming languages, program compilation and memory representation.
5. Basic microprocessor components. The data- and control-path. Interaction with the operating system (interrupts).
6. Basic performance analysis. Introduction to pipelining.
7. Memory hierarchy: discs, memory and cache memory. Hardware support for virtual memory.
7.8. Brief introduction to parallel architectures.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
O programa da disciplina, que assenta na descrição de uma arquitetura RISC simples, permite aos estudantes
seguirem o processo de desenho e de implementação em hardware de um microprocessador, estar ciente das
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 13/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
decisões cruciais que estão implícitas nesse processo e os reflexos que elas têm em termos de performance,
limitações do hardware e na ligação da linguagem máquina respetiva com as linguagens de mais alto nível. A análise
de performance permite aos estudantes desenvolver um espírito crítico na avaliação das vantagens/desvantagens de
uma arquitetura. A interação do microprocessador com o exterior, com outros dispositivos e com a gestão do sub-
sistema de memória, permite aos estudantes compreender a interação entre o hardware e o sistema operativo,
oferecendo uma visão holística do computador. Adicionalmente, é dada uma introdução às arquiteturas paralelas. O
programa segue o livro de Hennessy e Patterson, considerado uma referência incontornável em arquitetura de
computadores.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The syllabus is strongly based in the description of a simple RISC architecture, allowing the students to follow with
some detail the process of designing and implementing in hardware a microprocessor, while being aware of the
implications of crucial decisions, e.g., the size of the register file, on performance, hardware limitations and on the
respective machine language and higher-level languages. The study of basic performance analysis allows students to
develop a critical mind in the evaluation of architectural designs, and to quantify the pros and cons. The interaction of
the microprocessor with the memory sub-system and computer devices, allows the students to understand the
interaction between hardware and the operating system and applications. Addtionally, a brief introduction to parallel
architectures will be given. The syllabus follows closely the book by Hennessy and Patterson, commonly regarded as a
fundamental reference in the field of computer architecture.

4.4.7. Metodologias de ensino (avaliação incluída):


A disciplina inclui: aulas téoricas e resolução de problemas em aula prática.
Avaliação contínua por dois testes (T1, T2), ao longo do semestre, ou por exame final (T).

Nota final = T1 + T2 ou T
Os alunos estudantes que fizerem a cadeira por testes e quiserem mesmo assim ir ao exame final ficarão com a nota
do exame, T, e não a melhor entre os testes e o exame.

4.4.7. Teaching methodologies (including students' assessment):


The course includes theory classes and practical classes with exercises. The evaluation can be continuous with two
tests (T1, T2), during the semester, or just the final exam (T).

Final grade = T1 + T2 or T

The students that did the tests with T1 + T2 >= 10 may do the final exam as well but the final grade will be T, not the
maximum between T1+T2 and T.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas teóricas introduzem os conceitos fundamentais da arquitectura de computadores com exemplos que são
depois explorados em mais detalhe nas aulas práticas. Os exercícios nestas últimas incluem temas como a exploração
do compilador de C/”cross-compiler” nomeadamente na geração de código assembly e binário, formato de instruções
e dados, aritmética, interpretação de diagramas arquitecturais, cálculo de indicadores básicos de performance para
configurações de hardware, e programação em assembly. Esta abordagem dá aos alunos a experiência com casos de
estudo que lhes permitem compreender o funcionamento interno de um computador e a interacção entre as suas
componentes. Os dois testes intermédios referidos, que incluem questões teóricas e práticas, são facultados para
optimizar o esforço de estudo dos alunos estudantes que assim o desejarem.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The theoretical classes introduce the fundamental concepts of computer architecture with examples that are then
explored in more detail in the practical classes. The exercises in the latter include subjects such as exploring the C
compiler/cross-compiler, data and instruction formats, arithmetic, interpretation of architectural diagrams, computing
basic performance figures for hardware configurations, and assembly programming. This approach gives the students
hands-on experience with case studies that allows them to fully understand the inner workings of a computer. The two
intermediate tests, that include theory and practice questions, are used to allow the students that so prefer to minimize
the amount of materials to study.

4.4.9. Bibliografia de consulta/existência obrigatória:


- Patterson David A., Hennessy John (1998) Computer Organization and Design- - The Hardware/Software Interface.
Morgan Kaufmann, 2nd edition (or higher) ISBN: 1-55860-604-1

Mapa IV - Cálculo I

4.4.1.1. Designação da unidade curricular:


Cálculo I

4.4.1.1. Title of curricular unit:


Calculus I

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 14/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.2. Sigla da área científica em que se insere:


M

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


T: 28; TP: 28

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Manuel Augusto Fernandes Delgado (28 T + 84 TP)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


1. Conhecer os conceitos básicos e técnicas do cálculo, a nível de funções reais de uma variável real, bem como
sucessões e séries.
2. Capacidade de resolver problemas de cálculo. Autonomia na resolução de exercícios.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
1. To know the basic concepts and techniques of calculus, at the level of real-valued functions of a single real variable,
as well as sequences and series.
2. Capacity for solving calculus problems. Autonomy on the solution of exercises.

4.4.5. Conteúdos programáticos:


1. Generalidades sobre funções: funções polinomiais, trigonométricas e exponenciais.
2. Limites e continuidade: sucessões de números reais. Resultados sobre sucessões. Funções reais de variável real.
Teorema dos Valores Intermédios e Teorema de Weierstrass da existência de extremos.
3. Derivadas e primitivas: interpretação geométrica e física das derivadas. Regras de derivação. Derivada da inversa.
Funções trigonométricas inversas e derivadas. Teoremas de Rolle, Lagrange e Cauchy, Regra de L ́Hôpital. Estudo do
comportamento de uma função e determinação de máximos e mínimos. Primitivas de funções elementares.
Primitivação por substituição, por partes e de funções racionais.
4. Integração: Integral de Riemann. Teorema fundamental do Cálculo. Integração por substituição e integração por
partes. Cálculo de áreas. Integrais impróprios.
5. Aproximação polinomial e séries: Polinómios de Taylor. Séries numéricas. Propriedades e critérios de convergência
de Leibniz, da razão e do integral.

4.4.5. Syllabus:
1. Generalities on functions: Polynomial, Trigonometric and Exponential functions.
2. Limits and continuity: Sequences of real numbers. Results on sequences. Real-valued functions of a real variable.
Intermediate Value Theorem and Weierstrass Extreme Value Theorem.
3. Derivatives and antiderivatives: geometric and physical interpretation of derivatives. Differentiation rules. Derivative
of the inverse. Inverse trigonometric functions and derivatives. Theorems of Rolle, Lagrange and Cauchy, L ́Hôpital’s
Rule. Study of the behaviour of a function and computation of minima and maxima. Antiderivatives of elementary
functions. Computing antiderivatives by substitution, by parts, and of rational functions.
4. Integration: Riemann’s integral. Fundamental Theorem of Calculus. Integration by substitution and by parts.
Computation of areas. Improper integrals.
5. Polynomial approximation and series: Taylor polynomials. Numerical series. Properties. Convergence tests: Leibniz,
ratio and integral.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 15/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Sendo objetivo da unidade curricular o domínio de algumas técnicas básicas de matemática, o programa começa com
aquilo que para a maior parte dos estudantes podem ser consideradas revisões sobre funções. Permite-se deste modo
que todos os estudantes tenham condições para acompanhar os conteúdos seguintes. Segue-se a apresentação de
definições e algumas técnicas de cálculo diferencial e integral. Exemplos de aplicações permitem mostrar como usar
as técnicas estudadas. Os exemplos são escolhidos por forma a ilustrar como a matemática pode ser útil na
abordagem de problemas da área de estudo dos estudantes.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
As one of the aims of the course is to master some basic mathematical techniques, the syllabus starts with material
that, for most students, is a review on functions. This allows all students to be able to follow the remainder of the
course. The next step consists in the introduction of notions and techniques of differential and integral calculus.
Examples of applications are given to show how to apply the techniques. The examples are chosen to illustrate how
mathematics can be useful in handling problems in the scientific areas of the students.

4.4.7. Metodologias de ensino (avaliação incluída):

Exposição da matéria pelo docente, discussão de exercícios.


Tipo de Avaliação: Avaliação distribuída sem exame final
Condições de Frequência: Sem requisitos.
Fórmula de avaliação: A avaliação será feita em duas partes. Durante o semestre haverá dois testes, igualmente
cotados. Os estudantes que alcançarem classificação mínima de 10 valores na média dos dois testes consideram-se
dispensados de exame final mas poderão apresentar-se a exame. Todos os estudantes são admitidos a exame final.
Tanto o exame final como o exame de recurso serão igualmente divididos em duas partes, correspondentes à matéria
coberta pelos testes, com a possível exceção de matéria dada depois do segundo teste que fará parte dos temas das
segundas partes dos exames. Em cada parte do exame final e do exame de recurso, contará a melhor nota de qualquer
prova de avaliação sobre essa parte. Assim , o estudante poderá apresentar-se a exame sobre somente uma parte,
mesmo que tenha dispensa de exame.

4.4.7. Teaching methodologies (including students' assessment):


Presentation of the course material by the teacher, discussion of exercises.
Type of evaluation: Distributed evaluation without final exam.
Terms of frequency: No requisites.
Formula Evaluation: The student evaluation will be done in two parts. During the semester, it will consist of two tests,
equally valued. The students that obtain a minimum grade of 10 on the average of the tests are exempt from taking the
final exam but may choose to take it. All students are admitted to the final exam. Both the final exam and the makeup
exam will also be divided into two parts, roughly corresponding to the material covered by each test, with the
exception of material covered after the second test which will also, be covered by the second parts of the exams. In
each part of the exams, the grade will be the best grade obtained for that part of the course material. Thus, the student
may choose to take an exam only on the other part, a rule that applies also to students exempted from the final exam.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
A metodologia usada consiste na exposição de matéria e na resolução de exercícios - a forma tradicional de ensinar
matemática, em particular sendo o domínio de técnicas básicas o que está em causa. A exposição da matéria é
acompanhada da apresentação de exemplos, com
ênfase em exemplos resultantes de problemas das áreas de interesse dos estudantes. Por vezes, recorre-se a
sistemas computacionais, em particular por se considerar importante chamar da atenção dos estudantes para a
existência dos mesmos. A disponibilização online do
material usado nas aulas teóricas tem, em particular, o mérito de fixar notações e de constituir para os estudantes uma
ferramenta de estudo, que pode ser considerada como um resumo alargado da matéria dada. Folhas de exercícios
disponibilizadas online constituem um importante instrumento de trabalho para os estudantes e que é essencial para
que o objetivo, domínio de algumas técnicas básicas de matemática, seja atingido.
Os testes, cujos resultados podem ser usados com alguma flexibilidade na obtenção da classificação final, são um
fator de motivação, além da informação que podem revelar sobre a eventual necessidade de alterar a condução do
estudo, dando por isso uma importante contribuição para atingir os objetivos.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The teaching method used in the course consists of the presentation of the material and the solution of exercises - the
traditional way of teaching mathematics, in particular when the mastering of basic techniques is at stake.
The presentation of the course material is accompanied by examples, with an emphasis on examples related to
problems in the scientific areas of the students. Sometimes, computational systems are used, in particular, because it
is considered important to call the students' attention to such systems. By making available online the documents
used in lectures, the notation used in the course is made clear and such documents can also be used as a study tool,
which may be considered as an extended summary of the course material. Exercise sheets, which are also made
available online, also constitute an important study tool which is essential to reach the objective of mastering some of
the basic mathematical techniques.
The midterm tests, whose results may be used with some flexibility to compose the final grade, are an incentive for the
students, besides helping to reveal the possible need to change the study methods, thus being an important
contribution to fulfil the course objectives.

4.4.9. Bibliografia de consulta/existência obrigatória:


https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 16/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
● Stewart James (2008); "Calculus". ISBN: 978-0-495-38273-7.
● Stewart James (2006); "Precalculus". ISBN: 978-0-495-55497-4,
● Spivak Michael (1980); "Calculus". ISBN: 0-914098-77-2,
● Joseph W. Kitchen Jr. (1968); "Calculus",
● Chaves Gabriela; "Cálculo Infinitesimal", Universidade do Porto.

Mapa IV - Cálculo II

4.4.1.1. Designação da unidade curricular:


Cálculo II

4.4.1.1. Title of curricular unit:


Calculus II

4.4.1.2. Sigla da área científica em que se insere:


M

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28 T + 28TP

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Paula Alexandra de Almeida Bastos Carvalho Lomp (28 T + 84 TP)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Ao completar esta unidade curricular, o estudante deve saber: os resultados básicos sobre curvas parametrizadas no
plano e no espaço; os resultados fundamentais sobre funções a várias variáveis e compreender as noções de derivada
parcial, gradiente, pontos de máximo e mínimo local. O estudante deve também ser capaz de calcular volumes e áreas
usando, se necessário, mudança de variáveis.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
To know: the basic concepts of parametrized curves in the plane and in the space; the results concerning multivariable
functions and the notions of partial derivative, gradient, local maxima and local minima of a real multivariable function.
To be able of computing volumes and areas using multiple integration and using, if necessary, change of variables

4.4.5. Conteúdos programáticos:


1. Curvas diferenciáveis: Curvas parametrizadas em R^n. Velocidade. Comprimento de arco, aceleração tangencial e
normal. Curvatura e torção.
2. Cálculo diferencial de funções vectoriais de várias variáveis: Abertos e fechados em R^n. Gráficos, curvas de nível e
superfícies de nível de funções escalares. Limites e continuidade de funções. Derivadas direcionais, matriz jacobiana e
derivada de uma função num ponto. Derivada da composta e da função inversa. Gradiente de uma função escalar. Reta
normal e reta/plano tangente a uma curva/superfície de nível num ponto. Derivadas parciais de ordem superior.
Máximos e mínimos de funções escalares de várias variáveis: Extremos locais. Extremos condicionados. Método dos
multiplicadores de Lagrange.
3. Integrais múltiplos: Integrais de funções escalares de várias variáveis. Teorema de Fubini. Cálculo de integrais
duplos e triplos. Teorema de mudança de variável. Integração em coordenadas polares, cilíndricas e esféricas.

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 17/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.5. Syllabus:
1. Parametrized curves in R^n.
2. Real multivariable functions. Derivatives of multivariable functions. Maxima and minima of real-valued multivariable
functions. Lagrange multipliers.
3. Multiple integrals. Fubini’s Theorem. Double and triple integrals. Change of variable in multiple integrals.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos programáticos correspondem ao que se considera formação base na área e estão de acordo com os que
são habituais numa unidade curricular com objetivos idênticos, que normalmente ocorre num primeiro ano de uma
licenciatura com uma boa componente de Matemática.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The syllabus contents correspond to what is considered basic training in the area and are in accordance with those
that are usual in a curricular unit with identical objectives, that normally occurs in a first year of a degree with a good
component in Mathematics.

4.4.7. Metodologias de ensino (avaliação incluída):


As horas de contacto estão distribuídas em aulas teóricas e teórico-práticas. Nas primeiras são apresentados os
conteúdos do programa, recorrendo-se a exemplos para ilustrar os conceitos tratados. Nas aulas teórico-práticas são
resolvidos exercícios e problemas, previamente indicados. Para além das aulas há períodos de atendimento semanais
onde os estudantes têm oportunidade de esclarecer dúvidas.
A avaliação da época normal será feita com base em três testes e 10 quizzes sem exame final. Nas restantes épocas,
os estudantes que realizem o exame para aprovação poderão usar as classificações parciais obtidas já que o exame
terá 3 partes (cada parte corresponderá a um dos testes) e a classificação final será calculada como na época normal.
No caso de melhoria de classificação as classificações parciais não poderão ser usadas e o exame será sobre a
totalidade do programa.

4.4.7. Teaching methodologies (including students' assessment):


Lectures and classes: The content of the syllabus is presented in the lectures, where examples are given to illustrate
the concepts. There are also practical lessons, where exercises and related problems are solved and schedule
appointments where the students can ask further questions.
Assessment in the first exam period will be based on three tests and 10 quizzes with no final exam. In the second
exam, students who still needs to pass can use their partial grades obtained before (the exam will have 3 parts, each
part corresponds to one test) and the final grade will be computed as before. Students trying to improve their grade
will have to do the whole exam.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Nas aulas teóricas são apresentados os conteúdos do programa, recorrendo-se a exemplos para ilustrar os conceitos.
Nas aulas teórico-práticas são resolvidos exercícios e problemas, previamente indicados. São disponibilizados
materiais de apoio na página da disciplina (no Moodle). Há períodos de atendimento semanais onde os estudantes têm
oportunidade de esclarecer dúvidas.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The contents of the syllabus are presented in the lectures and examples are given to illustrate the concepts. There are
also tutorials where exercises and related problems are solved. Several resources, such as exercises, solved exercises
and summaries of the theoretical classes are available for students at the unit’s web page (Moodle).

4.4.9. Bibliografia de consulta/existência obrigatória:


● Stewart James (2006); "Cálculo". ISBN: 85-221-0479-4 (Vol. I).
● Adams e Essex (2010); "Calculus - A Complete Course", ISBN: 978-0-321-54928-0 (7ª edição),
● Jerrold E. Marsden (2012); "Vector calculus". ISBN: 978-1-4292-2404-8.

Mapa IV - Elementos de Inteligência Artificial e Ciência de Dados/

4.4.1.1. Designação da unidade curricular:


Elementos de Inteligência Artificial e Ciência de Dados/

4.4.1.1. Title of curricular unit:


Elements of Artificial Intelligence and Data Science

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 18/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28 T + 28 PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Ana Paula Cunha da Rocha (28 T + 56 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


João Pedro Pedroso Ramos Santos (14 T)
Alípio Mário Guedes Jorge (28 PL)
Luís Paulo Gonçalves dos Reis (28 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Competências:
1- capacidade para identificar conceitos gerais, problemas e aplicações de IA e CD relativos a temas atuais e
históricos da inteligência artificial e ciência de dados, e a sua relação com a ciência, a sociedade e a inovação, assim
como dos seus impactos.
2- capacidade para descrever debater e criticar as interações da IA e CD com a sociedade.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Skills:
1- ability to identify general concepts, problems and applications in AI and DS relating to current and historical themes
of artificial intelligence and data science, and their relationship with science, society and innovation, as well as their
impacts.
2- ability to describe, debate and review the interactions of AI and DS in society.

4.4.5. Conteúdos programáticos:


1. A relevância da Inteligência Artificial e da Ciência de Dados na ciência, na sociedade e na inovação.
2. História e conceitos de IA e CD e a sua relação com a Ciência de Computadores e a Matemática.
3. Relação da IA e CD com a Ciência Cognitiva.
4. Introdução às principais tecnologias de IA e CD através de exemplos de aplicações conhecidas.
5. Impacto da IA na sociedade (ética, privacidade, trabalho, confiança, segurança)
6. Desenvolvimento de um pequeno projeto de IA e/ou CD.

4.4.5. Syllabus:
1. The relevance of Artificial Intelligence and Data Science in science, society and innovation.
2. History and concepts of AI and DS and their relationship with Computer Science and Mathematics.
3. Relationship between AI and DS with Cognitive Science.
4. Introduction to the main AI and DS technologies through examples of known applications.
5. Impact of AI on society (ethics, privacy, work, trust, security)
6. Development of a small AI and / or DS project.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
A UC abordará os temas atuais da IA e CD. A UC dará aos estudantes um conhecimento técnico, ainda que não
aprofundado, sobre os conceitos, problemas e aplicações relacionados. A perspetiva histórica, a relação com outras
ciências e as interações com a sociedade, darão aos estudantes uma capacidade crítica e integrada sobre as áreas
científicas em estudo.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The course will address the current themes of AI and DS. The course will provide students with technical knowledge,
even if not in-depth, on related concepts, problems and applications. The historical perspective, the relationship with
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 19/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
other sciences and the interactions with society, will give students a critical and integrated capacity on the scientific
areas under study.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teórico-práticas com uma componente expositiva, uma componente de apresentações por convidados, uma
componente de discussão e uma componente prática de prototipagem de um pequeno projeto.
Avaliação: distribuída sem exame final
1 trabalho de levantamento e escrita de relatório: TE com peso 50% (10 valores).
1 trabalho de conceção de projeto: TP com peso de 50% (10 valores).
Os estudantes devem ter nota mínima de 6 em ambas as componentes, caso contrário reprova por falta de
componente.
Para obtenção de frequência é suficiente obter nota superior a zero em ambos os trabalhos.

4.4.7. Teaching methodologies (including students' assessment):


Theoretical-practical classes with lectures, seminars by guests and discussion and a practical component for
prototyping a small project.
Assessment: distributed without a final exam
1 survey work and report writing: TE weighing 50% (10 points).
1 project prototyping assignment: TP weighing 50% (10 points).
Students must have a minimum grade of 6 in both components, otherwise, they fail by lack of component.
To obtain frequency it is sufficient to obtain a grade higher than zero in both assignments

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Aulas teórico-práticas com uma componente expositiva transmitem e discutem os conceitos. Estes são depois
consolidados nos trabalhos de levantamento de literatura, na escrita de relatório e no projeto. Finalmente, estes
trabalhos promovem a discussão e debate entre si e com os docentes.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The theoretical-practical classes with an expository component transmit and discuss the concepts. These are then
consolidated in the literature survey, report writing and project work. Finally, these works promote discussion and
debate among themselves and with faculty.

4.4.9. Bibliografia de consulta/existência obrigatória:


● Arlindo Oliveira (2017) The Digital Mind. MIT Press. ISBN: 9780262036030
● Virginia Dignum (2019) Responsible Artificial Intelligence, Springer. ISBN: 978-3-030-30370-9
● Pedro Domingos (2015) The Master Algorithm. Penguin Books. ISBN: 978-1501299384

Mapa IV - Estruturas Discretas

4.4.1.1. Designação da unidade curricular:


Estruturas Discretas

4.4.1.1. Title of curricular unit:


Discrete Structures

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28 T+28 PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 20/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
António Mário da Silva Marcos Florido (14 T+28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Gabriel de Sousa Torcato David (14 T+28 PL)
Bruno Serra Loff Barreto PL (56 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Estudo das estruturas discretas fundamentais que estão na base formal da área de Ciência de
Computadores/Informática.

A frequência desta disciplina deve desenvolver as seguintes aptidões:


1. capacidade de trabalhar com notação matemática e com os principais conceitos de matemática discreta;
2. construir e compreender provas matemáticas;
3. utilizar conceitos matemáticos para formalizar e resolver problemas comuns em Ciência de
Computadores/Informática.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Study of the fundamental discrete structures that serve as a theoretical basis for the area of Computer
Science/Informatics.

After taking the course the students should be capable of:


1. work with mathematical notation and common concepts in discrete mathematics;
2. construct and understand mathematical proofs;
3. se mathematical concepts to formalise and solve problems in Computer Science/Informatics.

4.4.5. Conteúdos programáticos:


1. Tópicos elementares de lógica: cálculo proposicional, equivalência lógica, regras de inferência, breve introdução ao
cálculo de predicados.
2. Teoria de conjuntos: conjuntos e subconjuntos, operações de conjuntos, diagramas de Venn.
3. Indução matemática: indução matemática, definições por recursão.
4. Relações: Produtos cartesianos e relações, propriedades de relações, funções, representações computacionais de
relações, ordens parciais, relações de equivalência e partições.
5. Grafos: definições e exemplos, subgrafos, grafos complementares e grafos isomorfos, graus de vértices, grafos
planares, caminhos e ciclos hamiltonianos.
6. Tópicos elementares de álgebra: aneis e aritmética modular, algebra booleana.
7. Números inteiros: o algoritmo da divisão, números primos, máximos divisor comum e algoritmo de Euclides, o
teorema fundamental da Aritmética.
8. Contagem: somas e produtos, permutações, combinações, coeficientes binomiais.

4.4.5. Syllabus:
1. Elementary topics in logic: propositional calculus, logic equivalence, inference rules, breve introduction to predicate
calculus.
2. Set theory: sets and subsets, set operations, Venn diagrams.
3. Mathematical induction: mathematical induction, recursive definitions.
4. Relations: cartesian products and relations, properties, functions, computational representations of relations, partial
orders, equivalence relations and partitions.
5. Graphs: definitions and examples, sub-graphs, complement and isomorphic graphs, degree of a vertex, planar
graphs, Eulerian paths and Hamiltonian cycles in graphs.
6. Elementary topics in algebra: rings and modular arithmetic, boolean algebra.
7. Integer numbers: the division algorithm, prime numbers, the greatest common divisor and Euclid’s algorithm, the
fundamental theorem of arithmetic.
8. Counting: sums and products, permutations and combinations, binomial coefficients.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos programáticos abordam as estruturas discretas fundamentais que estão na base formal da área de
Ciência de Computadores/Informática, cujo conhecimento e domínio é essencial para estudantes que estão a iniciar os
seus estudos nesta área. As técnicas formais e conceitos abordados na disciplina permitem aos estudantes
desenvolver competências em estruturação e formalização de problemas na área de Ciência de Computadores.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The syllabus addresses the fundamental discrete structures, which serve as a formal basis for the area of Computer
Science/Informatics, and whose knowledge and mastery is essential for students initiating their studies in this area.
The formal techniques and concepts learned in this discipline allow the students to develop skills in structuring and
formalizing problems in the area of Computer Science.
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 21/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas de exposição dos conteúdos programáticos.
Aulas práticas laboratoriais de resolução de exercícios propostos semanalmente.
Avaliação distribuída sem exame final.
Perde frequência o estudante que faltar a mais do que um quarto das aulas práticas do semestre (3 faltas no máximo).
Teste intercalar: 10 valores.
Teste final: 10 valores.
Sendo TI a classificação obtida no teste intercalar e TF a classificação obtida no teste final, então a nota final é dada
por:
F = TI(>=3) + TF(>=3)
Não obterão aprovação os estudantes que não obtiverem um mínimo de 3 valores (em 10), em ambos os testes.
Exame de melhoria cotado para 20.

4.4.7. Teaching methodologies (including students' assessment):


Lectures: the exposition of the elements in the syllabus.
Practical/Lab classes: the resolution of exercises proposed each week.
Distributed evaluation without a final exam.
Students are required to attend at least three-quarters of the estimated lab classes.
Mid-semester test: 10 points.
Final test: 10 points.
If MT is the mark obtained in the mid-semester test and FT the mark obtained in the final test, then the final mark is
given by:
F = MT(>=3) + FT(>=3)
Students must obtain a minimum of 3 points (in a total of 10) in each test to be approved.
Exam improvement will be marked from 0-20.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas teóricas permitem a exposição dos conteúdos programáticos assim como a apresentação/discussão de
problemas e respetiva resolução, permitindo aos estudantes a aquisição dos conceitos/técnicas e o desenvolvimento
das aptidões necessárias para a resolução de problemas formais em Ciência de Computadores.
As aulas práticas permitem desenvolver a capacidade autónoma dos estudantes para a resolução de problemas.
Tratando-se de uma disciplina com um carácter mais teórico, a realização de uma avaliação distribuída, permite um
melhor acompanhamento do desenvolvimento dos estudantes ao longo do semestre, estimulando os estudantes para
um estudo regular da matéria.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The lectures and practical lectures allow for the presentation of the syllabus as well as the introduction/discussion of
problems and their solution, allowing the students to acquire the concepts/techniques and the development of the
necessary skills for solving formal problems in Computer Science.
The lab classes promote the student's autonomy for solving problems.
Being a course with a strong theoretical focus, having a distributed evaluation, gives the opportunity to better follow
the students progress throughout the semester, and stimulates the students for a regular study of the course
materials.

4.4.9. Bibliografia de consulta/existência obrigatória:


● David Makinson (2008) Sets, Logic and Maths for Computing, Undergraduate Topics in Computer Science, Springer-
Verlag. ISBN: 978-1447124993
● R. P. Grimaldi (2003); Discrete and Combinatorial Mathematics: an Applied Introduction. ISBN: 978-0201549836
● Kenneth H. Rosen (2003) Discrete Mathematics and its Applications, McGraw-Hill, Inc., New York. ISBN: 978-
1260091991

Mapa IV - Introdução aos Computadores

4.4.1.1. Designação da unidade curricular:


Introdução aos Computadores

4.4.1.1. Title of curricular unit:


Introduction to Computers

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 22/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T+ 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
João Manuel Paiva Cardoso (14 T+56 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Luís Miguel Barros Lopes (14 T+28 PL)
Michel Celestino Paiva Ferreira (28 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


1. Identificar e enumerar as principais questões da Ciência de Computadores.
2. Compreender os conceitos básicos sobre a estrutura e funcionamento dos computadores e dos sistemas de
operação.
3. Saber utilizar ambientes de desenvolvimento.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
1. Identify and enumerate the main questions of Computer Science.
2. Understand the operation of computers and operating systems
3. Be able to use development environments.

4.4.5. Conteúdos programáticos:


1. O que é um computador: breve história da Informática.
2. Representação digital de informação e seu processamento. Bases numéricas. Números em vírgula flutuante.
3. Estrutura de computadores, componentes principais. Modelos abstratos de máquinas. Máquinas programáveis:
linguagens máquina, assembladores, assembladores mínimos.
4. Sistemas de operação (referência principal: UNIX/Linux). Sistema de Ficheiros. Processos. Organização e
administração de memória central. Linguagens de comandos. Utilitários. Controle de periféricos. Redes de
computadores: protocolos.
5. Linguagens de programação: evolução, classificação. Paradigmas de programação. Sintaxe e semântica de
linguagens. Compiladores e interpretadores. Carregadores e ligadores. Ferramentas de ajuda à programação.
6. Conceitos básicos de Paralelismo: hardware e software. Memória partilhada e distribuída. Arquiteturas multicore e
GPUs.

4.4.5. Syllabus:
1. What is as Computer: A Brief History of Computing.
2. Digital Representation of Information and processing. Number bases. Floating Point.
3. Computer Architecture. Main components of a Computer. Abstract Models. Programmable Machines. Machine
language, assemblers, minimal assembly.
4. Operating Systems: File Systems, Processes, Memory Management. Unix and Windows. Shell and shell
programming. Computer Networks and Protocols.
5. Programming Languages: history. Programming Languages. Syntax and Semantics. Compilers and Interpreters.
Linkers. IDEs.
6. Basic concepts of parallelism: hardware and software. Shared and distributed memory. Multicore architectures and
GPUs.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos programáticos endereçam os problemas primários em CC, para estudantes que estão a entrar no
primeiro ciclo. Permitem uma visão geral que funciona como base para o trabalho futuro nas diversas UCs. A UC
fornece ainda a possibilidade de entrar em contato com os principais ambientes de programação usados na
licenciatura.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 23/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
The syllabus is geared at supporting the student's transition to the first cycle. It provides a broad overview of CS, that
will be helpful in the next few years, clarifying early on general concepts on OS and PLs. It provides a key introduction
to the development environments the author will use throughout the course.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas: exposição da matéria, acompanhada de alguns exemplos.
Aulas práticas laboratoriais: resolução de problemas e discussão de resultados.
Avaliação por dois testes realizados ao longo do semestre com igual ponderação. Em caso de não obtenção de
aprovação nos testes a avaliação é feita por exame final.

4.4.7. Teaching methodologies (including students' assessment):


Theory classes: an exposition of the subjects illustrated with examples
Practical classes: problem resolution and discussion.
Assessment through two equal weight tests taken during the semester. In case of failure in the tests assessment is
made by a final exam.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Os objetivos da UC obrigam a um compromisso entre duas componentes: uma formação generalista, fornecida
através das teóricas, e uma formação prática, incluindo uso de ambientes de programação, permitida pelas aulas
práticas.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
To achieve the desired outcome, we need to tackle two components: a generalistic overview of CS, and a hands-on,
stimulating approach to programming environments. The lectures and the labs allow implementing those two
components.

4.4.9. Bibliografia de consulta/existência obrigatória:


- Glenn J. Brookshear (2008). Computer Science an Overview. 10th edition Pearson. ISBN: 978-0321544285
- Patterson David A., Hennessy John (1998) Computer Organization and Design- - The Hardware/Software Interface.
Morgan Kaufmann, 2nd edition (or higher) ISBN: 1-55860-604-1

Mapa IV - Introdução à programação

4.4.1.1. Designação da unidade curricular:


Introdução à programação

4.4.1.1. Title of curricular unit:


Introduction to programming

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28 T+28 PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
João António Correia Lopes(14 T+28 PL)

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 24/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Sérgio Armindo Lopes Crisóstomo (14 T+28 PL)
André Monteiro de Oliveira Restivo (56 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


No final desta UC, o/a estudante deverá ser capaz de:
1. simular a execução passo-a-passo de fragmentos de programas em Python;
2. escrever programas para resolver problemas de programação elementares (ex: cálculo numérico, processamento de
listas e de cadeias de texto);
3. escolher representações apropriadas para dados usando tipos fundamentais (ex: números inteiros e de vírgula-
flutuante, booleanos, carateres, listas);
4. decompor um problema em sub-tarefas e implementá-las como funções separadas;
5. implementar algoritmos elementares (ex: algoritmo de Euclides para o MDC; pesquisa sequencial e binária;
ordenação por seleção e inserção);
6. escrever casos de testes simples e corrigir erros nos seus programas

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
At the end of this curricular unit, the student should be able to:
1. simulate the step-by-step execution of simple Python programs;
2. write programs to solve solve elementary programming problems (e.g: numerical computations, list and text
processing);
3. choose appropriate representations for data using fundamental types (ex: integer and floating point numbers,
booleans, characters, lists);
4. decompose problems into sub-tasks and implement them as separate functions;
5. implement elementary algorithms (e.g.: Euclid’s GCD algorithm; sequential and binary search; sorting by selection
and insertion);
6. write simple test cases to aid debug their programs.

4.4.5. Conteúdos programáticos:


1.Linguagens de programação: linguagens de alto e baixo nível; interpretadores e compiladores
2.Introdução linguagem Python: variáveis, expressões, valores e tipos básicos, instruções
3.Utilização interativa do Python; definição de funções simples.
4.Condições e valores lógicos; instruçao condicional
5.Ciclos e Iteração. Exemplos de programação com gráficos "turtle"
6.Geração de números pseudo-aleatórios; exemplos com jogos simples e simulação
7.Resolução numérica de equações; implementação de alguns algoritmos elementares
8.Estruturas de dados para sequências; processamento de sequências: agregações usando ciclos e notação em
compreensão
9.Algoritmos de pesquisa e ordenação em listas. Pesquisa sequencial e binária; ordenação pelo método de inserção e
seleção. Noção de complexidade algorítmica
Definições recursivas; exemplos de algoritmos expressos recursivamente
Documentação de programas usando comentários e “docstrings”. Noção de teste unitário; utilização da biblioteca
“doctest”

4.4.5. Syllabus:
Programming languages; low and high-level languages; interpreters and compilers
Introduction to the Python languages: variables, expressions, values, types and statements
Using the Python interpreter interactively; defining simple functions
Conditional execution and logical values
Iteration using loops. Programming examples with “turtle “graphics
Pseudo-random number generators. Programming examples with simple games and simulations
Data structures for sequences; processing sequences: aggregations using loops and list comprehensions.
Algorithms for searching and sorting in lists. Sequential and binary search; sorting using insertion and selection.
Notion of algorithmic complexity.
Recursive definitions; examples of solving problems by recursive “divide-and-conquer”.
Program documentation using comments and “docstrings”. Introduction to unit testing using “doctest” library.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
O programa introduz a programação de forma gradual, intercalando a exposição de conceitos com a aplicação na
resolução de problemas de grau crescente de complexidade. Esta estrutura contribui para o desenvolver a capacidade
de resolução de problemas (contribuindo para os objetivos 1, 2 e 3) e a adoção de metodologias de programação
estruturada (objetivo 4 e 6). A utilização de exemplos em diferentes áreas de computação (ex: gráficos, jogos, cálculo
numérico, estruturas de dados) contribuindo para transmitir uma visão global da programação, representação de
informação e de algoritmia (objetivos 2, 3 e 5).

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The syllabus promotes gradual learning by interleaving the presentation of concepts with their application to solving
problems of increasing difficulty. This promotes the development of problem-solving skills (contributing to learning
objetives 1, 2 and 3) and the adoption of structured programming methodologies (objetive 4 and 6). The use of diverse
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 25/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
examples (e.g. graphics, games, numerical computation, data structures) conveys a global view of programming, data
representation and algorithms (objectives 2, 3 and 5).

4.4.7. Metodologias de ensino (avaliação incluída):


As aulas teóricas usam um método expositivo suportadas por “slides” e quadro, intercalada com a demonstração de
exemplos de programação em computador. As aulas práticas laboratoriais permitem que os estudantes consolidem
conhecimentos aplicando-os a exercícios propostos com a supervisão de um docente. A utilização de sistemas de
testes automático permite que os estudantes obtenham “feedback” rápido sobre a correção funcional dos seus
programas.
A avaliação é distribuída, com exame final, composta por um teste intermédio realizado durante as aulas com um peso
de 20% da nota final.
Condições de frequência: frequência obrigatória às aulas práticas (conforme o regulamento da Universidade do Porto)
e resolução de, pelo menos, metade dos problemas das aulas práticas com correção automática.
Classificação final corresponde a 80% da nota do exame final e 20% da nota do teste intermédio

4.4.7. Teaching methodologies (including students' assessment):


Lectures consist of exposition of concepts supported by whiteboard and slide presentations, intermixed with
demonstrations of illustrative examples on a computer. Laboratory classes allow students to solve proposed exercises
in a computer lab with a supervised assistance when needed. The use of automated testing allows students to get
quick feedback on correctness for selected exercises.
Assessment consists of a mid-term test and and a final exam, both conducted in computer laboratory. The final mark is
given by 20% of the mid-term test grade plus 80% of the final exam grade.
To be eligible for exam students must attend two-thirds (2/3) of the laboratory classes and also correctly submit at
least half (1/2) of the worksheet exercises with automated tests.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas teóricas apresentam conceitos de programação de forma gradual, utilizando exemplos selecionados para
motivar técnicas e metodologias de programação. A resolução individual de exercícios nas aulas laboratoriais permite
que os estudantes apliquem os conceitos estudados a novas situações de forma independente e, desta forma,
consolidem conhecimentos. A utilização de sistemas de testes automáticos permite ao estudante obter “feedback”
rápido sobre a correção das suas soluções e, dessa forma, contribuir para corrigir erros e experimentar soluções
alternativas.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Lectures present concepts gradually using selected examples to motivate techniques and programming
methodologies. The individual resolution of programming assignment in laboratory classes allows students to apply
these concepts to new situations, thus consolidating they understanding. The use automatic testing allows students to
get quick feedback on the functional correctness of they solutions, thus contributing to correcting errors and
experimenting with alternative solutions.

4.4.9. Bibliografia de consulta/existência obrigatória:


- Allen B. Downey (2016), “Think Python: How to think like a computer scientist (2nd Edition)”, O’Reilly. Disponível on-
line: http://greenteapress.com/wp/think-python-2e/, ISBN: 978-1491939369
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. 2009. Introduction to Algorithms, Third
Edition (3rd. ed.). The MIT Press.

Mapa IV - Modelos de Computação

4.4.1.1. Designação da unidade curricular:


Modelos de Computação

4.4.1.1. Title of curricular unit:


Computational Models

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28 T + 28 PL

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 26/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Ana Paula Nunes Gomes Tomás (14 T + 28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


João Manuel Paiva Cardoso (14 T + 56 PL)
Rogério Ventura Lages dos Santos Reis (28 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


1. Conhecimento dos fundamentos das linguagens formais.
2. Saber especificar linguagens formais usando formas de descrição alternativas.
3. Determinar a sua classificação na hierarquia de poder computacional.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
1. Knowledge of the foundations of formal language theory.
2. Be able to describe formal languages using different models of computation.
3. Classify them in the Chomsky hierarchy.

4.4.5. Conteúdos programáticos:


1. Noção de linguagem formal. Autómatos finitos determinísticos e não determinísticos.
2. Expressões regulares e autómatos finitos. Propriedades das linguagens regulares.
3. Minimização de autómatos finitos.
4. Lema da repetição para linguagens regulares.
5. Linguagens e gramáticas independentes de contexto. Árvores de derivação. Ambiguidade. Simplificações de
gramáticas independentes de contexto e formas normais. Propriedades das linguagens independentes de contexto
(LIC). Lema da repetição para LICs.
6. Máquinas de Turing e noção de computabilidade.

4.4.5. Syllabus:
1. Notion of formal language. Deterministic finite automata and Non-deterministic finite automata.
2. Regular expressions and finite automata. Properties of regular languages.
3. Minimization of finite automata.
4. Pumping Lemma for regular languages.
5. Context-free grammars and languages. Derivation trees. Ambiguity. Simplification of context-free grammars and
normal forms. Properties of context-free languages. Pumping Lemma for context-free languages.
6. Turing machines and the notion of computability.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os estudantes aprendem a descrever linguagens formais nos modelos de computação standard para linguagens
regulares (autómatos finitos determinísticos e não determinísticos, expressões regulares), para linguagens
independentes de contexto (gramáticas independentes de contexto, autómatos de pilha) e linguagens recursivas
(máquinas de Turing). O lema da repetição, que é dado para linguagens regulares e linguagens independentes de
contexto, é uma ferramenta que juntamente com os diversos modelos de computação permite aos estudantes
classificar corretamente linguagens na hierarquia de Chomsky.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
Students learn to describe formal languages using standard models of computation for regular languages
(deterministic finite automata, non-deterministic finite automata and regular expressions), for context-free languages
(context-free grammars and pushdown automata)
and recursive languages (Turing machines). The pumping lemma, for regular as well as for context-free languages) is a
tool that, together with the different models of computation, allows students to correctly classify formal languages in
the Chomsky hierarchy.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas de exposição dos conteúdos programáticos.
Aulas práticas de resolução de exercícios propostos semanalmente.

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 27/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
A unidade curricular funcionará em regime de avaliação contínua, com um teste a meio do semestre e outro na
primeira época de exames. A nota mínima em cada um dos testes é de 1/3.
Para obter frequência à disciplina é exigida a presença a 3/4 das aulas práticas.

Os estudantes que não obtiverem frequência, não serão admitidos a exame.

O exame final de recurso, para que não tenha obtido aprovação pela avaliação contínua, terá a classificação de 20
valores e será realizado na época de recurso..

Para os estudantes com aprovação por avaliação contínua a nota final será a média aritmética das classificações
obtidas nos testes.

4.4.7. Teaching methodologies (including students' assessment):


Lectures: an exposition of the elements in the syllabus.
Practical Lectures: presentation of examples and case studies.
Lab classes: the resolution of exercises proposed each week.

Distributed evaluation with two tests, with a minimum mark of 1/3.

There will take place a final exam, for the students that did not get the necessary grades in the tests. This final exam
marks 20 points.

The final grade is the arithmetic average of the grades of the tests (or the grade of the final exam).

To be admissible to the final test and exam, students can not fail to be present to more than 1/4 of the lab classes.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As metodologias de ensino estão em coerência com os objetivos de aprendizagem dado que:

- As aulas teóricas permitem uma exposição dos conteúdos programáticos adequada ao público-alvo, ajudadas por
uma utilização constante de exemplos;
- As aulas práticas permitem consolidar os conhecimentos adquiridos nas aulas teóricas, bem como acompanhar os
estudantes na resolução de problemas e encorajá-los a resolvê-los de forma autónoma;
- A meio do semestre é realizado um teste com nota mínima de forma a garantir que os estudantes acompanhem a
disciplina ao longo do semestre. A avaliação final (exame) permite assegurar que os estudantes tenham adquiridos
conhecimentos suficientes sobre os assuntos lecionados nesta unidade curricular.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The teaching methodologies are coherent with the learning outcomes since:

- The theoretical classes allow an exposition of the syllabus components that is adequate to the target public, aided by
the constant usage of examples;
- The practical classes allow to consolidate the acquired knowledge, as well as to assist the students during the
resolution of exercises and encourage them to solve them in an autonomous way;
- A test to be realized in the middle of the semester ensures that
- students accompany the curricular unit along the semester. The final
- evaluation (exam) makes sure that the students have a general
- knowledge with adequate depth of the subject taught in this unit.

4.4.9. Bibliografia de consulta/existência obrigatória:


● John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman (2006), Introduction to Automata Theory, Languages, and
Computation, Addison-Wesley. ISBN: 0-321-47617-4
● Dexter C. Kozen (1997), Automata and Computability, Springer. ISBN 0-387-94907-0
● Mark V. Lawson (2004), Finite Automata, Chapman & Hall/CRC, ISBN: 1-58488-255-7

Mapa IV - Programação Imperativa

4.4.1.1. Designação da unidade curricular:


Programação Imperativa

4.4.1.1. Title of curricular unit:


Imperative Programming

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 28/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28 T + 28 PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Pedro Baltazar Vasconcelos (14 T + 28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Jorge Alves da Silva (14 T + 56 PL)
Sandra Maria Mendes Alves (28 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


No final desta unidade curricular os estudantes devem:
1. conhecer a sintaxe e semântica das construções fundamentais da linguagem C;
2. ser capazes de implementar algoritmos elementares em C (ex: pesquisa, contagem e ordenação);
3. saber utilizar ferramentas de desenvolvimento de sistema operativo GNU/Linux (editor de texto, compilador e
"debugger");
4. conhecer alguns princípios de correção de programas (invariantes, pré- e pós-condições de ciclos e funções) e ser
capaz de os exprimir usando asserções;
5. compreender o conceito de apontador e ser capaz de o utilizar para processamento de variáveis indexadas e
cadeias de carateres;
6. ser capazes de utilizar funções da biblioteca padrão da linguagem C para processamento de cadeias e leitura/escrita
de ficheiros.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
After this course, students should:
1. know the syntax and semantics of fundamental constructs of the C language;
2. be able to implement elementary algorithms in the C language (searching, counting and sorting);
3. know how to use basic GNU/Linux development tools (text editor, compiler and debugger);
4. understand principles of program correctness (invariants, pre- and post conditions for loops and functions) e be
able to express them using assertions;
5. understand the concept of pointers and be able to apply it for iterating over sequences and strings;
6. be able to use functions from the C library for string progressing and file I/O.

4.4.5. Conteúdos programáticos:


1. Introdução à linguagem C. Características da linguagem e domínios de aplicação.
2. Fundamentos da linguagem C. Estrutura sintática de programas. Diretivas, declarações e expressões. Compilação e
execução.
3. Tipos inteiros e de vírgula-flutuante. Expressões, execução condicional e definição de funções. Instruções de
controlo de fluxo iteração.
4. Implementação de alguns algoritmos elementares (ex: algoritmo de Euclides, aproximação numérica de raízes
quadradas).
5. Variáveis indexadas e cadeias de carateres; implementação de algoritmos de pesquisa e ordenação.
6. Introdução ao modelo de memória da linguagem e à programação com apontadores.
7. Definição e utilização de tipos estruturados, enumerações e uniões
8. Deteção e correção de erros. Utilização interactiva de um "debugger". Utilização de asserções para exprimir pré- e
pós-condições e de funções e ciclos; invariantes de ciclos.
9. Leitura e escrita de ficheiros; utilização de bibliotecas e compilação separada.

4.4.5. Syllabus:
1. Introduction to the C language. Characteristics of the language and application domains.
2. Fundamentals of the C language. Syntactical structure of programs. Directives, declarations, expressions.
Compilation and execution.
3. Integers and floating-point types. Expressions, conditional execution, function definition. Statements for control flow

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 29/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
and looping.
4. Implementation of some elementary algorithms (e.g. Euclid’s algorithm, numerical approximation of square roots).
5. Indexed variables and character strings; implementationof search and sorting algorithms.
6. Introduction to the C memory model and programming with pointers.
7. Defining and using structured types, enumerations and unions.
8. Detecting and correcting errors. Interactive use of a debugger. Using assertions to express pre- and post-conditions
for loops and functions; loop invariants.
9. Reading and writing files; using libraries and separate compilation.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos programáticos introduzem conceitos de programação imperativa de forma gradual, começando pelos
aspetos sintáticos e semânticos (pontos 1, 2 e 3) e progredindo para os conceitos de algoritmia, modularidade e
programação de baixo-nível (pontos 4, 5, 6, 7 e 9). Os aspetos metodológicos de correção de programas (ponto 8) são
apresentados de forma intercalada com outros de forma a encorajar a sua adoção por parte dos estudantes e servirem
como auxiliares de aprendizagem.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
Programming concepts are introduced in a gradual way, starting by syntactic and semantic aspects (points 1, 2, 3) and
progressing to algorithms, modularity and low-level aspects (points 4, 5, 6, 7 and 9). Methodological aspects regarding
program correctness (point 8) are interleaved with other concepts to better encourage their adoption and help student
learning.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas: exposição oral de conceitos suportada por transparências e demonstração interativa no computador
de exemplos e exercícios ilustrativos.
Aulas laboratoriais: resolução autónoma por parte dos estudantes de exercícios em computador em ambiente
laboratorial usando ferramentas de programação (editor, compilador, “debugger” e sistema de testes automáticos) e
supervisão docente.
Avaliação será distribuída incluindo um teste intermédio e exame final realizados em laboratório de computadores. O
teste tem um peso de 20% na classificação final e o exame os restantes 80%.
Para obtenção de frequência à UC o estudante deve assistir a 75% das aulas laboratoriais dadas e ainda submeter
corretamente durante o semestre pelo menos metade (1/2) dos exercícios das folhas com correção automática.

4.4.7. Teaching methodologies (including students' assessment):


Lectures: oral exposure of concepts supported by slide presentations and interactive demonstration on a computer of
illustrative examples and exercises.
Laboratory classes: students solve exercises from worksheets in a computer lab using development tools (editor,
compiler and automated testing system) with a supervisor assistance.
Assessment is distributed between a mid-term test and and final exam, both conducted in computer laboratory. The
final mark is given by 20% of the mid-term grade test plus 80% of the final exam grade.
To be eligible for exam students must attend 75% of the laboratory classes and also correctly submit during the
semester at least half (1/2) of the worksheet exercises with automated tests.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas teóricas introduzem conceitos de forma gradual e servindo-se de pequenos exemplos para clarificar a
semântica de construções da linguagem contribuindo assim para os objetivos 1 e 2. A resolução de exercícios de
programação selecionados contribui para transmitir metodologias para a resolução de problemas, contribuindo assim
para os objetivos 3 e 4.
As aulas práticas permitem que os estudantes resolvam problemas individualmente; a utilização de testes automáticos
para alguns exercícios selecionados combinado com o “feedback” de docente permite aos estudantes testarem a
compreensão dos conceitos estudados e experimentem resoluções alternativas, contribuindo assim para os objetivos
3, 4, 5 e 6.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Lectures introduce concepts in a gradual way, using short examples to clarify the semantics of language constructs
thus contributing to objectives 1 and 2. The demonstration of selected programming exercises classes helps convey
problem-solving methodology, thus contributing to objectives 3 and 4.
Laboratory classes allow students to solving problems on their own; the use of automated tests for selected exercises
and feedback from supervisors allows students to check their understanding of fundamental concepts and experiment
with alternative solutions thus contributing to objectives 3, 4, 5 and 6.

4.4.9. Bibliografia de consulta/existência obrigatória:


- K. N. King (2008). “C programming : a modern approach” (2ª edição) New York: W. W. Norton.
- J. Bentley (2006). “Programming Pearls”, Pearson.

Mapa IV - Aprendizagem Computacional I

4.4.1.1. Designação da unidade curricular:


https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 30/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Aprendizagem Computacional I

4.4.1.1. Title of curricular unit:


Machine Learning I

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28 T+28 PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Carlos Manuel Milheiro de Oliveira Pinto Soares (14 T)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Rita Paula Almeida Ribeiro (14 T+56 PL)
José Luís Cabral Moura Borges (56 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


O1. Conhecer os vários tipos de tarefas de aprendizagem computacional (AC).
O2. Identificar problemas que possam ser abordados como tarefas de AC.
O3. Conhecer os fundamentos algorítmicos da AC.
O4. Conhecer as fases de um projeto de AC.
O5. Conhecer os principais métodos/algoritmos para cada tipo de tarefa de AC e compreendam o essencial do seu
funcionamento.
O6. Avaliar de forma correta os resultados de um projeto de AC.
O7. Utilizar de forma adequada, software para a resolução de problemas simples de AC.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
O1. Know the various types of machine learning (ML) tasks.
O2. Identify problems that can be addressed as ML tasks.
O3. Know the algorithmic fundamentals of ML.
O4. Know the phases of an ML project.
O5. Know the main methods / algorithms for each type of ML task and understand the essentials of its operation.
O6. Properly evaluate the results of an ML project.
O7. Properly use software to solve simple ML problems.

4.4.5. Conteúdos programáticos:


1.Introdução à Aprendizagem Computacional (AC).
2.Construção de sistemas de AC: modelo CRISP.
3.Pré-processamento de dados.
4.Análise exploratória de dados.
5. Aprendizagem descritiva: algoritmos de clustering (partição, densidade, hierárquicos, baseados em modelos);
avaliação de modelos de clustering.
6.Aprendizagem descritiva: algoritmos de descoberta de padrões frequentes e regras de associação; avaliação de
modelos de associação; padrões frequentes em tipos complexos de dados
7.Aprendizagem preditiva: problemas (classificação, regressão, multi-label, multi-target); medidas de avaliação de
modelos de classificação e de regressão.
8.Modelos baseados em formulações matemáticas (discriminantes lineares, regressão linear), em distâncias (k-NN),
em procura (árvores de decisão, regras) e em otimização (redes neuronais, SVM).
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 31/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
9.Modelos Múltiplos.
10.Desenvolvimento de modelos: metodologias de avaliação e comparação de modelos e algoritmos; métricas de
desempenho, afinação de modelos.

4.4.5. Syllabus:
1. Introduction to Machine Learning. History and applications of ML
2. Process of building ML systems: CRISP model
3. Data pre-processing
4. Exploratory data analysis
5. Descriptive learning: clustering algorithms (partition, density, hierarchical, based on models); evaluation of
clustering models
6. Descriptive learning: algorithms for discovering frequent patterns and association rules; evaluation of association
models; frequent patterns in complex data types.
7. Predictive learning: problems (classification, regression, multi-label, multi-target); measures of evaluation of
classification models (binary and multi-class) and of regression models.
8. Models based on mathematical formulations (linear discriminants, linear regression), distances (k-NN), search
(decision trees, rules) and optimization (neural networks, support vector machines)
9. Ensemble Models
10. Model development: methodologies for evaluation and comparison of models and algorithms; performance
metrics; model tuning

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
● A discussão da história da Aprendizagem Computacional (AC) bem como das suas aplicações mais relevantes
permite um primeiro contacto com várias das tarefas, problemas e abordagens envolvidas (conteúdos programáticos
1, 2, 5, 6, 7, 8 e 9).
● A escolha das tarefas e dos algoritmos abordados está de acordo com bibliografia de referência (conteúdos
programáticos 5, 6, 7, 8 e 9).
● O ensino de uma metodologia standard tem o propósito de dotar os estudantes da capacidade de desenvolverem um
projeto na área de AC, usando não só algoritmos de aprendizagem de modelos adequados, mas também métodos para
as outras fases desse projeto (conteúdos programáticos 2, 3, 4 e 10).
● A realização de exercícios práticos permite consolidar a matéria e dar alguma experiência dos desafios que surgem
na realização de projetos de AC (conteúdo programáticos 3, 4 e 10).

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
● The discussion of the history of Machine Learning (ML) as well as its most relevant applications allows a first contact
with several of the tasks, problems and approaches involved (syllabus 1, 2, 5, 6, 7, 8 and 9).
● The choice of the tasks and the algorithms covered is in accordance with the reference bibliography (syllabus 5, 6, 7,
8 and 9).
● The teaching of a standard methodology is intended to provide students with the ability to develop a project in the
ML area, using not only algorithms for learning appropriate models, but also methods for the other phases of that
project (syllabus 2, 3, 4 and 10).
● The practical exercises solving allows to consolidate the material and give some experience of the challenges that
arise in carrying out ML projects (syllabus 3, 4 and 10).

4.4.7. Metodologias de ensino (avaliação incluída):


Nas aulas será usado o método expositivo, sendo apresentada uma visão organizada dos temas do programa, bem
como exemplos e exercícios práticos de aplicação dos mesmos.
Fórmula de cálculo da classificação final:
0.5* Nota da avaliação distribuída + 0.5 * Nota do exame

Avaliação Distribuída
A avaliação distribuída consiste na elaboração de dois trabalhos práticos: um sobre aprendizagem descritiva e outro
sobre aprendizagem preditiva. No caso de falta a um dos momentos da avaliação distribuída, a nota atribuída é de 0
(zero) valores. Os trabalhadores estudantes e equivalentes dispensados das aulas devem, com periodicidade a
combinar com os docentes, apresentar a evolução dos seus trabalhos, assim como devem fazer a apresentação
destes, simultaneamente com os estudantes ordinários.

Fórmula de cálculo da avaliação distribuída:


0.5* Nota do trabalho de aprendizagem descritiva + 0.5 * Nota do trabalho de aprendizagem preditiva

4.4.7. Teaching methodologies (including students' assessment):


In classes, the expository method will be used, presenting an organized view of the program's themes, as well as
examples and practical exercises in their application.

Calculation formula of the final classification:


0.5 * Distributed evaluation score + 0.5 * Exam score

Distributed Evaluation
The distributed evaluation consists of the elaboration of two practical assignments: one on descriptive learning and
one on predictive learning. In case of missing one of the moments of the distributed evaluation, the grade is 0 (zero).
Working students and equivalents dismissed from classes must, at intervals to be agreed with the teachers, present
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 32/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
the evolution of their practical assignments, as well as must present them simultaneously with ordinary students.

Calculation formula for distributed evaluation:


0.5 * Grade of descriptive learning practical assignment + 0.5 * Grade of predictive learning practical assignment

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
● As partes expositivas das aulas introduzem os conceitos subjacentes às tarefas, problemas e abordagens cobertas
na U.C. (O1 a O6).
● Os exemplos e os exercícios propostos nas aulas, bem como os projetos permitem consolidar os conceitos dar
alguma experiência dos desafios que surgem na realização de projetos de Aprendizagem Automática (O4 a O7).

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
● The theoretical part of the classes introduce the concepts underlying the tasks, problems and approaches covered in
the U.C. (O1 to O6).
● The examples and exercises proposed in the classes, as well as the projects allow us to consolidate the concepts
and give some experience of the challenges that arise in the realization of Machine Learning projects (O4 to O7).

4.4.9. Bibliografia de consulta/existência obrigatória:


● Mitchell, T. M. (2017). Machine learning. New York: McGraw Hill.
● Flach P. (2012). Machine Learning, Cambridge University Press. ISBN: 978-1-107-42222-3
● Witten, I. H., Frank, E., Hall, M. A., & Pal, C. J. (2017). Data mining: practical machine learning tools and techniques.
Amsterdam: Morgan Kaufmann.
● Hastie, T., Friedman, J., & Tibshirani, R. (2017). The Elements of statistical learning: data mining, inference, and
prediction. New York: Springer.
● Shalev-Shwartz, S., & Ben-David, S. (2017). Understanding machine learning: from theory to algorithms. Cambridge:
Cambridge University Press.
● Grolemund, G. (2015). Hands-on programming with R. Sebastopol, CA: OReilly.
Wickham, H. (2020) R for Data Science - https://r4ds.had.co.nz/.

Mapa IV - Bases de Dados

4.4.1.1. Designação da unidade curricular:


Bases de Dados

4.4.1.1. Title of curricular unit:


atabases

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Eduardo Resende Brandão Marques (14 T+28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 33/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Carla Alexandra Teixeira Lopes (14 T)
João Pedro Carvalho Leal Mendes Moreira (56 PL)
Pedro Miguel Alves Brandão ( 56 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Fornecer aos estudantes os conceitos fundamentais da teoria e prática de bases de dados como sistemas de
manipulação de grandes quantidades de informação.
Os estudantes deverão adquirir as seguintes competências: (a) compreender o que é um sistema de gestão de base de
dados, as suas aplicações no mundo atual, os problemas tecnológicos associados ao seu desenvolvimento e as
soluções existentes; (b) compreender e saber documentar os requisitos de uma base de dados, saber desenhar um
modelo de dados utilizando os modelo ER e o modelo relacional, e saber implementar esses modelos de dados num
sistema de gestão de base de dados; (c) saber manipular um sistema de gestão de base de dados utilizando a
linguagem SQL; (d) entender aspetos essenciais do funcionamento interno de um de uma base de dados do ponto de
vista de transações e armazenamento físico dos dados.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Introduce students to the fundamental theoretic and practical principals of database systems.
The students should acquire the following competences: (a) understand what a database management system is, know
the extent of its application in the real world and the technological problems associated with its design,
implementation and existing solutions; (b) design database models using the ER model and the relational data model
and implement such models in a database management system; (c) use the SQL language to manipulate a database
management system; (d) understand core aspects of database implementation regarding transactions and physical
data storage.

4.4.5. Conteúdos programáticos:


1. Características e vantagens da abordagem de base de dados.
2. O modelo ER. O modelo relacional. Álgebra relacional.
3. A linguagem SQL: consultas básicas, encadeadas e correlacionadas; operações de junção, agregação, inserção,
remoção e alteração.
4. Organização física dos dados: registos, ficheiros de registos e ficheiros de índices.
5. Transações: garantias ACID, serialização, níveis de isolamento.

4.4.5. Syllabus:
1. Main characteristics and advantages of using the database approach.
2. The ER model. Relational data model and relational algebra.
3. The SQL Language: simple, nested and correlated queries; join, aggregate, insert, remove and update operations.
4. Physical data organization: basic file structures, hashing and indexing.
5. Transactions: ACID guarantees, serialization, isolation levels.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
No seu conjunto, os conteúdos programáticos, refletem as competências genéricas enumeradas no ponto (a). As
competências enumeradas nos pontos (b) e (c) são cobertas pelos conteúdos programáticos que abordam o modelo
conceptual ER, o modelo relacional e a linguagem SQL. Os conteúdos relacionados com a álgebra consolidam os
conceitos teóricos fundamentais, enquanto que os restantes conteúdos relacionados com a linguagem SQL,
transações, e organização física dos dados consolidam os conceitos fundamentais da prática de bases de dados
como sistemas de manipulação de grandes quantidades de informação.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The learning outcomes listed in item (a) are addressed, in general, by the set of all syllabus contents. The learning
outcomes listed in items (b) and (c) are addressed by the contents that include the ER/ERR models, the relational data
model and the SQL language. The contents related to the relational algebra consolidate the fundamental theoretical
concepts, while the remaining content related to the SQL language, transactions, and the physical data organization
consolidate the fundamental practical principles of database systems.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas: para exposição e discussão dos conceitos fundamentais da teoria e prática de bases de dados como
sistemas de manipulação de grandes quantidades de informação. Aulas práticas: para resolução de exercícios
ilustrativos dos conceitos introduzidos nas aulas teóricas.
Avaliação distribuída com exame final: a avaliação dos estudantes faz-se por realização de uma submissão SQL e de
um exame final escrito. A submissão SQL terá um peso de 7 em 20 valores na classificação final da disciplina e o
exame final escrito terá um peso de 13 em 20 valores na classificação final da disciplina.

4.4.7. Teaching methodologies (including students' assessment):


Theory classes and practical classes with practical assignments
Distributed evaluation with final exam: students are assessed by their performance in the following components: (a) an
SQL submission to be realized by the end of the semester. The grade of this component is 7/20 (35% of the final grade);
(b) a written examination in the final of the semester. The grade of this component is 13/20 (65% of the final grade).

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 34/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas teóricas são utilizadas para a exposição detalhada dos conteúdos programáticos e para a introdução e
discussão de exemplos concretos como forma de motivar os alunos para os problemas e soluções tecnológicas
existentes. As aulas práticas permitem consolidar os conhecimentos adquiridos nas aulas teóricas e dar experiência
real do desenho, desenvolvimento e implementação de uma base de dados.
A avaliação proposta implica que o estudante tenha um conhecimento detalhado dos princípios teóricos e práticos
que fundamentam o bom e correto desenho de uma base de dados (exame final escrito) e que seja capaz de interagir
com um Sistema de Gestão de Base de Dados (SGBD) por utilização da linguagem standard para a manipulação deste
tipo de sistemas (submissão SQL).

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Theory classes allow the detailed exposition of the syllabus contents and the introduction and discussion of examples
as a way to motivate the students to the existing technological problems and solutions. Practical classes allow the
consolidation of the knowledge acquired in the theory classes and give some real experience on the design,
development and implementation of a database.
The proposed evaluation implies that the student has a detailed knowledge of the theoretical and practical principles
that underlie a good and correct design of a database (final exam) and that is able to interact with a Database
Management System (DBMS) by using the standard language for handling this type of systems (SQL submission).

4.4.9. Bibliografia de consulta/existência obrigatória:


● Elmasri, R. (2017). Fundamentals of database systems. Harlow: Pearson Education Limited.
● Ullman, J. D., & Widom, J. (1997). A first course in database systems. Upper Saddle River, NJ: Prentice-Hall.
● Silberschatz, A., Korth, H. F., & Sudarshan, S. (2011). Database systems concepts. Estados Unidos: McGraw-Hill
Companies, Inc.
● Davis, M. E., & Phillips, J. A. (2007). Learning Php and MySQL: Step-by-step Guide to Creating Database-driven Web
Sites. Farnham: OReilly.
● Williams, H. E., & Lane, D. (2004). Web database applications with Php and MySQL. Sebastopol, CA: OReilly.

Mapa IV - Desenho e Análise de Algoritmos

4.4.1.1. Designação da unidade curricular:


Desenho e Análise de Algoritmos

4.4.1.1. Title of curricular unit:


Algorithm Design and Analysis

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Ana Paula Nunes Gomes Tomás (14 T+28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Rosaldo José Fernandes Rossetti (14 T)
Nuno Honório Rodrigues Flores (28 PL)
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 35/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Pedro Manuel Pinto Ribeiro (56 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Enriquecimento do conhecimento sobre modelos genéricos de tipos de problemas e técnicas algorítmicas a eles
associadas.
Experiência prática na aplicação de algoritmos genéricos a problemas concretos.
Competência na análise da complexidade e correção de algoritmos.
Compreensão das principais classes de complexidade e da redutibilidade de problemas, com conhecimento de
exemplos típicos.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Improving background on models of common problems and the algorithmic techniques for solving them.
Practical experience in applying generic algorithms to specific problems.
Competence in the analysis of asymptotic complexity and correctness of algorithms.
Understanding the main complexity classes and problem reducibility, with knowledge of typical examples.

4.4.5. Conteúdos programáticos:


1. Análise assintótica do tempo de execução de algoritmos: notação O,Ω e Θ; análise de programas iterativos: ciclos;
análise de programas recursivos: recorrências e as suas soluções. Análise de correção: prova de invariantes.
2. Algoritmos em grafos: pesquisa em largura e profundidade; árvores de cobertura mínima; caminhos mínimos; redes
de fluxo.
3. Estruturas de dados especializadas: heaps e fila de prioridades; florestas para conjuntos disjuntos.
4. Programação dinâmica. Subestrutura ótima; recorrência paramétrica; computação descendente: memoização;
computação ascendente: ordem de variação paramétrica.
5. Estratégias ávidas: intuição e correção: exemplo do problema da mochila.
6. Complexidade de problemas de decisão: classes P, NP e NPC; noções informais; a questão P≠NP.

4.4.5. Syllabus:
1. Asymptotic analysis of the running time of algorithms: O,Ω and Θ notation; analysis of iteration (cycles), Analysis of
recursion: recurrences and their solutions. Analysis of correctness: proof of invariants.
2. Graph algorithms: Breadth-first and depth-first search; Minimum spanning trees; Shortest paths; flow networks.
3. Specialized data structures.
4. Dynamic programming: optimal substructure; parametric recurrence; top-down computation: memoization; bottom-
up computation: parametric ordering.
5. Greedy strategies: intuition and correctness: the knapsack problem example.
6. Complexity of decision problems: classes P. NP, NPC; informal notions; the question P≠NP.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
O programa segue as recomendações do ACM Computing curricula para unidades curriculares de índole semelhante.
Os problemas previstos para as aulas práticas laboratoriais permitirão aos estudantes aplicar e adaptar os algoritmos
estudados nesta unidade curricular (e recordar outros lecionados em unidades anteriores da área de programação).
Permitir-lhes-ão ainda ganhar experiência de análise de complexidade e de correção de algoritmos.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The course syllabus follows the recommendations of the ACM Computing curricula for similar courses. The problems
foreseen for the practical classes will enable students to apply and adapt the algorithms studied in the course (and to
recall others taught in the introductory courses on computer programming). They will also gain experience in the
analysis of the correctness and complexity of algorithms.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas Tpara exposição da matéria acompanhada da discussão de exemplos.
Aulas práticas laboratoriais para resolução de problemas em computador ao estilo dos propostos em concursos de
programação ACM.
Problemas adicionais para resolução extra-aula e com avaliação automática pelo sistema Mooshak.
Frequência: perde a frequência, por falta de assiduidade, o estudante que faltar a mais de 25% das aulas práticas
previstas.
Avaliação distribuída com exame final :
- Dois testes práticos de programação (NP) com avaliação automática pelo sistema Mooshak
- Dois testes escritos (TE1 e TE2) ou exame final (NE). Nota mínima (TE1, TE2)> = 8 para não fazer o exame final. TE2 é
um teste global.
- A classificação final (F) é dada por F = NE*0.8+NP*0.2, com NE= max(0.4*TE1+0.6*TE2,TE2,Ex). Serão aprovados os
estudantes com NE >= 8 e F >= 9.5 e ainda os estudantes com NE >= 10. Na época normal, os estudantes dispensados
de exame final podem realizar o exame, sem penalização da nota já obtida.

4.4.7. Teaching methodologies (including students' assessment):


Regular lectures for exposing the program topics and discussing examples.
Laboratory classes for programming and solving concrete problems, like those found in programming contests, using
known algorithms.
Additional programming problems for homework, automatically checked by Mooshak.
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 36/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

Loss of frequency (eligibility for exams): students who do not attend more than 25% of the practical classes cannot
take the exams and fail the course.

Assessment (distributed evaluation with final exam):


- two programming tests (NP), automatically evaluated by the Mooshak system
- two written tests taken during the semester (TE1,TE2) or a final exam (Ex) . Required min(TE1,TE2) >= 8 for not taking
the final exam. TE2 is a global test.
- the final grade is given by F = NE*0.8+NP*0.2, with NE=max( 0.4*TE1 + 0.6*TE2,TE2,Ex). Required NE >= 10 or NE>=8
and F >= 9.5.
- Students approved through tests can take the first exam to improve their grade (with no penalty).

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
- As aulas teóricas permitem uma exposição do conteúdo programático previsto, bem como a discussão crítica de
abordagens aos problemas apresentados e a motivação para necessidade de reconhecer alguns problemas como
passíveis de soluções eficientes e outros talvez não.
- As aulas práticas permitem consolidar os conhecimentos adquiridos nas teóricas e aplicá-los à análise e resolução
de problemas concretos;
- A implementação de alguns dos algoritmos para resolução de problemas de programação ao estilo dos concursos de
programação ACM permitirá aos estudantes também consolidar competências a nível de linguagens de programação.
A utilização do sistema Mooshak para avaliação automática dos programas, com a possibilidade da submissão de
novas versões melhoradas, permite assegurar algum apoio ao estudo extra-aula.
- A realização de testes intermédios constituirá um meio de diagnóstico e simultaneamente tem por objetivo incentivar
o acompanhamento das matérias lecionadas ao longo do semestre.
- A bibliografia recomendada é utilizada em unidades curriculares semelhantes, a nível nacional e internacional, e é
atual.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
- The lectures provide an exposition of the subjects, as well as the discussion of different approaches for the problems
addressed, favouring the identification of problems that admit efficient (polynomial) solutions and the recognition of
others which may not.
- Practical classes enable the consolidation of the theory and its application to concrete problems.
- The implementation of some of the algorithms for solving problems, in the spirit of the ACM programming contests,
allows students to consolidate their experience with programming languages. The use of the Mooshak system for
automatic evaluation, with the possibility of students submitting new improved versions of their programs, provides
some support for the extra-classroom study.
- The intermediate tests will be a diagnostic means and simultaneously encourage study throughout the semester.
- The recommended bibliography is used in similar courses (in Portugal and abroad), and it is up to date.

4.4.9. Bibliografia de consulta/existência obrigatória:


● Cormen, T. H. et al. (2009). Introduction to algorithms. Cambridge, MA: MIT Press.
● Dasgupta, S., Papadimitriou, C. H., & Vazirani, U. V. (2016). Algorithms. New Delhi: McGraw-Hill Education (India).
● Sedgewick, R., & J., V. W. C. (2011). Algorithms in C . Boston: Addison-Wesley.
● Kleinberg, J., & Tardos, É. (2014). Algorithm design. Harlow, Essex: Pearson Education Limited.
● Skiena, S. S., & Revilla, M. A. (2003). Programming challenges: the programming contest training manual. New York:
Springer.

Mapa IV - Estatística Aplicada

4.4.1.1. Designação da unidade curricular:


Estatística Aplicada

4.4.1.1. Title of curricular unit:


Applied Statistics

4.4.1.2. Sigla da área científica em que se insere:


M

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28TP

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 37/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Ana Rita Pires Gaio (28 T+84TP)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Pretende-se que, juntamente com novas metodologias estatísticas, os estudantes vejam os conceitos aprendidos
anteriormente em "Probabilidades e Estatística". Serão desenvolvidos e trabalhados os métodos mais simples de
inferência estatística, incluindo alguma teoria sobre estimadores e estimação pontual e vários testes de hipóteses.
Espera-se que os estudantes adquiram familiaridade com a linguagem de programação R na resolução de problemas.
Ao completar esta unidade curricular, o estudante deverá:
1.dominar os conceitos e princípios fundamentais da Estatística, e em particular da Inferência Estatística básica;
2.conhecer as técnicas de inferência estatística mais comuns e aplicar a problemas concretos;
3.ser capaz de identificar e formular matematicamente um problema, de escolher métodos da estatística adequados e
de analisar e interpretar de forma crítica os resultados obtidos;
4.aplicar os modelos estudados, e mais geralmente conseguir efectuar análises de dados simples, em R.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
It is expected that, jointly with new statistical methodologies, the students can see real applications of the concepts
previously learnt in "Probability and Statistics". Theory-wise, the simplest methods of statistical inference including
some theory on estimators and point estimation and hypothesis testing. It is also expected that the students acquire
familiarity with the programing language and software environment R, in the framework of problems solving.
Upon completing this course, the student should:
1. have a good insight into the fundamental concepts and principles of statistics and in particular those from basic
inference statistics;
2. know the common inference statistical methods and how to apply them to concrete situations;
3. be able to identify and formulate a problem, to choose adequate statistical methods and to analyze and interpret in a
critical way the obtained results;
4. be able to apply the studied models, and more generally to perform simple data analyses, in R

4.4.5. Conteúdos programáticos:


1. Estatísticas. Centralidade e consistência de estimadores. Estatísticas mais comuns, com relevo para a média e
variância amostrais.
2. Estimação pontual. Método dos momentos. Método da máxima verosimilhança. Propriedades dos estimadores de
máxima verosimilhança.
3. Distribuições conjuntas. Normal bivariada e multinomial.
4. Testes de hipóteses. Erros de tipo I e tipo II, estatística de teste, potência do teste. Testes paramétricos no contexto
de uma e duas amostras. Relação entre testes de hipóteses e intervalos de confiança. Testes de hipóteses não
paramétricos: de ajustamento, de localização, de independência e de homogeneidade.
5. Análise de correlação. Coeficientes de correlação de Pearson e Spearman. Testes de hipóteses sobre coeficientes
de correlação.

4.4.5. Syllabus:
1. Statistics. Unbiased and consistent estimators. Most usual statistics, with emphasis on the sample mean and
sample variance.
2. Point estimation. The method of moments. Maximum likelihood estimation. Properties of the maximum likelihood
estimators.
3. Joint distributions. Bivariate gaussian and multinomial.
4. Hypothesis testing. Errors of type I and type II, test statistic, power of a test. One- and two-sample parametric tests.
Relation between hypothesis tests and confidence intervals. Non-parametric tests: goodness-of-fit, location,
independence and homogeneity.
5. Correlation analysis. Pearson and Spearman correlation coefficient. Hypothesis testing.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
O conteúdo programático foi desenhado tendo em consideração a formação anterior dos estudantes em Estatística, de
forma a que a unidade curricular funcione como um primeiro curso em Estimação e Inferência Estatística. Todos os
conceitos e métodos abordados serão ilustrados com vários exemplos (reais, sempre que possível) e trabalhados nas
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 38/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
aulas teórico-práticas. A familiaridade com os testes de hipóteses bem como a linguagem R decorrerá da realização de
vários exercícios, devidamente contextualizados. O espírito crítico será sistematicamente estimulado pelo professor,
incidindo especialmente sobre a escolha das metodologias e a interpretação dos resultados.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The program content has been designed taking into consideration the former training of the students in Statistics, so
that the curricular unit corresponds to a first course in Estimation and Statistical Inference. All studied concepts and
methods will be illustrated with several examples (real examples, whenever possible) and worked out in the practical
classes. Familiarity with hypothesis tests, as with the R-language, will follow from the accomplishment of several
exercises, properly contextualized. The critical thinking skills will be constantly stimulated by the lecturer, referring
mainly to the choices of the methodologies and interpretation of results.

4.4.7. Metodologias de ensino (avaliação incluída):


As horas de contacto estão distribuídas em aulas T e TP. Nas primeiras são apresentados os conteúdos do programa,
recorrendo-se a exemplos variados para ilustrar os tópicos tratados e motivar e orientar o estudo autónomo dos
estudantes. Nas aulas TP são resolvidos e discutidos exercícios e problemas. Em particular, são analisados conjuntos
de dados reais, recorrendo ao software R. São disponibilizados materiais de apoio na página da uc.
Tipo de Avaliação: Avaliação distribuída com exame final
Condições de Frequência: É obrigatória a assiduidade à uc, definida nos seguintes termos: estando regularmente
inscrito, um estudante não pode exceder o nº limite de faltas correspondente a 25% das aulas TP.Estão dispensados
da verificação das condições de assiduidade referidas atrás os estudantes abrangidos pelas situações previstas na lei
(Art. 10º, Regulamento Geral para Avaliação dos discentes de primeiros ciclos, de ciclos de estudos integrados de
mestrado e de segundos ciclos da UP).

4.4.7. Teaching methodologies (including students' assessment):


Lectures and classes: The contents of the syllabus are presented in the lectures, illustrated with several examples. In
the practical classes, exercises and related problems are solved and discussed. Several real data sets will be analyzed
using the statistical software R. All resources are available for students at the unit’s web page.

Type of evaluation: Distributed evaluation with final exam


Terms of frequency: Attendance to the course unit, as defined in the following terms, is compulsory: If a student is
regularly enrolled, he/she cannot exceed the limit number of absences corresponding to 25% of the practical classes.
Students covered by the situations provided for by law are exempt from verifying the attendance conditions mentioned
above (Art. 10, Regulamento Geral para Avaliação dos discentes de primeiros ciclos, de ciclos de estudos integrados
de mestrado e de segundos ciclos da UP).

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
A exposição dos assuntos teóricos será feita com rigor científico. As aulas teórico-práticas, várias vezes com recurso
ao computador, serão fundamentais para a consolidação dos assuntos abordados nas aulas teóricas e para um estudo
mais exaustivo das várias técnicas aprendidas. O recurso a um software de análise estatística adequado (neste caso, a
linguagem R) vai ao encontro de toda a componente prática referida nos objetivos da unidade curricular.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The presentation of theoretical subjects will be made with scientific rigor. Theoretical-practical classes, several times
using the computer, will be essential for the consolidation of the subjects covered in the theoretical classes and for a
more exhaustive study of the various techniques learned. The use of an adequate statistical analysis software (in this
case, the R language) meets the entire practical component referred to in the objectives of the curricular unit.

4.4.9. Bibliografia de consulta/existência obrigatória:


- A. Rita Gaio; "Apontamentos disponibilizados pelo docente".
- Casella George (2002); "Statistical inference". ISBN: 0-534-24312-6,
- Pestana Dinis Duarte (2002); "Introdução à probabilidade e à estatística". ISBN: 972-31-0954-9,
- Fernanda Figueiredo, et al. (2017); "Inferência Estatística", Escolar Editora, 2017. ISBN: 9789725925010.

Mapa IV - Estruturas de Dados

4.4.1.1. Designação da unidade curricular:


Estruturas de Dados

4.4.1.1. Title of curricular unit:


Data Structures

4.4.1.2. Sigla da área científica em que se insere:


CC

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 39/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.3. Duração:
Semestre / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Pedro Manuel Pinto Ribeiro (14 T+28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Ana Paula Cunha da Rocha (14 T)
Luis Filipe Pinto de Almeida Teixeira (56 PL)
Luís Miguel Barros Lopes (28 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


No final desta unidade curricular os estudantes deverão:
- Ter proficiência na linguagem Java e no paradigma de programação orientada a objetos;
- Conhecer as principais estruturas de dados básicas: arrays, matrizes, listas ligadas e árvores binárias;
- Conhecer os principais tipos abstratos de dados e suas implementações: filas, pilhas, conjuntos, dicionários e filas
de prioridade;
- Ter competências básicas na análise de complexidade de algoritmos e compreensão das principais classes de
complexidade;
- Conhecer algumas técnicas algorítmicas como recursividade, pesquisa com retrocesso e dividir para conquistar;
- Ter experiência prática de aplicação a problemas concretos.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
After this course, students should:
- Have proficiency with the Java language and with the object oriented programming paradigm;
- Know the main basic data structures: arrays, matrices, linked lists and binary trees;
- Know the main abstract types of data and their implementations: queues, stacks, sets, dictionaries and priority
queues;
- Have basic knowledge of algorithmic analysis and comprehension of the main classes of complexity;
- Know some algorithmic techniques such as recursion, backtracking search and divide-and-conquer;
- Have practical experience of how to apply the concepts learned to concrete problems.

4.4.5. Conteúdos programáticos:


1. Conceitos fundamentais de Java:
Classes, objetos, atributos e métodos
Tipos primitivos, Strings, wrappers, arrays e tipos enumerados
Expressões, operadores e instruções de controle de fluxo
Input/Output e a classe Scanner
Pacotes e biblioteca padrão
Princípios de desenvolvimento de software, estilo e documentação
2. Programação Orientada a Objetos:
Objetivos, padrões e mecanismo de herança
Interfaces e Tipos Abstratos de Dados
Genéricos e iteradores
3. Conceitos de Análise Assintótica:
Classes de complexidades típicas
4. Técnicas de Desenho de Algoritmos:
. Programação estruturada
. Recursividade
. Pesquisa exaustiva e backtracking
. Dividir para conquistar

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 40/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
5. Estruturas de Dados Fundamentais:
. Arrays e matrizes
. Listas ligadas simples, circulares e duplamente ligadas
. Árvores binárias, de pesquisa, AVL e heaps
6. Tipos Abstratos de Dados
. Sequências, pilhas, filas e deques:
. Conjuntos e dicionários
. Filas de prioridade

4.4.5. Syllabus:
1. Fundamental Java Concepts:
. Classes, objects, attributes and methods
. Primitive types, Strings, wrappers, arrays and enum types
. Expressions, operators and control flow instructions
. Input/Output and the Scanner class
. Packages and default libraries of Java
. Principles of software development, style and documentation
2. Object Oriented Programming:
. Goals, principles, patterns and inheritance mechanism
. Interfaces and Abstract Data Types
. Generics and iterators
3. Asymptotic Analysis Concepts:
. Main complexity classes and how to compare them
4. Algorithm Design Techniques:
. Structured Programming
. Recursion
. Exhaustive search and backtracking
Divide-and-conquer
5. Fundamental Data Structures:
Arrays and matrices
Simple, circular and doubly linked lists
Binary, binary search, AVL trees and heaps
6. Abstract Data types and their possible Implementations:
Sequences, stacks, queues and deques
Sets and maps
Priority queues

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Todos os objetivos de aprendizagem, com exceção do último, têm correspondência quase direta com os conteúdos
programáticos descritos, sendo objeto de trabalho nos diferentes tipos de aulas previstos. A competência descrita no
último objetivo de aprendizagem será essencialmente obtida através das aulas práticas na implementação de soluções
para os problemas propostos.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
All learning outcomes, with the exception for the last one, have an almost direct correspondence to the described
syllabus, and their achievement results from the class work described. The last learning outcome is achieved in
practical classes as students will be implementing solutions to the proposed assignments.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas: exposição oral de conceitos suportada por apresentação de transparências, uso do quadro e
demonstração de exemplos ilustrativos; resolução de exercícios selecionados usando quadro e projeção de
computador promovendo a intervenção dos estudantes na construção de soluções.
Aulas laboratoriais: resolução autónoma por parte dos estudantes de exercícios em computador usando ferramentas
de desenvolvimento (editor, compilador, “debugger” e sistema de testes automáticos) e supervisão docente.
A avaliação inclui uma componente prática com um peso global de 30% (distribuída por três testes práticos realizados
durante o semestre em laboratório de computadores) e um exame escrito com um peso global de 70%.
Ficam aprovados os estudantes que tenham uma nota prática superior ou igual a 25% (1.5 em em 6 valores) do
máximo e tenham uma classificação final superior ou igual a 9.5 valores (em 20).

4.4.7. Teaching methodologies (including students' assessment):


Lectures: oral exposure of concepts supported by slide presentations, a whiteboard and demonstration using
illustrative examples; solving selected exercises with a whiteboard and computer projection in an interactive way
promoting student intervention.
Laboratory classes: students solve exercise sheets individually in a computer lab using development tools (editor,
compiler and automated testing system) with a supervised assistance.
Assessment includes a practical component with a global weight of 30% (distributed along the semester and made in a
computer lab) and a written exam with a global weight of 70%.
Students are approved if they have a practical grade bigger or equal than 25% (1.5 out of 6) and a global final grade
bigger or equal than 9.5 (out of 20).

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 41/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas teóricas introduzem os conceitos de forma gradual e interligada e permitem exemplificar a aplicação dos
conceitos, promovendo a discussão sobre a diversidade de soluções possíveis e suas respetivas vantagens e
desvantagens. As aulas práticas permitem que os estudantes procurem resolver de forma individual os problemas
propostos, implementando soluções em Java que requerem a aplicação dos conceitos já estudados. O sistema de
testes automático permite uma verificação autónoma da correção e eficiência das soluções em Java e é
complementado com questionários formativos de escolha múltipla (também de correção automática) sobre a matéria
teórica.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Lectures introduce concepts in a gradual and interconnected way. Tutorial classes allow to exemplify how to apply the
concepts, promoting the discussion about the diversity of possible solutions and their respective pros and cons.
Laboratory classes allow students to attempt solving problems individually, implementing solutions in Java that
require the application of the already studied concepts. The automatic evaluation system allow an autonomous
verification of correction and efficiency of the Java solutions and is complemented with informal multiple choice
quizzes (also automatically corrected) about the theoretical material.

4.4.9. Bibliografia de consulta/existência obrigatória:


● Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. (2015). Data structures and algorithms in Java. Singapore: John
Wiley & Sons Singapore Pte. Ltd.
● Sedgewick, R., & Wayne, K. (2017). Introduction to programming in Java: an interdisciplinary approach. Boston:
Addison-Wesley.
● Cormen, T. H. et al. (2009). Introduction to algorithms. Cambridge, MA: MIT Press.

Mapa IV - Inteligência Artificial

4.4.1.1. Designação da unidade curricular:


Inteligência Artificial

4.4.1.1. Title of curricular unit:


Artificial Intelligence

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Luís Paulo Gonçalves dos Reis (14 T)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Inês Castro Dutra (14 T+28 PL)
Henrique Daniel de Avelar Lopes Cardoso(112PL)
Pedro Gabriel Dias Ferreira (56PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 42/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Objetivos: Estudo dos conceitos fundamentais e técnicas de uso mais generalizado da Inteligência Artificial.
Competências:
1. capacidade para escolha criteriosa de técnicas de Inteligência Artificial para uso em aplicações concretas;
2. capacidade para implementar aplicações com base nessas técnicas.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Objectives: study of the basic concepts and techniques used in Artificial Intelligence.
Competences:
1. ability to devise the right techniques to be applied to concrete problems in artificial intelligence;
2. ability to implement applications based on those techniques.

4.4.5. Conteúdos programáticos:


1. Aplicações da IA: passado, presente e futuro.
2. Procura: árvores e grafos, procura em profundidade, em largura. Procura informada. Heurísticas, procura best-first,
A*, IDA*, RBFS, melhoramento iterativo (hill climbing, random restart hill climbing, simulated annealing e algoritmos
genéticos).
3. Jogos: Algoritmos para jogos com dois oponentes: minmax e corte alfa-beta e monte carlo.
4. Problemas de Satisfação de Restrições.
5. Aprendizagem: Aprendizagem como procura. Problemas de classificação. Algoritmos: modelos baseados em
regras, modelos baseados em árvores. Modelos baseados em Incerteza (Bayesian Networks). Redes neuronais.
Planeamento.

4.4.5. Syllabus:
1. AI applications: past, present and future.
2. Search methods: trees and graphs, depth-first search, breadth-first search. Informed search. Heuristics., best-first
search, A*, iterative deepening A*, RBFS, iterative improvement (hill-climbing, random restart hill-climbing, simulated
annealing and genetic algorithms).
3. Adversarial Search: minimax and alfa-beta pruning, monte carlo tree search.
4. Constraint Satisfaction problems.
5. Machine learning as search Algorithms: rule-based models. Tree-based models, Bayesian networks. Neural
networks. Planning.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
A disciplina concentra-se na solução de problemas clássicos que servem de base para a solução de problemas reais e
mais complexos na área de inteligência artificial. Portanto, os conteúdos ensinados contribuem para os objetivos (1) e
(2) acima mencionados. Por um lado, o estudante terá a oportunidade de aplicar várias técnicas distintas para a
solução de um problema, e através das métricas de avaliação dos resultados, julgar qual(is) método(s) melhor se
aplica(m) àquele tipo de problema. Por outro lado, ao se deparar com um novo problema, terá a chance de, utilizando a
prática aprendida no decorrer do curso, enquadrá-lo numa classe de problemas e selecionar o(s) método(s) mais
adequado(s) para resolvê-lo, de acordo com a medida de desempenho a ser observada.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
In this discipline, the focus is on problem-solving using various methods normally studied in artificial intelligence. As
such, its contents suit well the objectives (1) and (2) mentioned above. The student will have the opportunity of
comparing various methods applied to the same problem, and, using a pre-defined evaluation measure, judge which
solution is the best. This satisfies objective (1). On the other hand, when trying to solve a new problem, the student can
categorize that problem and associate it with a previous one already solved, being able to devise a suitable solution,
according to a given evaluation metric.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas expositivas e com pequenos “quizzes”. Aulas de perguntas-respostas e discussão com os estudantes.
Aulas práticas laboratoriais de dois tipos: Listas de exercícios e Implementação de pequenos projetos com base nos
algoritmos aprendidos nas aulas teóricas.
Avaliação: distribuída com exame final
2 testes: T1 com peso 30% (6 valores) e T2 com peso 30% (6 valores).
4 trabalhos práticos obrigatórios com apresentação com peso 40% (8 valores - 2 valores por cada trabalho).
Estudantes devem ter nota mínima nos testes (40%: 2.4 valores no teste T1 e 2.4 valores no teste T2).
Se a soma T1+T2+Trabs >= 9.5, o estudante está dispensado de fazer exame.
Caso contrário ou se não obtiver nota mínima em algum dos 2 testes, fica obrigado a fazer o exame.

4.4.7. Teaching methodologies (including students' assessment):


Theoretical classes and quizzes. Theoretical classes with questions/answers and discussions.
Practical classes of two types: lists of exercises and small implementation assignments about algorithms learned in
the theoretical classes.
Distributed evaluation with final exam
2 partial exams: T1 weighted 30% (6 points) and T2 weighted 30% (6 points).
4 mandatory practical assignments with presentation weighted 40% (8 points - 2 points per each assignment).
Students need to have a minimum score in the partial exam or in the final exam to be approved. (40%: 2.4 points in T1
and 2.4 points in T2).

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 43/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
If sum T1+T2+Assignments >= 9.5, the student does not need to go to the final exam.
Otherwise OR if the student does not achieve the minimum score in the partial exam, the student needs to go to the
final exam.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Os estudantes são expostos aos conceitos e técnicas numa perspetiva teórica nas aulas expositivas. Aqui obtêm a
base dos conhecimentos que serão consolidados nas aulas práticas laboratoriais e nos trabalhos de projeto. Nestes
trabalhos adquirem também experiência na implementação de soluções de inteligência artificial.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Students are exposed to concepts and techniques from a theoretical perspective in the lectures. Here they obtain the
knowledge base that will be consolidated in practical laboratory classes and project work. In these works they also
acquire experience in the implementation of artificial intelligence solutions.

4.4.9. Bibliografia de consulta/existência obrigatória:


Russell, S. J., & Norvig, P. (2020). Artificial intelligence: a modern approach. 4th Edition, Hoboken: Pearson.
Nilsson, N. J. (2003). Artificial intelligence: a new synthesis. San Francisco, CA: Kaufmann.

Mapa IV - Lógica Computacional

4.4.1.1. Designação da unidade curricular:


Lógica Computacional

4.4.1.1. Title of curricular unit:


Computational Logic

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Sabine Babette Broda (14 T+28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Rui Carlos Camacho de Sousa Ferreira da Silva (14 T)
Daniel Augusto Gama de Castro Silva (28 PL)
Nelma Resende Araújo Moreira (56 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):

Os estudantes dominam os principais conceitos e técnicas da lógica proposicional e de primeira ordem, com ênfase
na demonstração automática de teoremas.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 44/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Students master the main concepts and techniques of propositional logic and first-order logic, with a special focus on
automated theorem proving.

4.4.5. Conteúdos programáticos:


1. Lógica proposicional: Sintaxe Semântica: satisfazibilidade, validade, consequência. Formas normais. Algoritmos de
satisfazilidade.
2. Sistema dedutivos. Completude e integridade do sistema dedutivo. Decidibilidade.
3. Lógica de primeira ordem (de predicados). Linguagens. Sintaxe. Semântica: estruturas, interpretações, modelos.
Sistemas dedutivos. Completude e integridade dos sistemas dedutivos. Teorias e axiomatizações.
4. Demonstração automática: cláusulas de Horn, unificação e resolução.

4.4.5. Syllabus:
1. Propositional logic: syntax and semantics; satisfiability, validity. normal forms; SAT solvers;
2. Deduction systems; soundness and completeness of deduction systems; decidability.
3. First-order logic: syntax and semantics; models; validity; normal forms; deduction systems; soundness and
completeness; decidable fragments; first-order theories.
4. Automated theorem proving: Horn clauses; unification; resolution.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos programáticos cobrem os conceitos de lógica proposicional e de primeira ordem. São abordados os
fundamentos estruturantes que permitem ao estudante dominar as técnicas de derivação e em particular as técnicas
dedutivas. São abordados os sistemas de dedução e em particular a resolução com cláusulas de Horn sendo esse o
foco na demonstração automática de teoremas.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The syllabus covers the concepts of propositional logic and first order logi. The structural foundations that allow the
student to master derivation techniques and in particular deductive techniques are addressed. The deduction systems
and in particular the resolution with Horn clauses are addressed, being this the focus in the automatic demonstration
of theorems.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas de exposição dos conteúdos programático assim como de exemplos e casos de estudo. Aulas práticas
laboratoriais de resolução de exercícios propostos semanalmente.

Tipo de Avaliação: Avaliação distribuída sem exame final

Condições de Frequência: Os estudantes deverão obter um mínimo de 6 valores (em 20) em cada um dos testes.
Todos os estudantes poderão realizar o exame de recurso.

Fórmula de avaliação: Primeiro teste (50% de peso na nota final).Segundo teste (50% de peso na nota final). Sendo PT
a classificação obtida no primeiro teste e ST a classificação obtida no segundo teste, então a nota final é dada por: F =
PT*(0.5) + ST*(0.5) PT,ST >= 6 e F >= 9.5.
Não obterão aprovação na avaliação distribuída, os estudantes que não obtiverem um mínimo de 6 valores (em 20) em
cada teste. Para os estudantes que não obtiverem aprovação, haverá um exame de recurso cotado para 20 valores.

4.4.7. Teaching methodologies (including students' assessment):


The teaching methods are based on expository lecturing and exercises complemented with programming coursework
that enables the student to practice the methods studied in the course.

Type of evaluation: Distributed evaluation without a final exam.

Terms of frequency: Students are required a minimum of 6 (out of 20) in each test. All the students can take the resit
exam.

Formula Evaluation: The final grade (FT - firts test, ST - second test)F = FT*(0.5) + ST*(0.5) FT,ST >= 6 e F >= 9.5

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas teóricas permitem transmitir os fundamentos e mostrar exemplos de caso de manipulação de expressões
lógicas e de métodos de dedução. As aulas práticas laboratoriais permitem que o estudante pratique essas técnicas e
detete falhas nos seus conhecimento. Assim irá consolidar a sua competência nestes conceitos e técnicas.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Theoretical classes allow to transmit the fundamentals and show examples of the case of manipulation of logical
expressions and deduction methods. The practical laboratory classes allow the student to practice these techniques
and detect flaws in their knowledge. This will consolidate your competence in these concepts and techniques.

4.4.9. Bibliografia de consulta/existência obrigatória:

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 45/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
● Fitting, M. (2013). First-order logic and automated theorem proving. Place of publication not identified: Springer.
● Barker-Plummer, D., Etchemendy, J., Barwise, J., & Liu, A. (2011). Language, proof and logic. Stanford Calif.: CSLI
Publ., Center for the Study of Language and Information.

Mapa IV - Métodos Numéricos

4.4.1.1. Designação da unidade curricular:


Métodos Numéricos

4.4.1.1. Title of curricular unit:


Numerical Methods

4.4.1.2. Sigla da área científica em que se insere:


M

4.4.1.3. Duração:
Semestral - Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T º 28TP

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Maria João Pinto Sampaio Rodrigues (28 T+84 TP)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Pretende-se que os estudantes, dado um problema matemático:
1. Saibam analisar condições suficientes para a existência e unicidade de solução;
2. Saibam escolher um método numérico para a sua resolução;
3. Saibam analisar e controlar os erros envolvidos;
4. Saibam identificar um algoritmo a implementar e experimentar em máquina de calcular ou em computador;
5. Saibam interpretar os resultados.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
The aim is that students, given a mathematical problem:
1. Are capable of analysing sufficient conditions for the existence and unicity of its solution;
2. Are capable of selecting a constructive method to solve it;
3. Are capable of analysing and control the errors involved;
4. Are capable of analysing of identifying an algorithm for the solution and to implement it in a computer;
5. Are capable of analysing and interpreting the numerical results.

Students must show skills in solving numerically mathematical problems in the areas described.

4.4.5. Conteúdos programáticos:


1. Aritmética do computador e erros numéricos. Representação dos números e operações aritméticas. Erros e sua
propagação.
2. Sistemas de equações lineares. Sistemas triangulares e método de eliminação de Gauss.
3. Equações não lineares. Ordem de convergência de uma sucessão. Separação de raízes. Métodos das bissecções
sucessivas, iterativo simples e de Newton.

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 46/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
4. Interpolação polinomial. Métodos de Lagrange e de Newton em diferenças divididas. Interpolação usando splines.
Aproximação polinomial generalizada de uma tabela de valores no sentido dos mínimos quadrados.
5. Derivação e integração numéricas. Fórmulas em diferenças finitas para derivadas. Erros de truncatura. Métodos de
Newton-Cotes: fórmulas simples e compostas dos rectângulos, dos trapézios e de Simpson. Erros de truncatura.
6. Integração numérica de equações diferenciais. Métodos de Euler, "preditor-corrector", Taylor e de Runge-Kutta.
Erros de truncatura.

4.4.5. Syllabus:
1. Computer Arithmetic and numerical errors. Representation of numbers and arithmetic operations. Errors and their
propagation.
2. Systems of linear equations. Triangular systems and Gaussian elimination.
3. Nonlinear equations. Order of convergence of a sequence. Root finding methods: bisection method, fixed-point
method, Newton method and variants.
4. Polynomial interpolation. Lagrange and Newton in divided differences methods. Interpolation using splines.
Generalized polynomial approximation of a set of values in the sense of least squares.
5. Numerical differentiation and numerical integration. Finite differences formulas for numerical differentiation.
Truncation errors. Newton-Cotes formulas. Simple and composite rules of rectangles, trapezium and Simpson.
Truncation errors.
6. Numerical integration of differential equations. Euler methods, "predictor-corrector", Taylor and Runge-Kutta.
Truncation errors.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos programáticos incidem sobre os conceitos básicos dos métodos numéricos e conduzem às
competências de capacidade de análise e de resolução de problemas. Depois de uma introdução com conceitos
fundamentais, como o de erro, os vários métodos são apresentados seguindo uma estrutura idêntica desde a
formalização teórica à resolução de problemas práticos.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The program contents focus on the basic concepts of numerical methods and lead to the skills of analysis and
problem solving skills. After an introduction with fundamental concepts, such as error, the various methods are
presented following an identical structure, from theoretical formalization to the resolution of practical problems.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas de exposição da matéria complementada da apresentação de exemplos. Aulas teórico-práticas com a
proposta e acompanhamento da resolução de problemas e de projetos computacionais.
Tipo de Avaliação: Avaliação distribuída sem exame final
Condições de Frequência: Obtenção de um mínimo de 3 valores na classificação prática (CP).

A classificação teórica, CT, é a soma das classificações obtidas em 3 ou 4 testes (4 ou 3 valores cada) a efetuar ao
longo do semestre em datas a afixar, ou, o resultado do exame final escrito na época de recurso (12 valores). O
número de testes é acordado com os estudantes na primeira aula. É obrigatória a obtenção de um mínimo de 3
valores.
A classificação prática, CP, é a soma das classificações obtidas em 4 unidades práticas (2 valores cada) a realizar, em
computador, ao longo do semestre em datas a afixar. É obrigatória a obtenção de um mínimo de 3 valores.

A classificação final, CF, é a soma das duas classificações acima.

4.4.7. Teaching methodologies (including students' assessment):


Lectures, problems and computational projects. All resources are available for the students at the unit's web page.
Type of evaluation: Avaliação distribuída sem exame final
Terms of frequency: A minimum of 3 points in the practical classification.
Formula Evaluation: Theoretical classification (CT): Sum of the classifications of 3 or 4 tests (4 or 3 points each) or a
final examination (12 points) Practical classification (CP): the sum of classifications obtained in 4 practical tests (2
points each) Final classification (CF): CT+CP

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Nas aulas teóricas são apresentados os conceitos que são fundamentais para as capacidades de análise e
interpretação dos problemas. Nestas são também apresentados exemplos que podem ser reproduzidos fora das aulas
ou nas aulas teórico práticas. Estes exemplos permitem aos estudantes adquirir as competências de resolução de
problemas. Os testes ao longo do semestre promovem o estudo frequente e atempado.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
In the theoretical classes, the concepts that are fundamental to the analysis and interpretation of problems are
presented. In these examples are also presented that can be reproduced outside of classes or in theoretical-practical
classes. These examples allow students to acquire problem solving skills. Tests throughout the semester promote
frequent and timely study.

4.4.9. Bibliografia de consulta/existência obrigatória:

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 47/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
- Pina Heitor; "Métodos numéricos". ISBN: 972-8298-04-8.
- Quarteroni Alfio; "Numerical mathematics". ISBN: 0-387-98959-5.

Mapa IV - Probabilidades e Estatística

4.4.1.1. Designação da unidade curricular:


Probabilidades e Estatística

4.4.1.1. Title of curricular unit:


Probability and Statistics

4.4.1.2. Sigla da área científica em que se insere:


M

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28TP

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Margarida Maria Araújo Brito (28 T + 84 TP)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Disciplina introdutória de Probabilidades e Estatística: aquisição de conceitos fundamentais e aplicação a situações
concretas. Será dada particular atenção à apresentação e compreensão dos conceitos, mantendo o tratamento
matemático num nível intermédio.

Pretende-se que, no final da unidade curricular, o estudante:


1. compreenda os conceitos envolvidos num estudo estatístico; esteja ciente dos vários problemas que surgem em
cada estudo particular;
2. saiba identificar, aplicar, interpretar e comparar as técnicas de Estatística Descritiva usadas na descrição de um
conjunto de dados;
3.domine os conceitos fundamentais de Teoria de Probabilidade e seja capaz de efetuar os cálculos correspondentes;
4.caracterize variáveis e vetores aleatórios e as respetivas distribuições de probabilidade;
5.saiba aplicar técnicas de estimação pontual e intervalar para inferir sobre os parâmetros/características básicos de
uma população (a partir de uma amostra), e interpretar os resultados obtidos.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
An introductory course in Probability and Statistics: acquisition of basic concepts and application to real situations.
Particular attention will be paid to the presentation and understanding of the concepts, keeping the mathematical
treatment at a median level.

On completing this curricular unit, the student is expected to:


1. understand the concepts involved in a statistical study and be aware of the various problems that arise in each
particular study;
2. correctly identify and apply the learnt techniques from Descriptive Statistics, used to summarize data, and to
interpret them;
3. master the probability concepts and calculus approached in the curricular unit;
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 48/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
4. be able to characterize random variables/vectors and to identify the correspondent probability distributions;
5. be able to make simple statistical inferences on basic population parameter,s from point and interval estimation
techniques.

4.4.5. Conteúdos programáticos:


1. Teoria da probabilidade: conceitos fundamentais, independência de eventos e probabilidade condicional, teoremas
de Bayes e da probabilidade total.
2. Variáveis aleatórias unidimensionais: função (densidade) de probabilidade e função de distribuição; valor esperado,
variância e propriedades. Variáveis aleatórias bidimensionais; distribuições conjuntas; covariância e correlação;
variáveis aleatórias independentes.
3. Distribuições de probabilidade: discretas e contínuas. Teoremas de De Moivre-Laplace e do Limite Central.
4. Estatística Descritiva: conceitos fundamentais, tipos de observações e escalas de medida, técnicas de sumariação
de dados, outliers, coeficiente de correlação de Pearson.
5. Inferência Estatística: amostra aleatória, estatística, média amostral e proporção amostral.
6. Estimação Pontual: principais conceitos e propriedades. Algumas distribuições amostrais. Estimação Intervalar:
cálculo e interpretação de intervalos de confiança para parâmetros populacionais.

4.4.5. Syllabus:
1. Probability Theory: fundamental concepts, independence of events and conditional probability, the Bayes’ and the
total probability theorems.
2. Univariate random variables: definition, probability (density) function and probability distribution function; expected
value and its properties; variance and its properties.Bivariate random variables; joint distributions; covariance and
correlation; independent random variables.
3. Some probability distributions: discrete distributions and continuous distributions. The De Moivre-Laplace and the
Central Limit Theorem.
4. Descriptive Statistics: fundamental concepts, types of observations and measurement scales, techniques for data
summarization, outliers, Pearson's correlation coefficient.
5. Statistical Inference: random sample, statistic, sample mean and sample proportion. Point estimation: properties.
Some sample distributions. Interval estimation: computation and interpretation of confidence intervals for some
population parameters.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Do programa constam vários tópicos de Probabilidades e Estatística, com exemplos que são resolvidos na aula de
forma a que o estudante possa compreender bem os exemplos e a sua resolução. É também proposto um caderno de
exercícios para resolver na aula. Para além disso o estudante deve desenvolver, quer na aula quer fora da aula,
exercícios computacionais de aplicação dos tópicos estudados a problemas do mundo real.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The program is structured by different topics of Probability and Statistics with examples that are solved in class so
that the student has a good understanding of the examples and of their solution. An exercise book is also given to
solve in class. In addition, the student must also develop, in class and out of class, computational exercises where the
methodologies introduced are applied to real world problems.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas T: exposição e discussão dos conceitos teóricos constantes no programa. Os apontamentos serão previamente
disponibilizados na página da disciplina.
Aulas TP: resolução, pelos estudantes, de exercícios previamente propostos em fichas de exercícios e referentes a
cada uma das secções programáticas. Indicação/ajuda sobre a resolução de exercícios não resolvidos em aula sempre
que necessário; apoio aos estudantes no esclarecimento de dúvidas nos conteúdos teóricos e/ou na resolução de
exercícios.

Tipo de Avaliação: Avaliação distribuída (1 teste) com exame final


Condições de Frequência: Sem restrições.
Fórmula de avaliação: Os estudantes têm aprovação à uc desde que a classificação obtida por média ponderada entre
teste (30%) e exame final seja superior ou igual a 9.5 valores. Os estudantes com nota superior ou igual a 17.5 valores
poderão ter que realizar uma prova escrita ou oral para obterem uma nota final superior ou igual a 18 valores. Caso
contrário ficam com 17 valores.

4.4.7. Teaching methodologies (including students' assessment):


Theoretical lectures with an exposition of the course contents. The lecture notes are previously made available on the
web page of the curricular unit. Practical classes with a solution of exercises by the students and support in clarifying
theoretical and/or practical problems by the lecturer.
Type of evaluation: Distributed evaluation (1 test) with final exam.
Terms of frequency: Without restrictions.

Formula Evaluation:
The students will be successful in the curricular unit once the final grade (obtained as a combination of the test (30%)
and the final examination) is greater than or equal to 9.5.
Students with a score greater than or equal to 17.5 values in the final exam must make a complementary written or oral
exam in order to obtain a final score greater than or equal to 18 values. Otherwise, their final score is 17.
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 49/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas serão organizadas numa componente teórica e noutra mais prática. A componente teórica fornece os
conceitos. Ali também se fornecem exemplos de resolução de problemas. Na componente mais prática são feitos
exercícios de aplicação dos conceitos e dos métodos estudados.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The lectures have a theoretical and a practical component. In the theoretical component we provide the concepts.
There we also provide examples of problem solving situations. In the practical component of classes, exercises are
done applying the concepts and methodologies.

4.4.9. Bibliografia de consulta/existência obrigatória:


- Joaquim Costa; "Apontamentos",
- Murteira Bento (2002); "Introdução à estatística". ISBN: 972-773-116-3.
- Douglas C. Montgomery, George C. Runger (2003); "Applied Statistics and Probability for Engineers", John Wiley &
Sons. ISBN: 0-471-20454-4,
- Pestana Dinis Duarte (2002); "Introdução à probabilidade e à estatística". ISBN: 972-31-0954-9,
- Dagnelie Pierre (1973); "Estatística".

Mapa IV - Segurança e Privacidade

4.4.1.1. Designação da unidade curricular:


Segurança e Privacidade

4.4.1.1. Title of curricular unit:


Security and Privacy

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T º 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Luís Filipe Coelho Antunes (14 T+28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


António Miguel Pontes Pimenta Monteiro (14 T)
João Paulo da Silva Machado Garcia Vilela (56 PL)
Manuel Bernardo Martins Barbosa (28 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


1. Conhecer os princípios de segurança de sistemas e privacidade de dados.
2. Adquirir competências de criptografia e suas aplicações.
3. Compreender a regulamentação relativa à proteção de dados, as vulnerabilidades e ameaças associadas.
4. Selecionar e aplicar tecnologias de reforço de privacidade, bem como metodologias de aferição de risco.

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 50/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
1. Understand the principles of system security and data privacy.
2. Acquire skills on cryptography and its applications.
3. Understand data protection regulations, and the data privacy vulnerability and threats.
4. Select and apply privacy-enhancing technologies, as well as methodologies for risk assessment.

4.4.5. Conteúdos programáticos:


1. Princípios de segurança informática: confidencialidade, integridade, disponibilidade; conceitos de risco, ameaças,
vulnerabilidades, vetores de ataque, e mecanismos de segurança;
2. Conceitos básicos de criptografia: criptografia simétrica e de chave pública; cifras e autenticação; integridade de
dados, não-repúdio;
3. Aplicações criptográficas, incluindo: armazenamento e transmissão segura de dados;
4. Regulamentação e requisitos de privacidade de dados;
5. Ameaças e vulnerabilidades de privacidade, incluindo: ataques de correlação e ligação;
6. Avaliação de impacto na privacidade e planos de gestão de dados;
7. Algoritmos de anonimização e pseudo-anonimização, avaliação do risco de re-identificação;
8. Computação colaborativa segura e aplicação ao processamento privado de dados.

4.4.5. Syllabus:
1. Principles of computer security: confidentiality, integrity, availability; concepts of risk, threats, vulnerabilities, attack
vectors, security mechanisms;
2. Basic cryptography concepts: symmetric and public-key cryptography; encryption and authentication; data integrity,
non-repudiation;
3. Cryptographic applications, including: secure storage and transmission of data;
4. Data privacy regulations and requirements;
5. Privacy threats and vulnerabilities, including: correlation and linkage attacks;
6. Privacy impact assessment and data management planning;
7. Anonymization and pseudonymization algorithms, re-identification risk assessment;
8. Secure multiparty computation and application to private data mining.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Esta Unidade Curricular tem como objetivo fornecer aos estudantes uma perspetiva integrada dos fundamentos da
segurança informática e privacidade de dados; visa dotar os estudantes de uma visão abrangente dos aspetos de
segurança inerentes ao desenvolvimento e operação de sistemas informáticos para proteção de dados, abordando
também regulamentos de privacidade e metodologias para os fazer cumprir. Os conteúdos programáticos estão
alinhados com as recomendações do ACM Computing Competencies for Undergraduate Data Science Curricula (draft)
e os objetivos de aprendizagem cobrem as temáticas fundamentais necessárias ao processamento de dados com
garantias de privacidade.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The goal of this Curricular Unit is to provide students with an integrated perspective of the foundations of computer
security; it aims to give students a broad view of the security aspects inherent to the development and operation of
computer systems, also addressing data privacy regulations and the methodologies to assure compliance. The
syllabus is aligned with the ACM Computing Competencies for Undergraduate Data Science Curricula draft and the
learning outcomes focus on the fundamental skills required for data processing with privacy guarantees

4.4.7. Metodologias de ensino (avaliação incluída):


As aulas teóricas são de exposição, complementadas com exemplos detalhados e casos de uso. Ao longo do
semestre, os casos de uso servirão para consolidar os conceitos apresentados, nomeadamente permitindo exercitar
as competências de segurança e privacidade na gestão de dados através de cenários concretos.
As aulas práticas serão aplicação dos conceitos teóricos através da prática de tecnologias que permitam obter
adquirir solidez técnica na aplicação de metodologias de segurança e privacidade. Os estudantes deverão ainda
realizar um trabalho, onde irão aplicar os conceitos apresentados nas teóricas e tecnologias introduzidas nas práticas
por forma a desenvolver competências na elaboração de planos de gestão de dados, avaliação de impacto na
privacidade e partilha de dados com garantias de privacidade.

A avaliação será distribuída com exame final, com as seguintes componentes e cotação:
0,4 TR + 0,6 EF
onde:
TR – Nota do trabalho
EF – Nota do exame final

4.4.7. Teaching methodologies (including students' assessment):


The lectures are based on oral presentations, complemented with detailed examples and discussion of case-studies.
Throughout the semester, the case-studies will be instrumental to consolidate the exposed concepts, particularly by
exercising security and privacy skills in data management through real-world scenarios.
Lab classes will consist on applying the introduced concepts through technological practice aiming at technical
expertise in the application of security and privacy methodologies. Students will develop an assignment, where they
will apply theoretical concepts and practical technologies with the goal of developing skills in elaborating data
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 51/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
management plans, performing privacy impact assessments and privacy-preserving data publishing.

Evaluation will be distributed with final exam, with the following components and weights:
0,4 TR + 0,6 EF
where:
TR – Assignment grade
EF – Written exam grade

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas expositivas visam fornecer uma visão coerente e integrada dos tópicos selecionados, com uma ligação
permanente a exemplos detalhados e casos de uso que estabelecem uma ligação aos conceitos apresentados e
permitem praticá-los com casos de uso reais.
As aulas práticas com exercícios baseados em tecnologias de segurança e privacidade visam adquirir solidez técnica
na aplicação dessas mesmas tecnologias e consolidar os conceitos teóricos através da sua aplicação na prática. A
realização de um trabalho irá promover a aplicação integrada das tecnologias e metodologias abordadas na disciplina,
com vista a desenvolver competências na aplicação de metodologias de tratamento de dados com garantias de
segurança e privacidade e sua comunicação aos pares.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Lecture classes will provide a coherent and integrated view of the selected topics, with a permanent connection to
detailed examples and case-studies that establish a connection to the presented concepts and enable applying them to
real use cases.
Lab classes with exercises based on security and privacy technologies aim at providing technical expertise in the
application of the technologies and consolidate theoretical concepts through their practical application. The
assignment will promote integrated application of technologies and methodologies taught in the course, with the goal
of developing skills in the application of methodologies for data management with security and privacy guarantees,
and their communication to peers.

4.4.9. Bibliografia de consulta/existência obrigatória:


● Goodrich, M., Tamassia, R. (2014). Introduction to Computer Security, Pearson. ISBN: 9780321511003
● Stallings, W., Brown, L. (2018). Computer Security: Principles and Practice, Pearson. ISBN: 9780134794396
● Stallings, W. (2020). Information Privacy Engineering and Privacy by Design, Pearson. ISBN: 9780135278444

Mapa IV - Aprendizagem Computacional II

4.4.1.1. Designação da unidade curricular:


Aprendizagem Computacional II

4.4.1.1. Title of curricular unit:


Machine Learning II

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Luis Filipe Pinto de Almeida Teixeira (14 T)
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 52/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Alípio Mário Guedes Jorge (14 T+28 PL)
Álvaro Pedro de Barros Borges Reis Figueira (28 PL)
Henrique Daniel de Avelar Lopes Cardoso (56 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


O1: Aplicar Aprendizagem Computacional a dados de imagem, áudio e sensores.
O2: Aplicar Aprendizagem Computacional a dados de texto.
O3: Aplicar Aprendizagem Computacional a dados de interação utilizador-item.
O4: Avaliar e discutir soluções propostas.
O5: Explicar os princípios subjacentes aos modelos neuronais avançados
O6: Explicar alguns dos desafios atuais da Aprendizagem Computacional

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
O1: Apply Machine Learning to image, audio and sensor data.
O2: Apply Machine Learning to text data.
O3: Apply Machine Learning to user-item interaction data.
O4: Evaluate and discuss proposed solutions.
O5: Explain the principles behind Advanced Neural Models
O6: Explain some of the current challenges for Machine Learning

4.4.5. Conteúdos programáticos:


1- Breve introdução ao processamento de sinal e de imagem
2- Aprendizagem computacional para imagem, áudio e dados de sensores: pré-processamento; SVM; MLP; Modelos
Neuronais Avançados (Convolutional Neural Networks; Recurrent Neural Networks; LSTM); Outras abordagens.
3- Breve introdução ao processamento de língua natural, text mining e extração de informação
4- Aprendizagem computacional para texto: pré-processamento; tarefas de NLP (Pos-tagging, NER, Keywords,SRL,
Sumariação, etc.); Modelos de Aprendizagem Computacional para NLP (SVM, CRF, Modelos Neuronais de Linguagem);
Avaliação; Construção de Corpora; Recursos (ontologias, corpora, modelos); aplicações de NLP (extração de
informação, chatbots).
5- Sistemas de Recomendação: introdução; algoritmos; fusão de dados; avaliação.
6- Tópicos e desafios atuais de Aprendizagem Computacional.

4.4.5. Syllabus:
- Brief introduction to signal and image processing
2- Computer learning for image, audio and sensor data: pre-processing; SVM; MLP; Advanced Neural Models
(Convolutional neural networks; Recurrent Neural Networks; LSTM); Other approaches.
3- Brief introduction to natural language processing, text mining and information extraction
4- Computer learning for text: pre-processing; NLP tasks (Pos-tagging, NER, Keywords, SRL, Summarization, etc.);
Machine Learning Models for NLP (SVM, CRF, Neural Language Models); Evaluation; Corpora Construction; Resources
(Ontologies, Corpora, Models); NLP applications (information extraction, chatbots).
5- Recommendation systems: introduction; algorithms; data fusion; evaluation.
6- Current Topics and Challenges of Machine Learning.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos 1 e 2 respondem ao objetivo O1, abordando a aplicação de algoritmos de Aprendizagem Computacional
a dados de imagem, áudio e sensores. Incluem também os passos preparatórios para a sua aplicação.
Os conteúdos 3 e 4 respondem ao objetivo O2, abordando a aplicação de algoritmos de Aprendizagem Computacional
a dados de texto. Incluem também os passos preparatórios para a sua aplicação
O conteúdo 5 responde ao objetivo O3, abordando a aplicação de algoritmos de Aprendizagem Computacional a dados
de interação. Incluem também os passos preparatórios para a sua aplicação.
Os conteúdos 2, 4 e 5 respondem ao objetivo O4, pois incluem metodologias de avaliação das técnicas abordadas.
Respondem também ao objetivo O5.
O conteúdo 6 responde ao objetivo O6.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
Contents 1 and 2 respond to objective O1, addressing the application of Machine Learning algorithms to image, audio
and sensor data. They also include the preparatory steps for its application.
Contents 3 and 4 respond to objective O2, addressing the application of Machine Learning algorithms to text data.
They also include the preparatory steps for their application
Content 5 responds to objective O3, addressing the application of Machine Learning algorithms to interaction data.
They also include the preparatory steps for its application.
Contents 2, 4 and 5 respond to objective O4, as they include methodologies for evaluating the techniques covered.
They also respond to objective O5.
Content 6 addresses objective O6.

4.4.7. Metodologias de ensino (avaliação incluída):

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 53/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Aulas teóricas: Método expositivo com descrição de conceitos e apresentação de exemplos e casos de estudo.
Sessões breves de interação com os estudantes.
Aulas práticas laboratoriais: resolução de exercícios e de trabalhos práticos de programação e de aplicação de
ferramentas em computador.
Avaliação: Trabalhos práticos de grupo com conjuntos de dados concretos (40%) e exame teórico final (60%).

4.4.7. Teaching methodologies (including students' assessment):


Theoretical classes: Expository method with description of concepts and presentation of examples and case studies.
Brief sessions of interaction with students.
Practical classes: solving exercises and practical programming and application of computer tools.
Assessment: Practical group assignments with concrete data sets (40%) and final theoretical exam (60%).

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

Os objetivos O1 a O3 são de índole conceptual e prática, contribuindo para eles as aulas teóricas, onde são
sistematizados os conhecimentos, e as aulas práticas laboratoriais e trabalhos de avaliação, onde estes
conhecimentos são consolidados através de exercícios e pequenos projetos em computador.
De igual forma o objetivo O4 assenta numa formação teórica forte, mas é consolidado nas práticas e na realização dos
trabalhos práticos de grupo.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Objectives O1 to O3 are of a conceptual and practical nature, contributing to them the theoretical classes, where
knowledge is systematized, and practical classes and assessment work, where this knowledge is consolidated through
exercises and small computer projects.
Likewise, the O4 objective is based on strong theoretical training, but is consolidated in the practices and in carrying
out practical group work.

4.4.9. Bibliografia de consulta/existência obrigatória:


Natural Language Processing in Action : Understanding, analyzing, and generating text with Python, Lane Hobson ,
Howard Cole , Hapke Hannes, Manning, 2019
Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow : Concepts, Tools, and Techniques to Build
Intelligent Systems, Aurelien Geron, Wiley, 2019

Mapa IV - Ciência de Dados em Larga Escala

4.4.1.1. Designação da unidade curricular:


Ciência de Dados em Larga Escala

4.4.1.1. Title of curricular unit:


Large Scale Data Science

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semesater

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 54/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Inês Castro Dutra (14 T)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Jorge Manuel Gomes Barbosa (14 T, 56 PL)
Eduardo Resende Brandão Marques (56 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Os estudantes deverão adquirir as seguintes competências:
- Domínio na utilização de infra-estuturas e ambientes de programação para clouds
- Desenho e implementação de aplicações para larga escala usando modelos de programação suportados pela cloud.
- Conhecimento e compreensão dos problemas chave e algoritmos nucleares em aplicações de larga escala.
- Experiência prática com ferramentas do estado da arte disponíveis para cloud computing.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
- Master the use of infrastructure and programming environments for clouds
- Design and implementation of large scale applications using programming models supported by the cloud.
- Knowledge and understanding of key problems and nuclear algorithms in large-scale applications.
- Practical experience with state of the art tools available for cloud computing.

4.4.5. Conteúdos programáticos:


- Introdução à ciência de dados em larga escala: desafios, cenários de exemplo sob o ponto de vista científico e
empresarial.
- O paradigma de cloud computing: modelos de serviço (PaaS, SaaS, IaaS); virtualização, instalação e orquestração de
serviços; integração de recursos de computação, networking e armazenamento de dados; expansibilidade, tolerância
a falhas, elasticidade.
- Soluções de armazenamento em cloud para larga escala: sistemas de ficheiros de cloud, bases de dados NoSQL e
graph-based, object stores.
- Fundamentos de algoritmos e ferramentas para mineração de dados e aprendizagem automática em larga escala.
- Aplicações de larga escala usando modelos de programação suportados pela cloud: MapReduce, programação
baseada em streams.
- Trabalhos de programação de aplicações em larga escala em tópicos como streams de dados, grafos de redes
sociais, sistemas de recomendação ou bioinformática.

4.4.5. Syllabus:
- Introduction to large scale data science: challenges, example problems from science and business.
- The cloud computing paradigm: service models (PaaS, SaaS, IaaS); service virtualization, deployment and
orchestration; integration of computing, networking and storage resources; scalability, fault-tolerance, and “elasticity”.
- Cloud storage solutions for large scale data: cloud file systems, NoSQL and graph-based databases, “object stores”.
- Foundations of core algorithms and tools for data mining and machine learning at large
- Large Scale applications using cloud programming models: MapReduce, stream-based programming.
- Programming assignments on large scale applications on specific topics such as data streams, social-network
graphs, recommendation systems, or bioinformatics.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos programáticos apresentam uma visão conceptual da área de cloud computing e ciência de dados em
larga escala que é complementada com exemplos práticos de cenários e aplicações em diversas áreas. Os projetos de
programação permitem aos estudantes adquirir a experiência necessária para implementar aplicações de larga escala
na cloud.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The syllabus provides a conceptual view of cloud-computing and large scale data science that is complemented with
real world scenarios and applications from different areas of knowledge. The programming assignments develop in the
students the competence for implementing big-data in the clouds.

4.4.7. Metodologias de ensino (avaliação incluída):


- Introdução às tecnologias de cloud computing tendo em conta os requisitos das aplicações de larga escala.
- Projetos de programação usando ferramentas dos principais fornecedores de serviços cloud (Amazon Web Services,
Microsoft Azure, Google Cloud, etc) e computadores do DCC para computação MapReduce.
- Aulas por investigadores de diversas áreas sobre aplicações de data science em larga escala.
Avaliação distribuída com exame final
- Projetos de programação: 50%.
- Exame final: 50%.

4.4.7. Teaching methodologies (including students' assessment):


- Introduction of cloud computing technologies in tandem with large scale data science application requirements.
- Hands-on practice in programming projects using tools by major cloud service providers (Amazon Web Services,
Microsoft Azure, Google Cloud, etc) and DCC computer clusters for MapReduce.
- Lessons by invited speakers on large scale data science applications in distinct domains.
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 55/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Evaluation:
- Programming projects: 50%.
- Final exam: 50%.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
A UC mistura uma visão conceptual de cloud-computing aplicada a problemas de ciência de dados em larga escala
com uma aproximação muito voltada para a prática na utilização e desenvolvimento autónomo de aplicações,
alinhando-se assim claramente com os objetivos propostos.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The course mixes both conceptual and very practical views of cloud computing for large scale data science providing
a good match for the desirable learning outcomes.

4.4.9. Bibliografia de consulta/existência obrigatória:


- Mining of Massive Datasets, Jure Leskovec, Anand Rajaraman, Jeff Ullman, Cambridge University Press, 2nd edition,
2014.
- Advanced Analytics with Spark - Patterns for Learning from Data at Scale, Sandy Ryza, Uri Laserson, Sean Owen,
Josh Wills, O'Reilly Media, 2015
- Amazon Web Services in Action, Andreas Wittig & Michael Wittig, Manning Publications, 2017.
- Big Data: Principles and best practices of scalable realtime data systems, Nathan Marz, James Warren, 2015.

Mapa IV - Gestão e Visualização de Informação

4.4.1.1. Designação da unidade curricular:


Gestão e Visualização de Informação

4.4.1.1. Title of curricular unit:


Information Management and Visualization

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Álvaro Pedro de Barros Borges Reis Figueira (14 T + 28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Maria Cristina de Carvalho Alves Ribeiro (14 T)
Gabriel de Sousa Torcato David (84 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Os estudantes devem obter as competências necessárias para aproveitar e rentabilizar os recursos de informação de
uma organização de forma a flexibilizá-la ao meio circundante e a torná-la mais competitiva.
No fim da UC os estudantes devem ser capazes de: (a) explicar os conceitos e os principais modelos de gestão da
informação, (b) desenvolver um sistema de informação que aproveite os recursos e capacidades de informação da
organização, (c) compreender todas as etapas do ciclo de vida da informação, desde a aquisição e integração ao
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 56/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
processamento e visualização (d) demonstrar o valor da informação em contexto organizacional, (e) criar planos
estratégicos de gestão da informação, (f) identificar os riscos associados ao uso das TICs na gestão dos recursos
informativos.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Students shall acquire the necessary skills to use and profit from the information resources of an organisation in order
to prepare it for a flexible environment and to become more competitive.
Students are expected to: (a) explain the concepts and the main models of information management, (b) develop an
information system that profits from organisational information resources and capabilities, (c) understand all the
phases of the information life cycle, from acquisition and integration to processing and visualization, (d) demonstrate
the value of information in organizations, (e) create strategic plans for information management, (f) identify risks
associated with the use of ICT in the management of information resources.

4.4.5. Conteúdos programáticos:


1. Gestão e gestores da informação:
1.1 – Origem e fundamentos da gestão da informação em contexto organizacional,
1.2 – O gestor de informação, perfil e competências.
2. O processo de gestão da informação:
2.1 – Etapas e modelos,
2.2 – Ciclo de vida da informação,
2.3 – Técnicas de aquisição e de integração de informação (ETL),
2.4 – Técnicas de análise exploratória e de visualização de dados (gráficos 2D e 3D, séries temporais, infografias).
3. O valor da informação em contexto organizacional e na economia da informação:
3.1 – Bases concetuais,
3.2 – Informação como ativo de uma organização;
3.3 – Medidas de impacto da informação no desempenho das atividades de uma organização (Custo-benefício, Custo-
Eficácia-Eficiência-Valor).
4. A gestão estratégica da informação nas organizações:
4.1 – Fundamentos e objetivos,
4.2 – O levantamento da informação estratégica e a competitividade,
4.3 – Gestão do risco.
5. Novas perspetivas e desafios na gestão da informação.

4.4.5. Syllabus:
1. Management and manager of information:
1.1 – Origin and Foundations of information management in the organisational context,
1.2 – The information manager, profile and competences.
2. The process of information management
2.1 – Stages and models,
2.2 – Information lifecycle,
2.3 – Information acquisition and integration techniques (ETL),
2.4 – Exploratory analysis techniques and data visualization (2D and 3D graphs, time series, infographics).
3 – The information value in an organisational context:
3.1 – Conceptual bases,
3.2 – Information as an asset in an organisation,
3.3 – Information impact measures on the organizational performance (Cost-Benefit, Cost-Effectiveness-Efficiency-
Value).
4 – The strategic management of information in organisations:
4.1 – Background and objectives,
4.2 – Capture strategic information and competitiveness,
4.3 – Risk management.
5 – New perspectives and challenges in information management.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
O ponto 1 dos conteúdos programáticos faz um enquadramento da UC e situa-a no contexto do plano de estudos. O
ponto 2, ao estudar o processo da gestão de informação e respetivo ciclo de vida, pretende levar o estudante a
compreender como construir sistemas de informação que sejam adequados e úteis para a organização. O ponto 3 visa
aprofundar o aspeto do valor da informação, como ponto de partida para a elaboração de um plano estratégico. O
ponto 4 acrescenta a perspetiva do risco e das medidas para o minimizar. E o ponto 5 percorre alguns assuntos em
foco, como a proteção de dados.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The first item in the syllabus outlines the course and positions the CU in the context of the program study plan. Item 2,
by studying the information management process and its lifecycle takes the student to understand how to build
information systems that are adequate and useful for the organisation. Item 3 intends to go deeper into the notion of
information value, as a starting point to build a strategic plan. Item 4 adds the perspective of risk and of mitigating
measures. Item 5 goes trough some current issues, like data protection.

4.4.7. Metodologias de ensino (avaliação incluída):

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 57/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Aulas teóricas: para exposição e discussão dos conceitos fundamentais da teoria e a apresentação de casos e
exemplos. Aulas práticas: destinadas à análise de casos e à elaboração de exercícios de desenvolvimento de um
pequeno sistema de informação e de integração e de visualização de dados.
Avaliação distribuída com exame final: atendendo aos objetivos da UC, optou-se por uma avaliação em que 70%
assenta na realização de um trabalho prático de média dimensão, em grupos de 2 pessoas, de preferência com dados
reais, no qual são percorridas as diversas etapas de um projeto de um sistema de informação. No final, para além do
relatório do projeto, é realizada uma apresentação e discussão oral, como acontece nos projetos reais. Os restantes
30% correspondem a um exame escrito individual, onde os estudantes têm a oportunidade de demonstrar o seu
domínio de assuntos que não tenham sido cobertos no seu trabalho prático.

4.4.7. Teaching methodologies (including students' assessment):


Theoretical classes: to present and discuss the main concepts and to present cases and examples. Practical classes:
dedicated to the analysis of cases, to the development of a small information system, and to perform exercises of data
integration and visualization.
Distributed evaluation with final exam: considering the CU goals, 70% of the assessment is based on the realization of
a medium sized practical assignment, for 2 persons groups, preferably with real data, where students will go through
all the stages of an information system design project. In the end, besides the project report, a presentation and oral
discussion takes place as in professional projects. The remaining 30% correspond to an individual written examination
where the students have the opportunity to demonstrate their knowledge in subjects not raised in their practical
assignment.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas teóricas são utilizadas para a exposição detalhada dos conteúdos programáticos e para a introdução e
discussão de exemplos concretos como forma de motivar os alunos para os problemas e soluções tecnológicas
existentes. As aulas práticas permitem consolidar os conhecimentos adquiridos nas aulas teóricas e dar experiência
real do desenho, desenvolvimento e implementação de uma base de dados.
A avaliação proposta implica que o aluno tenha um conhecimento detalhado dos princípios teóricos e práticos que
fundamentam o desenho de um sistema de informação apropriado para uma organização.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Theory classes allow the detailed exposition of the syllabus contents and the introduction and discussion of examples
as a way to motivate the students to the existing technological problems and solutions. Practical classes allow the
consolidation of the knowledge acquired in the theory classes and give some real experience on the design,
development and implementation of a database.
The proposed evaluation implies that the student has a detailed knowledge of the theoretical and practical principles
that underlie the design of an information system adequate for an organisation.

4.4.9. Bibliografia de consulta/existência obrigatória:


● Chun Wei Choo ; trad. Ana Fonseca; Gestão de informação para a organização inteligente. ISBN: 972-21-1506-5
● Ribeiro, F. ; Gestão da Informação / Preservação da Memória na era pós-custodial: um equilíbrio precário,
Repositório Aberto U.P., 2005
● Davenport, L.; Information management: an educational perspective, International Journal of Information
Management, vol. 8, nº. 4, p. 255-263, 1988
● Wilson, T. ; Information management: a new focus for integration? , IFLA Journal, v. 14, n. 3, p 238-241, 1988
● Wilson,T; Information management today and tomorrow, Keynote paper presented at an Information Management
Workshop, University of Murcia, Muria, Spain, 29 September, 2011

Mapa IV - Introdução à Robótica Inteligente

4.4.1.1. Designação da unidade curricular:


Introdução à Robótica Inteligente

4.4.1.1. Title of curricular unit:


Introduction to Intelligent Robotics

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 58/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Luis Paulo Reis (14 T + 56 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Pedro Manuel Pinto Ribeiro (14 T+56 PL)
Armando Jorge Miranda de Sousa (56 PL)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


1. Compreender os conceitos básicos de robótica, o enquadramento da inteligência artificial na robótica e middleware
para robótica com ênfase no ROS.
2. Estudar métodos de perceção e interpretação sensorial que permitam criar estados do mundo precisos e métodos
de localização e SLAM de robôs móveis.
3. Estudar os métodos que permitam a robôs móveis navegarem em ambientes conhecidos ou desconhecidos usando
algoritmos de planeamento e navegação.
4. Compreender e utilizar algoritmos de aprendizagem computacional para robôs.
5. Compreender os fundamentos da interação humano-robô e da robótica cooperativa.
6. Analisar as principais competições robóticas nacionais e internacionais, os simuladores robóticos mais realistas e
as plataformas robóticas mais avançadas disponíveis no mercado.
7. Incentivar capacidade de comunicação em tópicos técnicos e científicos e abordagens científicas saudáveis.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
1. To understand the basic concepts of robotics, the context of artificial intelligence in robotics and robotics
middleware with emphasis for ROS.
2. To study methods of perception and sensorial interpretation, which allow creating precise world estates and mobile
robots’ localization and SLAM methods.
3. To study the methods which allow mobile robots to move and navigate in familiar or unfamiliar environments using
planning and navigation algorithms.
4. To understand and use the main machine learning algorithms for robotics.
5. To study the fundamentals of human-robot interaction and cooperative robotics.
6. To analyze the main national and international robotics competitions, the more realistic robot simulators and the
more advanced robotic platforms available in the market.
7. To Improve the ability to communicate regarding scientific and technical issues and promote a healthy scientific
approach.

4.4.5. Conteúdos programáticos:


1. Introdução à Robótica Inteligente: Conceitos Básicos; Arquiteturas para Robôs; História, Evolução e Tendências em
Robótica Inteligente; Middleware para Robótica e ROS - Robot Operating System.
2. Perceção e Ação: Sensores; Visão Robótica; Interpretação Sensorial; Locomoção e Ação; Tipos de Atuadores.
3. Localização, Mapeamento e Navegação: Métodos de Mapeamento e Localização; SLAM; Planeamento de Caminhos;
Desvio de Obstáculos; Navegação.
4. Aprendizagem para Robótica: Aprendizagem Supervisionada, Evolutiva, por Reforço e Profunda para Robótica.
5. Robótica Cooperativa: Interação Humano-Robô; Comunicação e Cooperação Multi-Robô.
6. Robótica no Futuro: Inteligência Artificial e Robótica no Futuro.

4.4.5. Syllabus:
1. Introduction to Intelligent Robotics (IR): Basic Concepts; Architectures for Robotic Agents; History, Evolution, and
Current Trends in Intelligent Robotics; Robotics Middleware and ROS – Robot Operating System;
2. Perception and Action: Sensors; Robot Vision; Sensor interpretation; Locomotion and Action; Actuator Types.
3. Localization, Mapping and Navigation: Localization and Mapping Methods; SLAM – Simultaneous Localization and
Mapping; Path Planning; Obstacle Avoidance; Navigation.
4. Robot Learning: Supervised, Evolutionary, Reinforcement and Deep Learning for Robotics.
5. Cooperative Robotics: Human-Robot Interaction; Multi-Robot Communication and Cooperation.
6. Robotics in the Future: Artificial Intelligence and Robotics in the Future.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos programáticos exploram os principais conceitos da Robótica Inteligente, começando com uma
introdução ao tema, seguida por uma breve descrição do ROS, essencial para a utilização prática de grande parte dos
conceitos seguintes. Estes conteúdos permitem atingir o objetivo de aprendizagem 1. Os conteúdos programáticos 2 e
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 59/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
3 (Perceção e Ação; Localização, Mapeamento e Navegação) cobrem os objetivos 2 e 3. Os conteúdos programáticos 4
e 5 (Aprendizagem para Robótica e Robótica Cooperativa) cobrem os objetivos 4 e 5. Os objetivos 6 e 7 são sobretudo
cobertos pelos conteúdos programáticos globais com ênfase para os conteúdos 1 e 6 e pela realização dos
assignments e homeworks da disciplina.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The syllabus explores the main concepts of Intelligent Robotics, beginning with an introduction to the topic, followed
by a brief description of ROS, essential for the practical use of most of the following concepts. These contents allow
the achievement of learning objective 1. Syllabus topics 2 and 3 (Perception and Action; Localization, Mapping and
Navigation) cover Objectives 2 and 3. Syllabus topics 4 and 5 (Robotics Learning and Cooperative Robotics) cover
directly objectives 4 and 5. Objectives 6 and 7 are covered by the complete syllabus with emphasis for topics 1 and 6
and by the accomplishment of assignments and homeworks of the discipline.

4.4.7. Metodologias de ensino (avaliação incluída):


- Exposição com interação nas aulas.
- Uso de simuladores para robôs móveis e exploração de plataformas robóticas simples.
- Trabalhos sobre aprendizagem em robótica e robótica cooperativa.
- Estudantes desafiados para a criatividade, aprendizagem e pensamento de alto-nível.
- Trabalhos de casa simples semanais e realização de um Projeto completo com feedback.

Tipo de Avaliação: Avaliação distribuída sem exame final.


Condições de Frequência:
- Assiduidade e entrega do Projeto com avaliação superior a 7.5 valores (em 20).
Fórmula de avaliação:
- 10% Trabalhos de Casa e Participação nas Aulas
- 40% Mini-Teste
- 10% Projeto: Avaliação Intermédia do Projeto
- 40% Projeto: Avaliação Final do Projeto.

4.4.7. Teaching methodologies (including students' assessment):


- Exposition with interaction in classes.
- Use of simulators for mobile robots and exploration of robotic platforms.
- Assignments on robot learning and cooperative robotics.
- Challenge students to higher-level learning and higher order thinking.
- Complete Project and several simple homeworks with immediate and detailed feedback.

Type of evaluation: Distributed evaluation without final exam.


Terms of frequency:
- Attendance and delivery of the assignment with more than 7.5 out of 20 grade.
Evaluation:
- 10% HomeWorks/Class Participation
- 40% Mini-Test/Exam
- 10% Assignment/Project: Half Way Project Evaluation
- 40% Assignment/Project: Final Project Evaluation

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Os conteúdos programáticos exploram os principais conceitos da Robótica Inteligente, começando com uma
introdução ao tema, seguida por uma breve descrição do ROS, essencial para a utilização prática de grande parte dos
conceitos seguintes. Estes conteúdos permitem atingir o objetivo de aprendizagem 1. Os conteúdos programáticos 2 e
3 (Perceção e Ação; Localização, Mapeamento e Navegação) cobrem os objetivos 2 e 3. Os conteúdos programáticos 4
e 5 (Aprendizagem para Robótica e Robótica Cooperativa) cobrem os objetivos 4 e 5. Os objetivos 6 e 7 são sobretudo
cobertos pelos conteúdos programáticos globais com ênfase para os conteúdos 1 e 6 e pela realização dos
assignments e homeworks da disciplina.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The syllabus explores the main concepts of Intelligent Robotics, beginning with an introduction to the topic, followed
by a brief description of ROS, essential for the practical use of most of the following concepts. These contents allow
the achievement of learning objective 1. Syllabus topics 2 and 3 (Perception and Action; Localization, Mapping and
Navigation) cover Objectives 2 and 3. Syllabus topics 4 and 5 (Robotics Learning and Cooperative Robotics) cover
directly objectives 4 and 5. Objectives 6 and 7 are covered by the complete syllabus with emphasis for topics 1 and 6
and by the accomplishment of assignments and homeworks of the discipline.

4.4.9. Bibliografia de consulta/existência obrigatória:


- Murphy, Robin R. (2019), An Introduction to AI Robotics, Second Edition, A Bradford Book, The MIT Press, Intelligent
Robotics and Autonomous Agents series, Cambridge, England, ISBN: 978-0262038485.
- Siciliano, Bruno & Khatib, Oussama (editors) (2016), Springer Handbook of Robotics, Second Edition, Springer, ISBN:
978-3319325507.
- Russell, Stuart & Norvig, Peter (2014), Artificial Intelligence: A Modern Approach, 3rd Edition, Pearson Education
Limited, 2014, ISBN: 978-9332543515.
- O'Kane, Jason M. (2013), A Gentle Introduction do ROS, Independently published, updated in 2018 to version 2.1.6.
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 60/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
ISBN: 978-1492143239
- Siegwart, Roland & Nourbakhsh, Illah Reza & Scaramuzza, Davide (2011), Introduction to Autonomous Mobile Robots,
Second Edition, The MIT Press, Intelligent Robotics and Autonomous Agents series, Cambridge, ISBN: 978-
0262015356.
- Thrun, Sebastian & Burgard, Wolfram & Fox, Dieter (2005), Probabilistic Robotics, MIT Press, Cambridge, ISBN: 978-
0262201629.

Mapa IV - Introdução aos Sistemas Inteligentes e Autónomos

4.4.1.1. Designação da unidade curricular:


Introdução aos Sistemas Inteligentes e Autónomos

4.4.1.1. Title of curricular unit:


Introduction to Intelligent Autonomous Systems

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Inês Castro Dutra (14 T+28 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Ana Paula Cunha da Rocha (28 PL)
Rosaldo José Fernandes Rossetti (56 PL)
Henrique Lopes Cardoso (14 T )

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


A UC apresenta uma perspetiva global das técnicas associadas aos sistemas inteligentes e autónomos, explorando a
modelação e simulação de sistemas complexos e o desenvolvimento de aplicações de agentes inteligentes e de
Sistemas Multi-Agente (SMA) com capacidade de adaptação/aprendizagem. O objetivo principal é especificar e
implementar sistemas inteligentes autónomos, complexos e adaptativos. No final da UC, os estudantes deverão ser
capazes de:
1. Compreender conceitos básicos relacionados com sistemas inteligentes autónomos e ser capaz de modelar e
projetar sistemas inteligentes e autónomos complexos.
2. Compreender e ser capaz de utilizar o conceito de aprendizagem por reforço, incluindo algoritmos atuais e
mecanismos de aprendizagem por reforço profunda.
3. Compreender e ser capaz de utilizar conceitos de sistemas inteligentes multiagente tais como a comunicação,
interação, coordenação, negociação e cooperação.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
This Unit presents a global perspective of the techniques associated with intelligent and autonomous systems,
exploring the modeling and simulation of complex systems and the development of applications of intelligent agents
and Multi-Agent Systems with the ability to adapt / learn to solve complex problems. The main objective is to specify
and implement autonomous, complex and adaptive intelligent systems. At the end of the course, students should be
able to:
1. Understand basic concepts related to autonomous intelligent systems and be able to model and design complex
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 61/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
intelligent and autonomous systems.
2. Understand and be able to use the concept of reinforcement learning, including state of the art algorithms and deep
reinforcement learning mechanisms.
3. Understand and be able to use concepts of intelligent multi-agent systems such as communication, interaction,
coordination, negotiation and cooperation

4.4.5. Conteúdos programáticos:


1. Sistemas Autónomos Inteligentes: Sistemas Inteligentes; Agentes; Sistemas Multiagente
2. Aprendizagem em Sistemas Autónomos: Processos de decisão de Markov e MDPs Parcialmente Observáveis;
Métodos Model-Based e Model-Free; Aprendizagem por Reforço (RL); Exploration vs Exploitation; Aprendizagem por
Reforço Profunda; Algoritmos de RL: Monte-Carlo, Q-Learning, SARSA; SAC e PPO.
3. Sistemas Multiagente: Conceito; Arquiteturas; Comunicação; Interação; Coordenação; Negociação; Trabalho em
Equipa; Teoria dos Jogos; Planeamento Multiagente.

4.4.5. Syllabus:
1. Intelligent Autonomous Systems: Intelligent Systems; Agents; Multi-Agent Systems
2. Machine Learning Autonomous Systems: Markov Decision Processes and Partially Observable MDPs; Model-
Based/Model Free Solution methods; Reinforcement Learning (RL); Exploration vs Exploitation; Deep Reinforcement
Learning; RL Algorithms: Q-Learning, SARSA; SAC and PPO.
3. Multi-Agent Systems: Concept; Architectures; Communication; Interaction; Coordination; Negotiation; Teamwork;
Game Theory; Multi-Agent Planning

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos programáticos exploram os principais conceitos da área dos sistemas autónomos inteligentes com
ênfase nos Agentes Inteligentes e Sistemas Multi-Agente, começando com uma introdução ao tema dos agentes
computacionais e sistemas multiagente. Seguidamente são abordados tópicos mais específicos da área dos Agentes
Inteligentes com ênfase para os métodos de Aprendizagem em Agentes Inteligentes, Aprendizagem por Reforço e
Aprendizagem por Reforço Profunda. No final da disciplina são abordados em detalhe os Sistemas Multiagente e a
Tomada de Decisão Multiagente. A unidade curricular possui componentes tecnológica e científica equilibradas. Os
estudantes efetuam um trabalho prático de implementação de um Sistema inteligente autónomo onde estudam e
aplicam ferramentas de construção de Sistemas Autónomos Inteligentes e usam os conceitos, lecionados nas aulas
incluindo as várias arquiteturas de Agentes e SMA, técnicas de aprendizagem por reforço e tomada de decisão em
agentes e SMA.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The syllabus explores the main concepts in the area of Autonomous Intelligent Systems with emphasis on Intelligent
and multi-agent systems Agents and Multi-Agent Systems, starting with an introduction to the subject of
computational agents. Following are more specific topics in the area of Intelligent Agents with emphasis for Agent
Learning methods, Reinforcement Learning and Deep Reinforcement Learning. At the end of the course Multiagent
Systems and Multiagent Decision Making are discussed in detail. The course has balanced technological and scientific
components. Students do practical work consisting of implementing a simple but complete Intelligent Autonomous
System. In the practical work, students apply all the concepts studied including Intelligent Autonomous System tools
and use the concepts taught in the more theoretical lessons including Agent and MAS architectures, agent learning
techniques and MAS decision making.

4.4.7. Metodologias de ensino (avaliação incluída):


Exposição com interação nas aulas teóricas. Exploração de ferramentas e resolução de exercícios nas aulas teórico-
práticas. Acompanhamento da realização dos trabalhos práticos. Aprendizagem orientada por projetos. Os estudantes
realizam um projeto simples, mas completo durante o semestre.
Tipo de Avaliação: Avaliação distribuída sem exame final.
2 Testes com Consulta: T1 com peso 25% e T2 com peso 25%.
Trabalho Prático com peso 50% com as seguintes componentes de avaliação: 20% * Apresentação Intercalar + 40% *
Código & Demo do Projeto + 20% * Relatório Final/Artigo + 20% * Apresentação Final.
Condições de Frequência: Um estudante inscrito obtém frequência se cumprir a assiduidade às aulas teórico-práticas
e obtiver uma nota mínima de 7.5 valores no trabalho prático.

4.4.7. Teaching methodologies (including students' assessment):


Oral presentation of the themes of the course in theoretical classes, with interaction with students. Tool
experimentation and exploration and exercise solving in the practical classes. Practical classes will also be based on
the supervision of assignments. Project-oriented learning. Students develop a simple but complete project during the
course.
Type of evaluation: Distributed evaluation without final exam.
2 Exams/Tests: T1 with weight 25% and T2 with weight 25%.
Practical Work (with weight 50%) and the following evaluation components: 20% * Midterm Presentation + 40% *
Project Code & Demo + 20% * Final Report + 20% * Final Presentation.
Terms of frequency: Enrolled students must not exceed the allowed number of non-attendance to lab classes and
achieve a minimum grade of 7.5 (out of 20) in the practical assignment.

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

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 62/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Os conteúdos programáticos exploram os principais conceitos da área dos sistemas autónomos inteligentes com
ênfase nos Agentes Inteligentes e Sistemas Multi-Agente, começando com uma introdução ao tema dos agentes
computacionais e sistemas multiagente. Seguidamente são abordados tópicos mais específicos da área dos Agentes
Inteligentes com ênfase para os métodos de Aprendizagem em Agentes Inteligentes, Aprendizagem por Reforço e
Aprendizagem por Reforço Profunda. No final da disciplina são abordados em detalhe os Sistemas Multiagente e a
Tomada de Decisão Multiagente. A unidade curricular possui componentes tecnológica e científica equilibradas. Os
estudantes efetuam um trabalho prático de implementação de um Sistema inteligente autónomo onde estudam e
aplicam ferramentas de construção de Sistemas Autónomos Inteligentes e usam os conceitos, lecionados nas aulas
incluindo as várias arquiteturas de Agentes e SMA, técnicas de aprendizagem por reforço e tomada de decisão em
agentes e SMA.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The syllabus explores the main concepts in the area of Autonomous Intelligent Systems with emphasis on Intelligent
and multi-agent systems Agents and Multi-Agent Systems, starting with an introduction to the subject of
computational agents. Following are more specific topics in the area of Intelligent Agents with emphasis for Agent
Learning methods, Reinforcement Learning and Deep Reinforcement Learning. At the end of the course Multiagent
Systems and Multiagent Decision Making are discussed in detail. The course has balanced technological and scientific
components. Students do practical work consisting of implementing a simple but complete Intelligent Autonomous
System. In the practical work, students apply all the concepts studied including Intelligent Autonomous System tools
and use the concepts taught in the more theoretical lessons including Agent and MAS architectures, agent learning
techniques and MAS decision making.

4.4.9. Bibliografia de consulta/existência obrigatória:


● Russell, Stuart & Norvig, Peter (2014), Artificial Intelligence: A Modern Approach, 3rd Edition, Pearson Education
Limited, (4th edition to be released Feb 2020), ISBN: 978-9-332-54351-5.
● Wooldridge, Michael (2009), An Introduction to Multiagent Systems, Second Edition, ISBN: 978-0-470-51946-2.
● Weiss, Gerhard (editor) (2013), Multiagent Systems, Second Edition, The MIT Press, Intelligent Robotics and
Autonomous Agents series, Cambridge, Massachusetts, London England, ISBN: 978-0-262-01889-0

Mapa IV - Laboratório de Inteligência Artificial e Ciência de Dados

4.4.1.1. Designação da unidade curricular:


Laboratório de Inteligência Artificial e Ciência de Dados

4.4.1.1. Title of curricular unit:


Laboratory of Artificial Intelligence and Data Science

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


14T + 42TP

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Pedro Gabriel Dias Ferreira (14T) Pedro Manuel Pinto Ribeiro (42TP) Vera Lúcia Miguéis Silva (14T)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Ademar Manuel Teixeira de Aguiar (42 TP)
João Carlos Pascoal Faria (84 TP)
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 63/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Objetivos: Fornecer aos estudantes metodologias de desenvolvimento de software, de projetos em IA e CD, de
trabalho em equipa e de comunicação através da realização de um projeto desenhado para o efeito.
Competências:
1. Estruturar o desenvolvimento de software
2. Participar numa equipa de desenvolvimento
3. Estruturar o desenvolvimento e a gestão de um projeto de IA/CD
4. Comunicar resultados do projeto dentro da equipa e a terceiros

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Objectives: To provide students with software development methodologies, AI and CD projects, team work and
communication through the realization of a project designed for this purpose.
Skills:
1. Structure software development
2. Participate in a development team
3. Structure the development and management of an AI / CD project
4. Communicate project results within the team and to third parties

4.4.5. Conteúdos programáticos:


- Tópicos de desenvolvimento de projetos: Met. de desenvolvimento de projetos de software, Desenvolvimento de
projetos de SI/CD: metodologias, gestão de projetos, gestão de equipas, apresentação de resultados de IA/CD;
deployment de modelos. (4 semanas)
- Desenvolvimento de projeto em grupo. (6 semanas)
- Apresentação dos trabalhos (2 semanas)

4.4.5. Syllabus:
Project development topics: Software project development methodology, IS / CD project development: methodologies,
project management, team management, AI / CD results presentation; model deployment. (4 weeks)
- Group project development. (6 weeks)
- Presentation of papers (2 weeks)

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
A UC terá uma componente teórica onde se lecionam os conteúdos de desenvolvimento de projetos e de trabalho em
equipa. As aulas teórico-práticas terão ainda a componente de desenvolvimento de projeto que põe em prática os
conteúdos desta e de outras UC, ajudando a consolidar os conhecimentos adquiridos. A terceira componente de
comunicação de resultados serve para treino, revisão e crítica, preparando os estudantes para projetos de maior
envergadura.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The UC will have a theoretical component where the contents of project development and teamwork are taught. The
theoretical-practical classes will also have the project development component that puts into practice the contents of
this and other UCs, helping to consolidate the acquired knowledge. The third component of communicating results is
used for training, review and criticism, preparing students for larger projects.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas com uma componente expositiva. Aulas teórico-práticas com uma componente de demonstração, uma
componente de desenvolvimento de projeto e outra de comunicação.
Avaliação: distribuída sem exame final
Componentes de avaliação:
- Teste escrito sobre desenvolvimento de projetos (T1) com o peso de 40%.
- Avaliação por docentes e por pares dos resultados do projeto (60%)

Avaliação final: Média ponderada dos vários componentes. Caso tenha menos do que 6 a um dos componentes o
estudante reprova por falta de componente. O teste escrito pode ser repetido ou melhorado na época de recurso. Os
restantes componentes não são passíveis de melhoria.
Obtenção de frequência: número mínimo de presenças nas aulas teórico-práticas, ter mais do que zero a cada uma
das componentes de avaliação

4.4.7. Teaching methodologies (including students' assessment):


Theoretical classes with an expository component. Theoretical-practical classes with a demonstration component, a
project development component and a communication component.
Assessment: distributed without final exam
Evaluation components:
- Written test on project development (T1) with a weight of 40%.
- Evaluation by teachers and peers of the results of the project (60%)

Final evaluation: Weighted average of the various components. If there is less than 6 to one of the components, the
student fails for lack of component. The written test can be repeated or improved during the appeal period. The
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 64/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
remaining components are not subject to improvement.
Obtaining frequency: minimum number of attendance in theoretical-practical classes, having more than zero for each
of the evaluation components

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
A UC terá uma componente teórica onde se lecionam os conteúdos de desenvolvimento de projetos e de trabalho em
equipa. As aulas teórico-práticas terão ainda a componente de desenvolvimento de projeto que põe em prática os
conteúdos desta e de outras UC, ajudando a consolidar os conhecimentos adquiridos. A terceira componente de
comunicação de resultados serve para treino, revisão e crítica, preparando os estudantes para projetos de maior
envergadura.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The UC will have a theoretical component where the contents of project development and teamwork are taught. The
theoretical-practical classes will also have the project development component that puts into practice the contents of
this and other UCs, helping to consolidate the acquired knowledge. The third component of communicating results is
used for training, review and criticism, preparing students for larger projects.

4.4.9. Bibliografia de consulta/existência obrigatória:


AI Blueprints: How to build and deploy AI business projects, Joshua Eckroth
Provost, F., & Fawcett, T. (2013). Data Science for Business: What you need to know about data mining and data-
analytic thinking. “ O’Reilly Media, Inc.”
Sharma, S., Osei-Bryson, K.-M., & Kasper, G. M. (2012). Evaluation of an integrated Knowledge Discovery and Data
Mining process model. Expert Systems with Applications, 39(13), 11335–11348.
Mariscal, G., Marbán, Ó., & Fernández, C. (2010). A survey of data mining and knowledge discovery process models
and methodologies. The Knowledge Engineering Review, 25(02), 137–166
Alnoukari, M., Alzoabi, Z., & Hanna, S. (2008). Applying adaptive software development (ASD) agile modeling on
predictive data mining applications: ASD-DM methodology. In 2008 International Symposium on Information
Technology (pp. 1–6). IEEE.

Mapa IV - Modelação e Otimização

4.4.1.1. Designação da unidade curricular:


Modelação e Otimização

4.4.1.1. Title of curricular unit:


Modeling and Optimization

4.4.1.2. Sigla da área científica em que se insere:


M

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28TP

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
João Pedro Pedroso Ramos Santos (14T+28TP) Sílvio Marques de Almeida Gama (14T+112TP)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 65/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


1. Aprender a formular matematicamente um problema de otimização;
2. Estudar os principais problemas de otimização relevantes;
3. Ganhar sensibilidade para a dificuldade teórica e prática (computacional) da resolução desses problemas;
4. Estudo de modelos de otimização subjacentes ao funcionamento de métodos de aprendizagem automática.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
1. Learn to formulate an optimization problem mathematically;
2. Study the main relevant optimization problems;
3. Gain sensitivity to the theoretical and practical (computational) difficulty in solving these problems;
4. Study of optimization models underlying the operation of machine learning methods.

4.4.5. Conteúdos programáticos:


1. Otimização em diferentes tipos de aprendizagem
2. Aprendizagem estatística, minimização empírica do risco
3. Modelos formais de otimização para aprendizagem
4. Otimização para preditores lineares
5. Problemas de aprendizagem convexos
6. Descida de gradiente e variantes
7. Otimização para maximização da margem
8. Otimização em métodos de kernel
9. Modelos de otimização inteira para árvores de decisão ótimas

4.4.5. Syllabus:
1. Optimization on different types of Learning
2. Statistical learning, empirical risk minimization
3. Formal optimization models for learning
4. Optimization for linear predictors
5. Convex learning problems
6. Gradient descent and variants
7. Optimization for margin maximization
8. Optimization in kernel methods
9. Integer optimization models for optimal trees

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
A aprendizagem automática atual depende muito de ferramentas de otimização, geralmente para minimizar funções de
perda em conjuntos de treino. A finalidade desta UC é cobrir o contexto teórico subjacente, envolvendo métodos de
otimização e aspetos computacionais. Os pontos 1 a 3 do programa abordam a formulação matemática de problemas
de otimização e cobrem o objetivo 1. Os pontos 4 a 6 permitem estudar, tanto do ponto de vista conceptual como
computacional, os problemas de otimização mais relevantes para aprendizagem automática, cobrindo assim os
objetivos 2 e 3. Modelos de otimização específicos para aprendizagem automática são estudados nos pontos 7 a 9 do
programa, assegurando assim o objetivo 4.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
Current machine learning relies heavily on optimization tools, usually to minimize loss functions in training sets. The
purpose of this course is to cover the underlying theoretical context, involving optimization methods and
computational aspects. Points 1 to 3 of the program address the mathematical formulation of optimization problems
and cover objective 1. Points 4 to 6 allow to study, both from a conceptual and computational point of view, the most
relevant optimization problems for learning automatic, thus covering objectives 2 and 3. Specific optimization models
for automatic learning are studied in points 7 to 9 of the program, thus ensuring objective 4.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas: exposição teórica.
Aulas teórico-práticas: resolução computacional aplicando os modelos e métodos lecionados.

Avaliação da aprendizagem:
Testes escritos para dispensa de exame final: 100%
Exame final: 100%

4.4.7. Teaching methodologies (including students' assessment):


Lectures: Exposition of the theory.
Labs: Computational application of the models and methods taught.

Grading:
Written exam (100%) or two written intermediate tests (100%).

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

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 66/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Sendo o objetivo principal da unidade curricular a aprendizagem da teoria subjacente à aprendizagem automática, as
aulas teóricas fornecem o veículo principal para a transmissão de conhecimentos. As aulas teórico práticas permitem
avaliar computacionalmente o comportamento desses métodos em aplicações.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Since the main objective of the course is learning the theory underlying machine learning, theoretical classes provide
the main vehicle for the transmission of knowledge. Practical classes allow to computationally evaluate the behavior of
these methods in applications

4.4.9. Bibliografia de consulta/existência obrigatória:


● Shalev-Shwartz, S., & Ben-David, S. (2014). Understanding machine learning: From theory to algorithms. Cambridge
university press, ISBN 978-1-107-05713-5. https://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/
● Boyd, S., Boyd, S. P., & Vandenberghe, L. (2004). Convex optimization. Cambridge university press, ISBN 0-521-
83378-7. http://web.stanford.edu/~boyd/cvxbook/
● Bubeck, S., 2014. Convex optimization: Algorithms and complexity. arXiv preprint arXiv:1405.4980.

Mapa IV - Análise e Processamento Digital de Sinal

4.4.1.1. Designação da unidade curricular:


Análise e Processamento Digital de Sinal

4.4.1.1. Title of curricular unit:


Digital Signal Processing

4.4.1.2. Sigla da área científica em que se insere:


M

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28TP

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
André Ribeiro da Silva de Almeida Marçal (28 T+56 TP)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Fundamentos da Análise e Processamento de Sinal, do ponto de vista determinístico e estocástico, incidindo
sobretudo na análise no domínio da frequência. Cobertura dos aspetos fundamentais da estimação espectral não
paramétrica. Compreensão dos conceitos e métodos e a sua utilização efetiva na análise de dados simulados e
experimentais.
No final do semestre os estudantes devem conhecer os fundamentos de Processamento Digital de Sinal, em particular
na análise no domínio da frequência, e serem capazes de:1. Manipular com à vontade os fundamentos de sinais e
sistemas.2. Conhecer as propriedades e aplicar as diferentes transformadas estudadas.3. Descrever as propriedades
de um sinal ou de um sistema linear (domínios do tempo e frequência).4. Descrever e analisar o efeito de amostragem
de um sinal e inferir as suas implicações quando aplicado a sinais reais.5. Implementar filtros FIR e IIR e analisar o seu
efeito de forma crítica.6. Aplicar o Matlab na análise de sinais e sistemas.

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 67/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Fundamentals of Signal Processing, either in a deterministic or stochastic point of view, with a special emphasis in the
frequency domain. Coverage of non parametric spectral estimation. Comprehension of concepts and methods and its
effective use in the analysis of computer simulated and experimental data.
At the end of the semester, the students should be familiar with the fundamentals of Digital Signal Processing,
particularly the analysis in the frequency domain, and being able to:1. Manipulate with ease the fundaments
fundamentals of signals and systems.2. Know the properties and how to use the various transforms studied.3.
Describe the properties of a signal and a linear system (in the time and frequency domain).4. Describe and analyse the
effect of sampling a signal, and the consequent implication in what regards real signals.5. Implement FIR and IIR filters
and analyse their effects in a critical way.6. Use Matlab for the analysis of signals and systems.

4.4.5. Conteúdos programáticos:


I. INTRODUÇÃO - Introdução e Motivação para a disciplina.
II. SINAIS, SISTEMAS, TRANSFORMADAS E APLICAÇÕES- Sinais e Sistemas: conceitos fundamentais numa
perspetiva determinista. - Série de Fourier. Transformada de Fourier, sinais periódicos /não periódicos, funções
generalizadas - Análise de sinais e sistemas nos domínios tempo e frequência.- Amostragem de sinais em tempo
contínuo- Aplicações a dados de simulação e experimentais
III. PROCESSAMENTO DE SINAL EM TEMPO DISCRETO- Transformada Z: propriedades e utilização na análise de
sistemas.- Filtragem FIR e IIR – implementação e análise.- Introdução à análise espectral.

4.4.5. Syllabus:
I. INTRODUCTION - Introduction and motivation for the course.
II. SIGNALS AND SYSTEMS, TRANSFORMS AND APLICATIONS- Signals and systems: fundamental concepts in a
deterministic point of view. - Fourier Series. Fourier Transform, periodic / non-periodic signals, generalized functions. -
Signal and system analysis in the time and frequency domains.- Continuous signals sampling- Applications to
synthetic and experimental data
III. PROCESSAMENTO DE SINAL EM TEMPO DISCRETO- Z Transform: properties and its use in system analysis.-
Digital filters (IIR and FIR) – implementation and analysis.- Introduction to spectral analysis.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
A disciplina inclui aulas teóricas (T) e Teórico-Práticas (TP). As aulas teóricas são usadas para apresentação da
matéria, ilustrada com exemplos variados. As aulas Teórico-Práticas (TP) são orientadas para a resolução de
problemas e projecto, com uma forte componente de computação laboratorial em ambiente MATLAB (Matlab - Signal
processing Toolbox).
Os trabalhos práticos contêm uma variedade de exercícios propostos, usando dados simulados e experimentais.
Estes exercícios cobrem a gama de tópicos e métodos apresentados na disciplina, tendo vários níveis de dificuldade.
O nível de autonomia esperado dos estudantes é também variado (crescente), o que deverá conduzir à obtenção dos
objetivos da disciplina no final do semestre.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The course includes classes for theory (T) and theory-practice (TP). The classes of type T are used for the presentation
of concepts and methods, illustrated with a variety of examples. The classes of type TP are used for the resolution of
problems and projects, with a strong computational component in a laboratorial environment using MATLAB (Matlab -
Signal processing Toolbox).
The practical assignment contain a variety of proposed exercises, using both synthetic and experimental data. These
exercises cover the range of topics and methods presented in the course, and have various levels of difficulty. The
level of autonomy expected from the student is also varied (increasing), which should lead to the achievement of the
course objectives in the end of the semester.

4.4.7. Metodologias de ensino (avaliação incluída):


A disciplina inclui aulas teóricas (T) e Teórico-Práticas (TP). As aulas teóricas são usadas para apresentação da
matéria, ilustrada com exemplos variados. As aulas Teórico-Práticas (TP) são orientadas para a resolução de
problemas e projeto, com uma forte componente de computação laboratorial em ambiente MATLAB (Matlab - Signal
processing Toolbox).
Tipo de Avaliação: Avaliação distribuída com exame final
Condições de Frequência: A frequência na disciplina exige a realização de trabalhos práticos / projetos, com entrega
dos respetivos programas / scripts / relatórios dentro dos prazos fixados (min 8 valores na escala 0-20). Os estudantes
poderão ser submetidos a uma prova oral relacionada com os trabalhos práticos.
Fórmula de avaliação: A classificação final será determinada com base no desempenho na componente contínua
(40%) e no exame final (60%), não podendo nenhuma destas componentes ser inferior a 40% da cotação
correspondente (8 valores na escala 0-20).

4.4.7. Teaching methodologies (including students' assessment):


The course includes classes for theory (T) and theory-practice (TP). The classes of type T are used for the presentation
of concepts and methods, illustrated with a variety of examples. The classes of type TP are used for the resolution of
problems and projects, with a strong computational component in a laboratorial environment using MATLAB (Matlab -
Signal processing Toolbox).
Type of evaluation: Avaliação distribuída com exame final
Terms of frequency: The course attendance has a compulsory component of practical assignments / projects, with
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 68/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
corresponding submission of programs / scripts / reports required within the fixed schedules (min. 8 out of 20 marks).
The students may have to perform an oral examination regarding the practical assignments.
Formula Evaluation: The final course mark will be based on the assignment component (40%) and the final exam (60%),
with both having to reach a minimum level of 40% (8 marks on a 0-20 scale).

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
A disciplina inclui aulas teóricas (T) e Teórico-Práticas (TP). As aulas teóricas são usadas para apresentação da
matéria, ilustrada com exemplos variados. As aulas Teórico-Práticas (TP) são orientadas para a resolução de
problemas e projeto, com uma forte componente de computação laboratorial em ambiente MATLAB (Matlab - Signal
processing Toolbox).
Os trabalhos práticos contêm uma variedade de exercícios propostos, usando dados simulados e experimentais.
Estes exercícios cobrem a gama de tópicos e métodos apresentados na disciplina, tendo vários níveis de dificuldade.
O nível de autonomia esperado dos estudantes é também variado (crescente), o que deverá conduzir à obtenção dos
objetivos da disciplina no final do semestre.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The course includes classes for theory (T) and theory-practice (TP). The classes of type T are used for the presentation
of concepts and methods, illustrated with a variety of examples. The classes of type TP are used for the resolution of
problems and projects, with a strong computational component in a laboratorial environment using MATLAB (Matlab -
Signal processing Toolbox).
The practical assignment contain a variety of proposed exercises, using both synthetic and experimental data. These
exercises cover the range of topics and methods presented in the course, and have various levels of difficulty. The
level of autonomy expected from the student is also varied (increasing), which should lead to the achievement of the
course objectives in the end of the semester.

4.4.9. Bibliografia de consulta/existência obrigatória:


Mitra, S. K. (2006). Digital signal processing: A computer based approach. Boston: McGraw-Hill Higher Education.

Proakis, J. G.; Manolakis, D. G. (1996). Digital Signal Processing: Principles, Algotithms, and Applications. New Jersey
(Estados Unidos): Prentice Hall.
Oppenheim, A. V.; Schafer, R. W. (1989). Discrete-time signal processing. Englewood Cliffs, NJ: Prentice-Hall
International.

Bibliografia Complementar
Cadzow, J. A. (1987). Foundations of digital signal processing and data analysis. New York: Macmillan.

Hsu, H. P. (1970). Fourier analysis. New York: Simon and Schuster.

Mapa IV - Eletrónica Digital e Circuitos

4.4.1.1. Designação da unidade curricular:


Eletrónica Digital e Circuitos

4.4.1.1. Title of curricular unit:


Digital Electronics and Circuits

4.4.1.2. Sigla da área científica em que se insere:


FIS

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28TP

4.4.1.6. ECTS:
6

4.4.1.7. Observações:

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 69/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Manuel António Salgueiro da Silva (28 T, 56 TP)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


A Eletrónica Digital é a base fundamental de todos os dispositivos eletrónicos modernos. Pretende-se transmitir aos
estudantes os conhecimentos básicos para o design de circuitos lógicos combinacionais e sequenciais habitualmente
usados no processamento e controlo de sinais digitais.
No final da UC os estudantes deverão ser capazes de:
1. Identificar sinais elétricos analógicos e digitais;
2. Identificar os sistemas digitais mais comuns e explicar o seu funcionamento;
3. Converter números entre diferentes sistemas de representação numérica;
4. Descrever o funcionamento de portas lógicas digitais;
5. Aplicar a álgebra Booleana para exprimir operações lógicas;
6. Usar mapas de Karnaugh para simplificar expressões Booleanas;
7. Identificar circuitos lógicos combinacionais e sequenciais e explicar o seu funcionamento.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Digital electronics is the fundamental foundation of all modern electronic devices. The course aims at providing
students with basic knowledge for the design of combinational and sequential logic circuits commonly used in the
processing and control of digital signals.
Upon completion of the course, students should be able to:
1. Identify analog and digital electrical signals;
2. Identify the most common digital systems and explain their operation;
3. Convert numbers between different numerical representation systems;
4. Describe the operation of digital logic gates;
5. Apply Boolean algebra to express logical operations;
6. Use Karnaugh maps to simplify Boolean expressions;
7. Identify combinational and sequential logic circuits and explain their operation.

4.4.5. Conteúdos programáticos:


1. Introdução à Eletrónica Digital
2. Sistemas de representação numérica
3. Códigos binários
4. Álgebra booleana e portas lógicas
5. Simplificação de circuitos lógicos
6. Conversão de códigos
7. Aritmética binária e circuitos aritméticos
8. Circuitos lógicos sequenciais
9. Memória de computador
10. Outros dispositivos e técnicas digitais

4.4.5. Syllabus:
The syllabus of this course includes:
1. Introduction to Digital Electronics
2. Numerical representation systems
3. Binary codes
4. Boolean algebra and logic gates
5. Simplification of logic circuits
6. Conversion of codes
7. Binary arithmetic and arithmetic circuits
8. Sequential logic circuits
9. Computer memory
10. Other digital devices and techniques

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
O conteúdo programático apresentado permite cobrir os tópicos mais importantes em eletrónica digital e nas suas
aplicações tecnológicas. Para além da análise qualitativa e quantitativa dos diversos tipos de circuitos lógicos
estudados, é dada particular relevância à apresentação de exemplos de aplicação prática dos mesmos.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 70/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
The course syllabus covers the most important topics in digital electronics and its technological applications. In
addition to the qualitative and quantitative analysis of the various types of logic circuits studied, particular relevance is
given to the presentation of examples of their practical application.

4.4.7. Metodologias de ensino (avaliação incluída):


Os conteúdos programáticos são lecionados em aulas teóricas, juntamente com exemplos ilustrativos. As aulas
teórico-práticas são destinadas à resolução de exercícios sobre a matéria lecionada nas aulas teóricas.
Tanto nas aulas teóricas como teórico-práticas, os estudantes são estimulados a participar com questões ou dúvidas
sobre a matéria abordada de forma interativa com recurso à utilização de quadro branco.
Esta participação dos estudantes é fundamental não apenas como instrumento de aprendizagem ativa mas também
como fator de motivação para o estudo continuado ao longo do semestre.
Os conteúdos didáticos, incluindo resoluções de problemas de aulas teórico-práticas, serão disponibilizados na
plataforma Moodle. Para resolução de dúvidas, será aberto um fórum de discussão na plataforma Moodle.
A avaliação é feita por exame final, com base num conjunto de exercícios representativo dos conteúdos programáticos
lecionados.

4.4.7. Teaching methodologies (including students' assessment):


The syllabus contents are taught in lectures, together with illustrative examples. Problem solving classes are aimed at
solving exercises on the lectured subjects.
Both in lectures and problem solving classes, students are encouraged to participate with questions or doubts about
the subjects addressed in an interactive way using the whiteboard. Students' participation is fundamental not only as
an instrument of active learning but also as a motivating factor for continued study throughout the semester.
Didactic contents, including problem solutions, will be made available on the Moodle platform. For resolving doubts, a
discussion forum will be created on the Moodle platform.
The assessment is made by a final exam, which includes a set of exercises representative of the lectured subjects.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As metodologias de ensino adotadas nas aulas teóricas e teórico-práticas são complementares e visam reforçar a
aprendizagem através da combinação da exposição oral dos conteúdos e exemplos de aplicação com a resolução de
problemas.
Sendo a formação multifacetada com componentes de raciocínio formal na definição das funções lógicas dos circuitos
digitais estudados e de raciocínio prático no desenho e implementação dos mesmos, o incentivo à participação ativa
dos estudantes durante as aulas é crucial para uma aprendizagem ativa e efetiva da matéria lecionada.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The teaching methodologies adopted in the lectures and problem solving classes are complementary and aim to
reinforce learning through the combination of oral exposure of the contents and examples of application with problem
solving.
Since the training is multifaceted with components of formal reasoning in the definition of the logical functions of the
studied digital circuits and of practical reasoning in their design and implementation, the incentive to the active
participation of students during classes is crucial for an active and effective learning of the taught material.

4.4.9. Bibliografia de consulta/existência obrigatória:


Floyd, T. L. (2015), "Digital Fundamentals", 11th edition, Pearson Education Limited. ISBN: 1-292-07598-8.
Leach, D. P., Malvino, A. P., Saha, G. (2011), "Digital Principles and Applications", 7th edition, Tata McGraw-Hill
Education.
Tokheim, R. L. (1994), "Schaum's Outline of Digital Principles", 3rd edition, McGraw-Hill Education.
Horowitz Paul, W. H. (2015), "The art of electronics". Cambridge University Press, 3rd edition. ISBN-10: 9780521809269.

Mapa IV - Interação Pessoa Máquina

4.4.1.1. Designação da unidade curricular:


Interação Pessoa Máquina

4.4.1.1. Title of curricular unit:


Human-Machine Interfaces

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 71/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Verónica Costa Teixeira Pinto Orvalho (28 T+56 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Os estudantes deverão dominar os conceitos base de criação e desenvolvimento de Interfaces Pessoa-Máquina,
nomeadamente, sistemas interativos. Em particular a nível de conceitos teóricos (usabilidade, desenho centrado no
utilizador) e práticos (prototipagem de baixa e de alta fidelidade, através da implementação de interfaces gráficas).

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Students should master the basic concepts of creating and developing Person-Machine Interfaces, namely, interactive
systems. In particular at the level of theoretical concepts (usability, user-centered design) and practical (low and high
fidelity prototyping, through the implementation of graphical interfaces).

4.4.5. Conteúdos programáticos:


Interação Pessoa-Máquina: introdução, história e marcos fundamentais.

Modelo do Processador Humano: perceção, atenção e memória. Velocidades e limites. Ligação com a interação com
máquinas como uma extensão do corpo humano.

Conceitos fundamentais sobre o processo de design.

Modelos mentais sobre interação.

Engenharia da usabilidade: definição de problemas, ciclo de desenvolvimento, avaliação, prototipagem. Prototipagem


de alta e baixa fidelidade. Modelos verticais e horizontais.

4.4.5. Syllabus:
Human-Computer Interaction: introduction, history and important achievements.
The Human Processor Model: perception, attention, and memory. Velocities and limits. Links to interaction with
machines as an extension of the human body.
Fundamental concepts about the design process.
Mental models based on interaction.
Usability engineering: problem definition, development cycle, evaluation, prototyping. High and low-fidelity
prototyping. Vertical and horizontal models.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os três primeiros itens dos conteúdos programáticos servem para criar no estudante a sensibilidade necessária para
os conceitos de usabilidade e de desenho centrado no utilizador, fornecendo-lhe uma linguagem científica adequada.
Os dois itens seguintes lidam com os aspetos mais práticos do desenvolvimento de sistemas interativos, cumprindo
assim o segundo objetivo principal desta unidade curricular.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The first three items of the syllabus will create the adequate sensitivity in the student for the concepts of usability and
user-centered design. The two following items deal with the more practical issues regarding the design and
development of interactive systems, thus meeting the second main objective of this curricular unit.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas (T): Apresentação dos conteúdos. Discussão de exemplos ilustrativos destes.
Aulas práticas laboratoriais (PL): Demonstração prática dos conteúdos dados nas aulas teóricas. Resolução de
problemas. Discussão de dúvidas dos estudantes
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 72/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
A avaliação é distribuída e baseada em 3 componentes:
– Trabalho /prático escrito (25%)
– Trabalho prático de projeto (25%)
– Exame escrito (50%)

4.4.7. Teaching methodologies (including students' assessment):


Theory Lectures (T): Scientific content presentation. Discussion of illustrative examples.
Practical Lectures (P): Demonstration of the contents taught in the theory lectures. Problem solving. Questions and
coursework support.
Evaluation is distributed and based on 3 components:
– Coursework - Report (25%)
– Coursework - Prototype (25%)
– Individual written exam (50%)

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As metodologias de ensino estão em coerência com os objetivos de aprendizagem dado que:
- As aulas teóricas permitem uma exposição dos conteúdos programáticos adequada ao público-alvo, ajudadas por
uma utilização constante de exemplos;
- As aulas práticas laboratoriais permitem consolidar os conhecimentos adquiridos nas teóricas, bem como dar
experiência real de uso das várias metodologias estudadas.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The teaching methodologies are coherent with the learning outcomes since:
- The theoretical classes allow an exposition of the syllabus components that is adequate to the target audience,
supported by constant practical examples;
- The practical classes allow a consolidation of the acquired knowledge, as well as some real experience about the
various studied methodologies;

4.4.9. Bibliografia de consulta/existência obrigatória:


● D. Norman, “The Design of Everyday Things”, Basic-Books, 2002
● Jenny Preece, Helen Sharp, Yvonne Rogers; “Interaction Design: Beyond Human-Computer Interaction”, John Wiley
& Sons Inc, 2015.
● Greenberg, Carpendale, Marquardt, Buxton;Sketching User Experiences: The Workbook. ISBN: 978-0-12-381959-8

Mapa IV - Mecânica

4.4.1.1. Designação da unidade curricular:


Mecânica

4.4.1.1. Title of curricular unit:


Mechanics

4.4.1.2. Sigla da área científica em que se insere:


FIS

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28TP

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 73/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
João Manuel Borregana Lopes dos Santos (28T + 28TP)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Os estudantes deverão demostrar conhecimento dos conceitos e princípios básicos da mecânica clássica, e da
relatividade restrita, com ênfase na compreensão e na aplicação ao mundo real. Os estudantes deverão ter a
capacidade de manipular conceitos fundamentais e saber aplicá-los à análise de situações concretas do mundo real.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Students should demonstrate knowledge of the basic concepts and principles of classical mechanics, and special
relativity, with an emphasis on understanding and application to the real world. Students should be able to manipulate
fundamental concepts and know how to apply them to the analysis of concrete real world situations.

4.4.5. Conteúdos programáticos:


1. A Mecânica Newtoniana no Contexto da Física Contemporânea.
2. Grandezas, medições, unidades e dimensões. Análise dimensional
3. Descrição do movimento.
4. Leis de Newton. Problema fundamental da Mecânica. Leis de Força. Equações de movimento. Referência a métodos
numéricos de integração. Forças como interações. Exemplos de movimentos: aceleração constante, movimentos com
amortecimento, oscilador harmónico simples, movimentos curvilíneos. Movimentos com ligações.
5. Leis de conservação, Energia e momento. Energia e trabalho. Energia Potencial. Colisões elásticas, inelásticas e
coeficiente de restituição.
6. Sistemas de partículas: Centro de massa (CM). Colisões no referencial do CM. Energia no referencial do CM
7. Momento angular e momento de uma força.
8. Lei da Gravitação Universal, leis de Newton e leis de Kepler. Órbitas.
9. Referenciais inerciais e não inerciais. Relatividade. Espaço e tempo relativista. Diagramas de espaço tempo.

4.4.5. Syllabus:
1. Newtonian mechanics in a contemporary physics context.
2. Magnitudes , measurements, units and dimensions. Dimensional analysis
3. Description of the motion
4. Newton's laws. Fundamental problem of mechanics. Force laws. Equations of motion . Reference to numerical
integration methods. Forces and interactions. Examples of motion: constant acceleration, motion with damping ,
simple harmonic oscillator, curvilinear movements. Movements with constraints.
5. Conservation laws, energy and momentum. Energy and work . Potential Energy. Elastic, inelastic collisions and
coefficient of restitution.
6. Systems of particles : Center of mass ( CM ). Collisions in the CM frame. Energy in the CM reference
7. Angular momentum and moment of a force.
8. Law of Universal Gravitation, Newton's and Kepler's laws. Orbits.
9. Inertial and non inertial frames. Relativity. Relativistic Space-time . Space-time diagrams.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos são a base da Mecânica Newtoniana e o objetivo da Unidade é precisamente familiarizar os estudantes
com o quadro de conceitos de análise de situações reais característicos da Mecânica Newtoniana. No final do curso,
motivados pelas discussão de mudança de referenciais, os estudantes exercitam a sua agilidade mental e capacidade
de reflexão sobre a realidade com uma introdução à Relatividade Restrita com ênfase nos conceitos de espaço-tempo.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The contents are the basis of Newtonian mechanics and the purpose of the unit is, precisely, to familiarize students
with the framework of Newtonian mechanics in approaching real world situations . At the end of the course, motivated
by discussions of refrerence frames, students exercise their mental agility and ability to reflect on the reality, with an
introduction to special relativity, with emphasis on the concepts of space-time.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas de exposição participada dos conceitos, posteriores a leituras obrigatórias; quizzes com sistemas de
resposta automática em teórica. Aulas de discussão em grupo de problemas de operacionalização dos conceitos na
modelização de situações fisicamente credíveis (teórico-práticas). Atividades de avaliação formativa em todas as aulas
TP. Opção de avaliação contínua: dois testes, dois trabalhos de casa, avaliação em TPs por grupos com auto e hetero
avaliação de pares e Quizzes na Teórica; ou avaliação por exame final. O estudante pode usar ambas as alternativas
de avaliação, sendo classificado com a melhor das suas avaliações.

4.4.7. Teaching methodologies (including students' assessment):


Lectures after mandatory readings; quizzes with automatic response systems in lecture. Classes of group discussion
of problems of concept operationalization, and of modeling of physically credible situations (Theory-Practical Classes,
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 74/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
TP). Formative evaluation in all TP classes. Option for ongoing evaluation: two tests, two homeworks, evaluation in
TPs by groups with auto and hetero evaluation of peers and Quizzes in lectures ; or final examination evaluation.
The student can use the both assessment alternatives, being graded with the best of two assessments.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Lectures after mandatory readings; quizzes with automatic response systems in lecture. Classes of group discussion
of problems of concept operationalization, and of modeling of physically credible situations (Theory-Practical Classes,
TP). Formative evaluation in all TP classes. Option for ongoing evaluation: two tests, two homeworks, evaluation in
TPs by groups with auto and hetero evaluation of peers and Quizzes in lectures ; or final examination evaluation.
The student can use the both assessment alternatives, being graded with the best of two assessments.
Nas aulas Teóricas (T) , os alunos são muitas vezes questionados, a fim de evidenciar suas próprias conceções e
confrontá-los com a análise científica. Os questionários exigem a sua atenção e permitem que eles se mantenham
concentrados durante a hora de aula. As aulas teórico-práticas (TP) confrontam os estudantes com a necessidade de
operacionalizar os conceitos no contexto de uma situação física concreta. As discussões em grupo e a avaliação
formativa favorecem uma postura ativa de aprendizagem. A natureza diversificada das atividades de avaliação , ajusta-
se à diversidade de competências e comportamentos dos estudantes.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
In lectures students are often questioned , in order to bring out their own conceptions and confront them with the
scientific analysis. Quizzes engage their attention and allow them to keep concentrated during the hour long lecture
session. The problem classes confront the students with the need to operationalize the concepts in the context of a
concrete physical situation. The group discussions and the formative evaluation engage students in an active learning
stance. The diversified nature of evaluations activities, fits with the diversity of students abilities and behaviors.

4.4.9. Bibliografia de consulta/existência obrigatória:


Notas do cursos (J M B Lopes dos Santos não publicadas) ´
António Jorge Silvestre e Paulo Ivo Cortez Teixeira (2013); Mecânica: uma introdução, Edições Colibri/Instituto
Politécnico de Lisboa. ISBN: 978-989-689-295-1
Serway Raymond A. , Jewett, John W; (2013) Physics for scientists and engineers with modern physics, 9th ed. ISBN-
13: 978-1133954057 (Pode ser substituído por obras semelhantes: Tipler, Halliday & Resnick, etc. 1000 c

Mapa IV - Métodos de Apoio à Decisão

4.4.1.1. Designação da unidade curricular:


Métodos de Apoio à Decisão

4.4.1.1. Title of curricular unit:


Decision Support Methods

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
João Pedro Pedroso (28 T + 56 PL)

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 75/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Pretende-se que os estudantes:
1. Se familiarizem com os principais problemas de decisão e otimização.
2. Aprendam a formalizar modelos de otimização em programação matemática.
3. Dominem alguns métodos utilizados para a sua resolução.
4. Se familiarizem com linguagens e bibliotecas existentes para resolução de problemas de decisão.
5. Desenvolvam aptidões para avaliar a complexidade computacional de problemas.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
1. Become familiar with the main decision and optimization problems.
2. Learn how to formalize optimization models in mathematical programming.
3. Master some methods used for their resolution.
4. Become familiar with existing languages and libraries for problem solving.
5. Develop skills to assess the computational complexity of problems.

4.4.5. Conteúdos programáticos:


1. Introdução à investigação operacional.
2. Programação matemática: formulação e classificação de modelos.
3. Programação linear. Dualidade.
4. Otimização em grafos e redes.
5. Planeamento de projetos.
6. Otimização discreta.
7. Programação por restrições.
8. Breve introdução à programação não linear.
9. Breve introdução aos modelos probabilísticos.
10. Simulação.

4.4.5. Syllabus:
1. Introduction to operational research.
2. Mathematical programming: formulation and model classification.
3. Linear Programming. Duality.
4. Optimization in graphs and networks.
5. Project planning.
6. Discrete optimization.
7. Constraint programming.
8. Brief introduction to nonlinear programming.
9. Brief introduction to probabilistic models.
10. Simulation.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
A tomada de decisão científica envolve a utilização de modelos e métodos desenvolvidos na área de investigação
operacional. Os pontos 1, 2, 8 e 9 do programa abordam a formulação matemática de problemas de otimização e
cobrem os objetivos 1 e 2. O objetivo 3 proporciona o conhecimento dos princípios e propriedades dos principais
métodos utilizados em investigação operacional, sendo assegurados pelos pontos 3 a 7 e 10 do programa. Estes
mesmos pontos, sendo lecionados tendo em vista a utilização prática dos métodos, permitirão ao estudante
familiarizar-se com as ferramentas existentes para a sua resolução e aperceber-se da dificuldade inerente a certos
problemas, cobrindo assim os pontos 4 e 5 dos objetivos.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
Scientific decision-making involves the use of models and methods developed in the area of operational research.
Points 1, 2, 8 and 9 of the program address the mathematical formulation of optimization problems and cover
objectives 1 and 2. Objective 3 provides knowledge of the principles and properties of the main methods used in
operational research, being ensured by points 3 to 7 and 10 of the program. These same points, being taught with a
view to the practical use of the methods, will allow the student to become familiar with the existing tools for their
resolution and to realize the difficulty inherent to certain problems, thus covering points 4 and 5 of the objectives.

4.4.7. Metodologias de ensino (avaliação incluída):


● Aulas teóricas: exposição teórica com discussão de casos de estudo.
● Aulas práticas: resolução de problemas, acompanhamento dos projetos.
● Desenvolvimento e apresentação dos projetos práticos pelos estudantes.
● Testes (quizzes) dados nas aulas teóricas e/ou práticas (correção automática).

Avaliação da aprendizagem: Avaliação distribuída com exame final.


● Exame final: 60%

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 76/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
● Teste: 10%
● Trabalho prático ou de projeto: 30%

4.4.7. Teaching methodologies (including students' assessment):


● Lectures: theoretical exposition with discussion of case studies.
● Practical classes: problem solving, monitoring of projects.
● Development and presentation of practical projects by students.
● Tests (quizzes) given in theoretical and / or practical classes (automatic correction).

Evaluation type: Distributed evaluation with final exam. Grading:


● Final exam: 60%
● Test: 10%
● Practical/project work: 30%

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Sendo o objetivo principal da unidade curricular a aprendizagem da teoria e prática subjacentes à tomada de decisão,
as aulas teóricas fornecem o veículo principal para a transmissão de conhecimentos. As aulas práticas e os trabalhos
de projeto permitem avaliar computacionalmente o comportamento desses métodos em aplicações.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
As the main objective of the course is to learn the theory and practice underlying decision making, the theoretical
classes provide the main vehicle for the transmission of knowledge. Practical classes and project work allow the
computational evaluation of the behavior of these methods in applications.

4.4.9. Bibliografia de consulta/existência obrigatória:


● Hillier, F. S. (2012). Introduction to operations research. Tata McGraw-Hill Education, ISBN: 007337629.
● Winston, W. L., & Goldberg, J. B. (2004). Operations research: Applications and algorithms (4th ed.). Cengage
Learning, ISBN: 0534380581.
● Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms. MIT press, ISBN:
9780262033848.
● Rossi, F., Van Beek, P., & Walsh, T. (Eds.). (2006). Handbook of constraint programming. Elsevier, ISBN: 0-444-52726-
5.

Mapa IV - Programação Concorrente

4.4.1.1. Designação da unidade curricular:


Programação Concorrente

4.4.1.1. Title of curricular unit:


Concurrent Programming

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 77/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Rolando da Silva Martins (28 T + 56 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Ao completar a UC espera-se que o estudante seja capaz de:
• compreender os princípios fundamentais de concorrência e as problemáticas relacionadas com a concorrência e a
execução concorrente de programas;
• conhecer as especificidades das arquiteturas de memória partilhada relevantes para o desempenho de uma
aplicação concorrente, como o fluxo de dados e o processamento das instruções, o funcionamento da memória, e a
sincronização e coerência dos dados em memória;
• conhecer os princípios teóricos que fundamentam o desenho correto de uma aplicação concorrente, com ênfase nos
conceitos e aspetos formais da sincronização;
• estar familiarizado com as primitivas de sincronização existentes para o desenvolvimento de aplicações
concorrentes e ser capaz de modelar e implementar estruturas de dados, ferramentas e/ou aplicações concorrentes
correta e eficientemente, usando bibliotecas duma linguagem de programação para programação em memória
partilhada utilizando processos e/ou threads.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
At the end of the course, students are expected to:
• understand the fundamentals of concurrency, the key issues related with the execution of concurrent programs and
the specificities of modern shared memory architectures which are relevant to the performance of concurrent
programs.
• be able to apply the theoretical principles which guide a good and correct design of a concurrent program, with
particular emphasis on the concepts and formal aspects of synchronization.
• know the main synchronization primitives/libraries for the development of concurrent programs and be able to model
and implement concurrent data structures, programs and/or applications correctly and efficiently by using
primitives/libraries of modern programming languages for shared memory programming using processes and/or
threads.

4.4.5. Conteúdos programáticos:


• Conceitos básicos: tipos de arquiteturas e de aplicações concorrentes. Distinção entre concorrência e paralelismo,
entre programa sequencial e programa concorrente. Processos.
• Introdução aos modelos: abstração, especificação e modelação de sistemas; sistemas de transição etiquetados:
estados, ações atómicas, comportamento e equivalência; cálculo de processos como prefixo de ações, escolha,
composição, guardas. Modelos assíncronos e síncronos. Intercalação. Propriedades de correção: safety, liveness e
fairness.
• Princípios de sincronização: distinção entre comunicação e sincronização, e entre competição e cooperação.
Operações atómicas em hardware e em software. Requisito para a ocorrência de deadlocks. Inversão de prioridade.
Problemas clássicos.
• Primitivas de sincronização: diferentes abordagens de implementação.
• Programação com processos e com threads: implicações da utilização de processos multithreaded. Kernel threads.
Modelo de programação concorrente.

4.4.5. Syllabus:
• Basic concepts: types of competing architectures and applications. Distinction between competition and parallelism,
between sequential and concurrent programs. Processes.
• Introduction to models: abstraction, specification and modeling of systems; labeled transition systems: states,
atomic actions, behavior and equivalence; calculation of processes such as stock prefix, choice, composition, guards.
Asynchronous and synchronous models. Intercalation. Correction properties: safety, liveness and fairness.
• Synchronization principles: distinction between communication and synchronization, and between competition and
cooperation. Atomic operations in hardware and software. Requirement for deadlocks to occur. Priority inversion.
Classic problems.
• Synchronization primitives: different implementation approaches.
• Programming with processes and threads: implications of using multithreaded processes. Kernel threads.
Concurrent programming model.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os objetivos da aprendizagem são centrados no conhecimento dos princípios fundamentais de concorrência, na
modelação e na implementação de ferramentas e/ou aplicações concorrentes correta e eficientemente. O programa
inclui conceitos básicos, conceitos de modelação e verificação de propriedades, e conceitos sobre os principais
mecanismos de sincronização. São também propostas implementações utilizando programação com processos e
threads desses mecanismos de sincronização e conceitos avançados de programação concorrente.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The learning outcomes are focused on the fundamentals, modeling and implementation of concurrency. The syllabus
starts by introducing students to the fundamental theoretic principals of concurrency -- basic concepts of
concurrency, concepts of modeling and verification properties, and the introduction to the principles of

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 78/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
synchronization -- and then it focus on the practical aspects of concurrency -- primitives of synchronization and its
implementation using concurrent programming with processes and threads and using advanced concepts of
concurrent programming.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas de exposição dos tópicos do programa e aulas práticas laboratoriais para demonstração e
desenvolvimento de programas. Para a modelação serão usados simuladores de sistemas de transição ou máquinas
de estados.
Avaliação distribuída com exame final. A avaliação distribuída incluirá quer a modelação(AM) quer a implementação de
programas (AI). A nota final (NF) é obtida pela ponderação das notas da avaliação distribuídos e do exame final (EF)
segundo a fórmula NF = 4 * AM + 4 *AI + 12 * EF.

4.4.7. Teaching methodologies (including students' assessment):


Theoretical classes of exposition of the topics of the program and practical laboratory classes for demonstration and
development of programs. Transition system simulators or state machines will be used for modeling.
Distributed evaluation with final exam. Distributed evaluation will include both modeling (EM) and program
implementation (EI). The final grade(FG) is obtained by weighting the distributed assessment scores and final exam
(FE) as follows: FG = 4 * EM + 4 * EI + 12 * FE.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As metodologias usadas permitem que os estudantes adquiram os conceitos necessários para compreender os
princípios fundamentais de concorrência e as suas problemáticas e ser capaz de modelar e desenvolver programas
concorrentes de média dimensão. A avaliação distribuída incentiva o estudo continuado necessário para a
aprendizagem dos conceitos, capacidade de modelação e implementação de programas concorrentes.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The methodologies used allow students to acquire the concepts necessary to understand the fundamental principles
of concurrency and their problems and to be able to model and develop concurrent medium-sized programs.
Distributed assessment encourages the continuous study necessary for understanding the fundaments of
concurrency and be able to model and implement concurrent programs.

4.4.9. Bibliografia de consulta/existência obrigatória:


The Art of Multiprocessor Programming, Revised First Edition. Maurice Herlihy and Nir Shavit, Elsevier, 2012.
Foundations of Multithreaded, Parallel, and Distributed Programming. Gregory R. Andrews, Addison-Wesley, 2000.
CONCURRENCY : STATE MODELS & JAVA PROGRAMS, Magee, Jeff, Wiley (2nd edition) 2006
Introduction to Concurrency Theory, Roberto Gorrieri, Cristian Versari. Springer 2015
Understanding Concurrent Systems, A. W. Roscoe. Springer. 2010.
Concurrent Programming: Algorithms, Principles and Foundations. Michel Raynal. Springer. 2012

Mapa IV - Programação de Dispositivos Móveis

4.4.1.1. Designação da unidade curricular:


Programação de Dispositivos Móveis

4.4.1.1. Title of curricular unit:


Mobile Device Programming

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T + 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 79/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Rolando da Silva Martins (28 T+56 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Os estudantes estarão equipados para enfrentar os crescentes desafios e respetiva procura por programadores,
incluindo full-stack, frontend e DevOP. No final desta UC, os estudantes estarão aptos a:
- Conceção e implementação de aplicações móveis seguras
- Consciência sobre as implicações do novo GPDR, evitando alguns dos erros mais comuns em relação à privacidade
dos usuários
- Implementar aplicativos nativos e baseados em páginas da Web
Compreenda os compromissos implícitos entre desempenho, consumo de energia e segurança / privacidade

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
The students will be equipped to face the increasing demands for developers, including full-stack, frontend and DevOP.
In the end of this course the students will be to:
- Design and implement secure mobile applications
- Awareness of the implications of new GPDR, avoiding some of the common pittfalls regarding users’ privacy
- Implement native and webpage based applications
- Understand the implicit tradeoffs between performance, energy consumption and security/privacy

4.4.5. Conteúdos programáticos:


Esta UC visa abranger os seguintes conteúdos:
- Arquiteturas end-to-end para aplicações móveis, incluindo backend
- Breve descrição geral das modernas arquiteturas de computadores de smartphone, e.g. BiGLittle
- Aspetos de segurança da programação móvel, incluindo permissões e limitações para aceitação no Google Play
Store e na App Store da Apple.
- Introdução ao direito dos usuários à privacidade, incluindo o consentimento informado e o impacto do novo GPDR
(Regulamento Geral de Proteção de Dados)
- Além dos HTTP (s), uma introdução ao gRPC
- Ciclo de vida das aplicações
- Estruturas de aplicações móveis
- KeyChains
- Programação de baixo nível para performance e portabilidade usando C / C ++:
o JNI + NDK
o Objective-C callbacks
o Ijkplayer, um reprodutor de média portátil baseado em openssl + ffmpeg
- Notificações Push, Doze e preocupações energéticas
- Comunicações D2D:
o Wifi-Direct
o Bluetooth
o TDLS
- Wifi e 4G LTE

4.4.5. Syllabus:
This course aims to introduce the students to mobile programming for both Android and iOS:
- Overall end-to-end architecture for mobile apps, including backend
- Brief overview of modern computer architectures of smartphones, e.g. Biglittle
- Security aspects of mobile programming, including permissions and limitations for acceptance in Google Play Store
and Apple’s App Store.
- Introduction to the users’ right to privacy, including informed consent and the impact of the new GPDR (General Data
Protection Regulation)
- Beyond HTTP(s), an introduction to gRPC
- Apps’ lifecycle
- Mobile Application Frameworks
- KeyChains
- Low-level programming for speed and portability using C/C++:
o JNI + NDK
o Objective-C callbacks
o Ijkplayer, a media player based on openssl+ffmpeg
- Push Notifications, Doze and energy concerns
- D2D communications:
o Wifi-Direct
o Bluetooth
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 80/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
o TDLS
- Wifi and 4G LTE
- Profiling and Debugging: a desmitification

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os resultados da aprendizagem são centrados em torno da compreensão do projeto e implementação de aplicativos
móveis. O programa foca todos os aspetos mais relevantes dessas tecnologias, facilitando a compreensão dos
diferentes conceitos e a relação entre eles. Também inclui um componente de aplicação que permite aos estudantes
adquirir habilidades na criação e programação de sistemas baseados nesses conceitos.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The learning outcomes are centered around the understanding of the design and implementation of mobile
applications. The syllabus covers all the most relevant aspects of these technologies, facilitating the understanding of
the different concepts and the relationship between them. It also includes an application component that allows
students to gain skills in creating and programming systems based on these concepts.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas abrangendo o programa, incluindo demonstrações e um trabalho de laboratório. A avaliação é distribuída com
exame final. A nota final é obtida a partir do exame final (70%) e da classificação do trabalho prático (30%), incluindo
um relatório e uma demonstração.

4.4.7. Teaching methodologies (including students' assessment):


Lectures covering the syllabus, including small demos, and a lab assignment. Assessment is distributed with final
exam. The final grade is obtained from tests/exam, and from the grading of the assignment, including a report and a
demo.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Os resultados de aprendizagem são centrados em torno da compreensão de APIs e frameworks de programação
móvel, bem como sobre sua utilização para implementar aplicativos móveis. A exposição dos tópicos e as
demonstrações nas palestras proporcionam aos estudantes uma compreensão dos processos internos e dos
ecossistemas Android e iOS. O trabalho prático irá proporcionar novo know-how na conceção e implementação de
serviços baseados nessas tecnologias.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The learning outcomes are centered around the understanding of mobile programming APIs and frameworks, as well
as on their use for implementing mobile applications. The exposition of the topics and the demos in the lectures afford
the students an understanding of the inner works of both Android and iOS ecosystems. The lab assignment provides
them with skills in the design and implementation of services based on those technologies.

4.4.9. Bibliografia de consulta/existência obrigatória:


Programming iOS 9: Dive Deep into Views, View Controllers, and Frameworks, O'Reilly Media; 1 edition (December 12,
2015)

Android Programming, Big Nerd Ranch Guides; 3 edition (February 9, 2017)

Mapa IV - Projeto-Estágio de Inteligência Artificial e Ciência de Dados

4.4.1.1. Designação da unidade curricular:


Projeto-Estágio de Inteligência Artificial e Ciência de Dados

4.4.1.1. Title of curricular unit:


Project-Internship of Artificial Intelligence and Data Science

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


324

4.4.1.5. Horas de contacto:


https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 81/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
8 OT

4.4.1.6. ECTS:
12

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Alípio Mário Guedes Jorge (8 OT)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


Luis Filipe Pinto de Almeida Teixeira (8 OT)
Maria Cristina de Carvalho Alves Ribeiro (8 OT)
Rolando da Silva Martins (8 OT)
Fernando Manuel Augusto da Silva (8 OT)
Gabriel de Sousa Torcato David (8 OT)
Inês Castro Dutra (8 OT)
Miguel Tavares Coimbra (8 OT)
Pedro Gabriel Dias Ferreira (8 OT)
Ricardo Santos Morla (8 OT)
Álvaro Pedro de Barros Borges Reis Figueira (8 OT)

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Nesta UC o estudante pode optar por um Projeto Científico, ou por um Estágio integrado em empresa.

O estágio proporciona aos estudantes a capacidade para enfrentarem os desafios de um mercado trabalho
competitivo e o seu enriquecimento curricular tendo em vista a sua integração profissional junto das empresas nas
áreas de IA e CD.
Durante o estágio os estudantes deverão ser capazes de: 1. integrar-se nos processos de trabalho da empresa; 2.
aplicar os conhecimentos adquiridos no ciclo de estudos na análise e na resolução de problemas de IA e CD da
empresa.
O projeto proporciona aos estudantes a capacidade para aprofundarem um tópico de investigação e o seu
enriquecimento curricular tendo em vista a sua formação científica em IA e CD.
Durante o projeto os estudantes deverão ser capazes de: 1. compreender um problema de investigação de IA e/ou CD;
2. aplicar com crescente autonomia o método científico e os conhecimentos adquiridos no ciclo de estudos na análise
e abordagem ao problema.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
In this UC the student can choose to carry out a scientific project, or an integrated internship in a company.
The internship aims to provide students with the ability to face the challenges of a competitive job market and promote
students' curricular enrichment with a view to their professional integration in companies in the AI and DS areas.
During the internship students should be able to: 1. integrate with the company's work processes; 2. apply the
knowledge acquired in the study cycle to the analysis and resolution of the company's AI and DS problems.
The project aims to provide students with the ability to deepen a research topic and promote students' curriculum
enrichment with a view to their scientific training in the AI and DS areas.
During the project students should be able to: 1. understand an AI and / or DS research problem; 2. to apply with
increasing autonomy the scientific method and the knowledge acquired in the study cycle in the analysis and approach
of this problem.

4.4.5. Conteúdos programáticos:


As propostas de estágio são elaboradas por empresas com as quais os departamentos envolvidos, através da
Universidade do Porto, mantêm protocolos de colaboração. As propostas são validadas pelo(s) regente(s) da unidade
curricular.

As propostas de projeto são feitas por docentes ou investigadores ligados ao ciclo de estudos ou na esfera dos seus
centros de investigação.

4.4.5. Syllabus:
Internship proposals are prepared by companies with which the departments involved, through the University of Porto,
maintain collaboration protocols. Proposals are validated by the subject (s) of the course.

Project proposals are made by teachers or researchers linked to the cycle of studies or in the sphere of their research
centers.

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 82/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
A realização de trabalho em empresa, no caso do estágio, fornece ao estudante um conhecimento prático para lidar
com o processo de desenvolvimento nas suas várias fases e para desenvolver as capacidades de interação com
equipas de trabalho.

A realização do projeto fornece ao estudante a capacidade de aprofundar autonomamente um tópico de investigação e


aplicar o método científico e os conhecimentos obtidos no ciclo de estudos.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The accomplishment of work in company, in the case of the internship, provides the student with a practical knowledge
to deal with the development process in its various phases and to develop the skills of interaction with work teams.

The completion of the project provides the student with the ability to autonomously deepen a research topic and apply
the scientific method and the knowledge obtained in the study cycle.

4.4.7. Metodologias de ensino (avaliação incluída):


A metodologia é aprendizagem baseada.

Estágio: Realização do trabalho em empresa supervisionado por orientador na empresa. A nota final será dada com
base em informação obtida do orientador através de uma ficha de avaliação e com base num relatório final elaborado
pelo estudante que será avaliado por um júri.
Projeto: Realização do trabalho de investigação supervisionado por docente ou investigador. A nota final será dada
com base em informação obtida do orientador através de uma ficha de avaliação e com base num relatório final
elaborado pelo estudante que será avaliado por um júri.

Tipo de Avaliação: Avaliação distribuída com exame final


Condições de Frequência: Obtenção de uma nota mínima de 10 valores na avaliação final do orientador.

4.4.7. Teaching methodologies (including students' assessment):


The methodology is project-based learning.

Internship: Carrying out work in a company supervised by an advisor in the company. The final grade will be given
based on information obtained from the supervisor through an evaluation form and based on a final report prepared by
the student that will be evaluated by a jury.
Project: Conducting research work supervised by a teacher or researcher. The final grade will be given based on
information obtained from the supervisor through an evaluation form and based on a final report prepared by the
student that will be evaluated by a jury.

Assessment Type: Distributed assessment with final exam


Frequency Conditions: Obtaining a minimum grade of 10 points in the final evaluation of the advisor.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
A metodologia aprendizagem baseada em projetos permite atingir a maturidade e a autonomia pretendida nesta UC.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The project-based learning methodology allows reaching the desired maturity and autonomy in this UC.

4.4.9. Bibliografia de consulta/existência obrigatória:


A fornecer pelo orientador em função do tema de estágio ou projeto do estudante / To be provided by the supervisor
according to the internship or project topic.

Mapa IV - Programação em Lógica

4.4.1.1. Designação da unidade curricular:


Programação em Lógica

4.4.1.1. Title of curricular unit:


Programming in Logic

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 83/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T, 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
n.a.

4.4.1.7. Observations:
n.a.

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Vítor Manuel de Morais Santos Costa (28 T; 56 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


n.a.

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


• Ao concluir a disciplina, os estudantes devem ser capazes de:- Identificar em que tipos de problemas a programação
lógica deve ou pode ser aplicada- Compreender as limitações das linguagens lógicas e das suas implementações-
Saber desenvolver programas de relativa complexidade- Saber resolver problemas com relativa complexidade usando
programação em lógica- Conhecer bem a sintaxe e semântica da linguagem Prolog- Relacionar o conhecimento
adquirido com outras unidades curriculares do curso

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
• After completing the course, students should be able to:- Identify what kinds of problems logic programming should
or can be applied- Understand the limitations of logical languages and their implementations- Know how to develop
relatively complex programs- Know how to solve complex problems using logi programming- Be very familiar with the
syntax and semantics of the Prolog language- To be able to make a connection between Logic Programming and other
curricular units in the course

4.4.5. Conteúdos programáticos:


Introdução à programação em lógica e à linguagem Prolog- O poder expressivo do Prolog. Representação de
conhecimento.Como funciona a programação em lógica- Unificação, Substituição, Prova, Resolução SLD,
Backtracking. Programação em Prolog- Aritmética com inteiros em Prolog usando termos. Listas em Prolog. Cut,
negação por falha, cut-fail.Aplicações- Manipulação simbólica. Operadores. Resolução de problemas como procura.
Heurísticas. Best-first. Hill-Climbing. Notação DCG. Processamento de linguagens. Algoritmo minimax para jogos entre
adversários.Prolog avançado- Diferença de listas e estruturas incompletas. Predicados de segunda ordem.
Programação de segunda ordem. Implementação. Programação lógica com restrições.

4.4.5. Syllabus:
Introduction to logic programming and Prolog language - The expressive power of Prolog. Knowledge
representation.How logic programming works- Unification, Substitution, Proof, SLD Resolution, Backtracking.Prolog
Programming- Integer arithmetic with Prolog using terms. Lists in Prolog. Cut, negation as failure, cut-fail.Applications-
Symbolic manipulation. Operators. Problem solving as search. Heuristics. Best first. Hill Climbing. DCG notation.
Language processing. Minimax algorithm for adversarial games.Advanced Prolog- Difference lists and incomplete
structures. Second Order Predicates. Second Order Programming. Implementation. Constraint Logic Programming.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos abordados permitem introduzir conceitos de programação em lógica de forma
gradual, começando com representação de conhecimento e passando depois para a inferência, a resolução de
problemas e as técnicas de programação.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The contents covered allow the introduction of logic programming concepts in a gradual way, starting with knowledge
representation and then on to inference, problem solving and programming techniques.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas expositivas e com discussões de grupo.- aulas práticas com tarefas teóricas e de programação
realizadas em laboratório e onde os estudantes têm oportunidade de discutir problemas e soluções em grupo e com o
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 84/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
professor.- trabalhos em grupo realizados nas aulas práticas e fora delas.

Tipo de Avaliação: Avaliação distribuída com exame final

Condições de Frequência: Nota maior do que zero na componente de avaliação contínua.

Fórmula de avaliação: Nota Final = 0.6*EF + 0.4*ACEF = exame finalAC = avaliação contínua, incluindo trabalhos e
testes realizados.

4.4.7. Teaching methodologies (including students' assessment):


Theoretical classes with group discussions.- Lab classes with theoretical and programming tasks, where students
have the opportunity to discuss problems and solutions in group and with the lecturer.- Group assignments to be done
partly in lab classes and partly in student's own time.

Type of evaluation: Avaliação distribuída com exame final

Terms of frequency: Grade above zero in the continuous evaluation component

Formula Evaluation: Final Grade = 0.6*EF + 0.4*ACEF = Final ExamAC = Continuous Evaluation, including assignments
and tests.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Os métodos de ensino são baseados em métodos tradicionais de exercícios e exposição teórica com uma componente
de implementação e projeto que permite pôr em prática os conhecimentos adquiridos. O tipo de ensino promove
também a auto-avaliação.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The teaching methods are based on expository lecturing and exercises complemented with programming coursework
that enables the student to practice the methods studied in the course. This style of teaching also enables self-
assessment.

4.4.9. Bibliografia de consulta/existência obrigatória:


• Sterling Leon; The art of prolog. ISBN: 0-262-19250-0, 1994.
• Bratko Ivan 1946-; Prolog programming for artificial intelligence. Fourth Edition, Addison-Wesley, 2012

Mapa IV - Sistemas Multimédia

4.4.1.1. Designação da unidade curricular:


Sistemas Multimédia

4.4.1.1. Title of curricular unit:


Multimedia Systems

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T, 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 85/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Verónica Costa Teixeira Pinto Orvalho – 28T; 56PL

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


O objetivo é despertar nos alunos a mesma curiosidade, a mesma paixão de descobrir e o mesmo desejo de adquirir
conhecimento que motiva investigadores a explorar novas áreas relacionadas com sistemas de multimédia.
É esperado que no final desta cadeira o aluno tenha aprendido e compreendido tecnologia do estado de arte
relacionado com os seguintes conceitos:
*Compreender quais são os princípios da animação em 3D baseado no conceito tradicional de animação em 2D.
* Explorar os diferentes tipos de sistema de captura de movimentos, realidade virtual e como estes podem trabalhar
juntos.
*Compreender os principais conceitos relacionados com a teoria da informação e a visualização de dados.
*Compreender o uso da cor, texto e diagramas para a representação de informação.
* Desenvolvimento de um projecto de multimédia, criar uma demo e a sua respectiva documentação, a qual deve ser
reflexo do seu resultado.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
The goal is to instill in students the same curiosity, passion to discover and desire to convey knowledge that drives
researchers to explore new areas related to multimedia systems.
By the end of this course the student are expected to learn and understand state of the art technology related to the
following specific concepts:
* Understand which are the principles of 3D animation based on the traditional concepts of 2D animation
* Explore the different types of motion capture systems, virtual reality and how they can work together
* Understand the main concepts related to information theory and data visualization.
* Understand the use of color, text and diagrams when representing information
* Deployment of a multimedia project, create a demo and its correspondent documentation which must reflect its
result.

4.4.5. Conteúdos programáticos:


Programa:
* Princípios Fundamentais de Multimédia: Definições, formatos e standards, compressão de dados, técnicas e
armazenamento, Networking
* Sistema Interactivo de Multimédia: Usabilidade, Interface de Usuário, Tipo de média: estático e dinâmico,
navegação baseada no conteúdo, sistemas multimédia distribuídos, recuperação de informação multimédia
* Área de Aplicação de Multimédia: Arte, Educação, Entretenimento, Publicidade, Medicina, Engenharia, Negócio,
Investigação Científica
Tecnologia de Multimédia: realidade virtual, realidade aumentada, televisão interactiva, efeitos especiais, captura de
movimentos, dispositivos móveis

4.4.5. Syllabus:
* Fundamental Multimedia Principles: Definitions, Formats and standards, Data compression, techniques and storage,
Networking
* Interactive Multimedia Systems: Usability, User interface, Types of Media: static and dynamic,
Content based navigation, Distributed multimedia systems, Multimedia information retrieval
* Multimedia Applications Areas: Art, Education, Entertainment, Advertisements, Medicine, Engineering, Business,
Scientific research
Multimedia Technology: Virtual reality, Augmented reality, Interactive television, Special Effects, Motion Capture,
Mobile devices

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
O programa proposto é lecionado em aulas teóricas onde os principais conceitos são introduzidos e são explicados
exemplos práticos. Durante as aulas teóricas os alunos devem fazer apresentações relacionadas com o programa. Nos
laboratórios os alunos aprenderão competências relacionadas com sistemas multimédia através da exploração de um
tópico específico que escolheram do programa. Os alunos deverão ter que resolver problemas e programar uma
aplicação. Irão desenvolver um projeto e criar uma aplicação que represente os conceitos apresentados nas aulas
teóricas. Todos os resultados da aprendizagem ajudarão o aluno a compreender os princípios fundamentais de
sistemas de multimédia e têm uma ligação directa com o programa descrito. Abrange a tecnologia do estado de arte e
a experiência necessária para desenhar e desenvolver uma aplicação interactiva.
O programa visa ensinar os alunos como os sistemas de multimédias estão a ser utilizados atualmente nas diferentes
indústrias.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The proposed syllabus is taught in lectures where the main concepts are introduced and practical examples are
explained. During lectures students are also required to do presentations related to the topics presented in the
syllabus. In the labs students will learn specific skills related to multimedia systems through the exploration of a

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 86/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
specific topic that they have to choose from the syllabus. Students will need to surpass problems by creating a
prototype of a system. Students will deploy a project and create an application that must reflect the concepts
presented during the lecture. All learning outcomes will help students understand the fundamental principles of
multimedia systems and have a direct correspondence to the described syllabus. It covers the state of the art
technology and the necessary background to design and develop sophisticated interactive applications. This course
aims to teach students how multimedia systems are currently being used in different industries.

4.4.7. Metodologias de ensino (avaliação incluída):


O aluno escolhe um tema de investigação, desenvolve uma aplicação de multimédia, escreve um artigo sobre esse
tema e apresenta-o numa conferência que será organizada pelos alunos no final da cadeira. Este processo inclui uma
revisão anónima dos artigos por outros alunos; a versão final do artigo e a apresentação devem incluir o feedback dos
revisores. Haverá um júri (a designar) que irá galardoar o melhor artigo.
Laboratórios: os alunos são assistidos pela Faculdade de forma a poder resolver os problemas apresentados em cada
laboratório, o qual levará à conclusão do projeto.
Teóricas: introdução a conceitos fundamentais e princípios de sistema de multimédia. Apresentar casos de estudo
para cada tópico com exemplos de indústria. Organizar debates para discutir cada conceito apresentado na aula.
a) apresentação do artigo 30%
b) projecto de multimédia 50% (relatório: 25%, apresentação:25%)
c) revisão anónima de artigos 20%
Avaliação individual e distribuída sem exame final

4.4.7. Teaching methodologies (including students' assessment):


Students have to choose a topic to research, develop a multimedia application, write a paper on that subject and then
present it at a conference, which will be organized by the students at the end of the course. The process includes blind
peer review of the papers by other students; the final version of the paper and presentation must include the feedback
from the reviewers. There will be a jury (to be designated) that will award the best paper.
Lecture: introduction of the fundamental concepts and principles of multimedia systems. Present case studies of each
topic applied to industry examples. Organize debates to discuss each concept presented in class.
Labs: students get assistance from faculty to solve the problems presented at each lab, which will lead to the
completion of the final project.
Grading Policy
a) article presentation 30%
b) multimedia project 50% (report is 25%, presentation is 25%)
c) blind paper review 20%
Evaluation is individual and distributed without final exam.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As metodologias de ensino aplicadas são coerentes com os objectivos de aprendizagem enumerados porque:
*A teoria permite uma introdução e explicação detalhada e adequada ao conceito descrito no programa,
nomeadamente os princípios de computação gráfica, algoritmos e todos os principais componentes do pipeline
gráfico, sempre suportado por exemplos ilustrativos atualizados.
*Os laboratórios permitem ao aluno consolidar os conhecimentos adquiridos e ter experiência num tópico concreto
dentro da área de sistema de multimédia, utilizando linguagens de programação tal como C++. Java, Pyhton e APIs
como OpenGL
*A apresentação do artigo dá a possibilidade ao aluno de adquirir experiência de como compreender os tópicos
avançados relacionados com o programa apresentado. Irá também ajudar o aluno a criar uma apresentação e preparar
um debate com o resto da turma.
*O projeto permite o aluno compilar todos os conceitos adquiridos numa só aplicação, preparando um artigo e
apresentação, que poderá ajudar na compreensão da importância de cada componentes de um projeto de multimédia.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The teaching methodologies adopted are consistent with the enumerated learning outcomes for the following reasons:
* Lectures allow a detailed and adequate introduction and explanation of the core concepts described in the syllabus,
namely principles of multimedia systems, algorithms and methods for the deployment of interactive applications,
always supported by illustrative examples that are up to date.
* Labs allows students to consolidate the learned concepts and have a hands on experience on a concrete topic within
the field of multimedia systems using programming languages like C++, Java, Python and APIs like OpenGL
* The article presentation gives the student the possibility of acquiring experience on how to understand advanced
topics related to the syllabus presented in the course. It will also help students understand how to create a
presentation and prepare a debate with the rest of the class.
* The project allows the students to put together all the learned concepts into one unified application, preparing an
article and a presentation, which can help them understand the importance of each component of a multimedia project.

4.4.9. Bibliografia de consulta/existência obrigatória:


● Hypermedia and the Web - An Engineering Approach, Lowe D and Hall W, Wiley, 1999
● Computer Graphics – Principles and Practice, Foley, Van Dam, Feiner, Hughes, Second Edition. Addison-Wesley,
1990
● Compressed Video over Networks, Ming-Ting Sun, Amy R.Reibman, Marcel Dekker, 2000
● Introduction to Digital Audio Coding and Standards, Marin Bosi and Riach E. Goldberg, Kluwer Academic Publisher,
2003
● The Design of Everyday Things, Donald A. Norman, Basic Book, 1988
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 87/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
● The Visual Display of Quantitative Information, Edward R. Tufte, Graphics Press, 1983
● Envisioning Information, Edward R. Tufte, Graphics Press, 1990
● Visual Explanations: Images and Quantities, Evidence and Narrative, Edward R. Tufte, Graphics Press, 1997
● JPEG 2000 – Image Compression Fundamentals, Standards and Practice , David S. Taubman, Michael W. Marcellin,
Kluwer Academic Publishers, 2002
Multimedia Systems , Ralf Steinmetz, Klara Nahrstedt, Springer-Verlag, 2004

Mapa IV - Tecnologias Web

4.4.1.1. Designação da unidade curricular:


Tecnologias Web

4.4.1.1. Title of curricular unit:


Web Technologies

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T, 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
José Paulo de Vilhena Geraldes Leal (28 T e 56 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


O objetivo desta unidade curricular é a familiarização dos alunos com os conceitos e tecnologias utilizados no
desenvolvimento de aplicações centradas na web. Depois desta unidade curricular, o aluno deverá ser capaz de
conceber e desenvolver aplicações dinâmicas centradas na web em todas as suas vertentes (backend no servidor;
frontend no browser, incluindo marcação, apresentação e interação; comunicação assíncrona entre o frontend e o
backend) tendo em conta aspectos importantes como a escalabilidade e a segurança.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
The goal of this curricular unit is the familiarization of the students with the concepts and technologies used in the
development of applications centered on the web. After this course, the student should be able to design and
implement web-centered applications with all involved aspects (server backend; browser frontend), including markup,
presentation, and interaction; asynchronous communication between the frontend and the backend) dealing with
important aspects such as scalability and security.

4.4.5. Conteúdos programáticos:


* HTML e CSS
* JavaScript e manipulação de objetos no browser usando o DOM
* Protocolo HTTP
* AJAX: comunicação assíncrona entre cliente e servidor
* Algumas API do HTML5

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 88/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
* Programação de servidores web com node.js
* Outros modelos para implementação de servidores web dinâmicos: CGI e alternativas

4.4.5. Syllabus:
* HTML and CSS
* JavaScript and object handling in the browser using DOM
* HTTP protocol
* AJAX: asynchronous communication between client and server
* Some HTML5 APIs
* Programming web servers with node.js
* Other models for implementing dynamic web servers: CGI and alternatives

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
O programa da disciplina cobre todos os aspetos do desenvolvimento de aplicações centradas na web. A realização
do trabalho prático, que consiste no desenvolvimento de uma aplicação web abrangendo todos esses aspetos,
garante essa competência nos alunos que tenham aproveitamento.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The course syllabus covers all aspects of developing web-centered applications. The practical assignment, consisting
on the development of a web application comprising all those aspects, ensures that students that successfully
conclude the course possess that skill.

4.4.7. Metodologias de ensino (avaliação incluída):


Nas aulas teóricas é usado o método expositivo, sendo apresentada uma visão organizada dos temas do programa,
incluindo exemplos de aplicação das diferentes tecnologias.
Nas aulas práticas são propostos exercícios de consolidação dos conceitos expostos nas aulas teóricas, realizados
pelos alunos sob supervisão do docente.
A avaliação é distribuída sem exame final, consistindo em três testes teóricos realizados ao longo do semestre com
um peso de 4 valores cada (num total de 12 valores) e num trabalho prático com entrega por etapas com peso de 8
valores. É obrigatória a participação em pelo menos dois testes teóricos e a obtenção de um mínimo de 2 valores
(25%) no trabalho prático.

4.4.7. Teaching methodologies (including students' assessment):


Theory classes are based on the expositive method, presenting an organized vision of the syllabus topics, including
examples of application of the different technologies.
Practical classes are based on small programming exercises for consolidating the concepts discussed in the theory
classes, done by the students under supervision.
Evaluation is distributed without final exam, consisting on three theory tests conducted during the semester with a
weight of 4 points each (totaling 12 points) and on a practical assignment with phased delivery with a weight of 8
points. Participation in at least two tests and obtaining a minimum grade of 2 points (25%) in the practical assignment
is mandatory.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
A exposição organizada da matéria fornece aos alunos uma visão dos princípios e tecnologias usados no
desenvolvimento de aplicações web, e a realização de testes ao longo do semestre fomenta o acompanhamento da
matéria pelos alunos. A realização do trabalho prático visa garantir que os alunos são capazes de aplicar esses
conhecimentos à concepção e desenvolvimento de uma aplicação web completa em todas as suas vertentes.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The organized exposition of the course material provides the students with a vision of the principles and technologies
used in the development of web applications. The completion of the practical assignment ensures that the students are
further capable of applying the acquired knowledge to the conception and development of a complete web application
with all involved aspects.

4.4.9. Bibliografia de consulta/existência obrigatória:


• Scott Guelich, Shishir Gundavaram, Gunther Birznieks, “CGI Programming with Perl”. O'Reilly Media, 2000. ISBN:
978-1-56592-419-2;
• Jeremy Keith, “DOM Scripting: Web Design with JavaScript and the Document Object Model”. friends of ED, 2005.
ISBN: 978-1-59059-533-6;
• Brett McLaughlin, “Head Rush Ajax”. O'Reilly Media, 2006. ISBN: 978-0-596-10225-8
• J.D. Gauchat, “HTML5 for Masterminds”. Mink Books, 2011. ISBN: 978-1-46360-405-9

Mapa IV - Programação Competitiva

4.4.1.1. Designação da unidade curricular:


Programação Competitiva

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 89/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos

4.4.1.1. Title of curricular unit:


Programming Challenges

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


42TP

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Pedro Manuel Pinto Ribeiro / 42 TP

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Os principais objectivos são a consolidação e aquisição de novos conhecimentos de algoritmia e estruturas de dados
e do seu eficiente desenho e implementação através da realização de desafios de programação no estilo de concursos
de programação e de entrevistas de emprego.
Ao terminar esta unidade curricular os alunos deverão:
- Ter demonstrado capacidades de resolução criativa de problemas de carácter algorítmico;
- Conhecer um leque variado de ideias algoritmicas e estruturas de dados e como os adaptar/aumentar para os aplicar
a problemas concretos;
- Ter criado um portfolio pessoal de código com soluções para múltiplos problemas, incluindo implementações
eficientes e reutilizáveis dos algoritmos e estruturas de dados subjacentes;
- Ter demonstrado capacidade de discutir a alto nível os problemas e possíveis variantes, percebendo as implicações
ao nível da eficiência dessas variações.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
The main goals are to consolidate and to acquire new knowledge on algorithms and data structures and their efficient
design and implementation by solving multiple programming challenges on the style of programming contests and job
interviews.
When finishing this curricular unit the students should:
- Have demonstrated creative problem solving skills in problems of algorithmic nature;
- Know a varied range of algorithmic ideas and data structures and how o adapt/augment for application on concrete
problems;
- Have created a personal portfolio of code with solutions for multiple problems, including efficient and reusable
implementations of the corresponding algorithms and data structures;
- Have demonstrated the ability to do high level discussions on the problems and their possible variations,
understanding the efficiency implications of those variations.

4.4.5. Conteúdos programáticos:


Ao resolverem os problemas, serão abordados tópicos em:
- Estratégias gerais de resolução de problemas (generalizações e especializações)
- Estruturas de Dados (binary search, segment, interval, fenwick, and range trees, quadtrees, kd-trees, union-find,
decomposição sqrt, sparse tables)
- Estratégias algorítmicas (pesquisa exaustiva, backtracking, pesquisa com cortes e meet-in-the-middle, divide-and-
conquer, pesquisa binária, algoritmos greedy, programação dinâmica, lazy propagation, sliding windows)
- Matemática (tópicos em teoria de números, combinatória, probabilidades e teoria de jogos)
- Programação Dinâmica Avançada (desenho de novas recorrências com várias dimensões, optimizações)
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 90/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
- Grafos (dfs e bfs; árvores de suporte; distâncias mínimas; fluxos, matchings e min-cuts)
- Geometria Computacional (objectos geométricos, primitivas robustas)
- Strings (hash tables, suffix arrays)
É expectável que os estudantes se familiarizem com a biblioteca disponível na sua linguagem de eleição

4.4.5. Syllabus:

Syllabus: 1000 caracteres

By solving the problems, multiple topics will be tackled:


- General problem solving strategies (generalizations, specializations)
- Data Structures (binary search, segment, interval, fenwick and range trees, quadtrees, kd-trees, union-find, sqrt
decomposition, sparse tables)
- Algorithmic Stategies (exhaustive search, backtracking, branch&bound, meet-in-the-middle, divide-and-conquer,
greedy algorithms, dynamic programming, lazy propagation in trees, sliding windows)
- Mathematics (topics in numbers theory, combinatorics, probabilities, game theory)
- Advanced Dynamic Programming (ex: designing new recurrences in multiple dimensions, optimization);
- Graphs (dfs and bfs; minimum spanning trees; minimal distances; flow, matchings and min-cuts)
- Computational Geometry (geometric objects, robust primitives)
- Strings (hash tables, suffix arrays)
It is expectable that the students get familiar with the library available in the preferred programming language.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
O conteúdo programático permite consolidar formação anterior e introduzir um leque vasto de algoritmos, estruturas
de dados e que podem ser aplicadas na resolução e implementação prática de problemas.
Os vários tópicos podem ser abordados por diferentes ordens, podem ser aumentados e diminuídos e analisados
sobre diferentes graus de profundidade, fazendo com que possam surgir mais naturalmente no contexto de problemas
e deixam o docente gerir e adaptar o programa ao leque de alunos que frequenta a UC no ano em questão, incluindo a
possibilidade de permitir incursões em tópicos ainda mais avançados para alunos de topo.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The syllabus allows the consolidation of background knowledge and introduces a vast range of algorithms, data
structures and methodologies that can be applied on solving problems and practical implementations.
The various topics can be tackled in different orders, can be augmented or decreased and and analyzed on different
depth levels, so that to appear more naturally in the context of problems and allowing the professor to manage and
adapt the syllabus to the specific students that are attending the class on that year, including the possibility of
permitting the introduction of even more advanced topics to the top students.

4.4.7. Metodologias de ensino (avaliação incluída):


As aulas teórico-práticas incluem a apresentação de teórica de alguns dos tópicos abordados, a apresentação e
discussão de problemas selecionados. É esperado dos alunos que implementem soluções para um leque alargado de
problemas (a submeter para avaliação automátíca não só no avaliador da própria UC, mas também em plataformas
como o UVA Online Judge, Codeforces, Kattis ou SPOJ). Será promovida a participação e submissão de problemas em
contexto competitivo, com tempo controlado, em provas variadas. Os alunos deverão apresentar partes das suas
soluções e será promovida uma wiki colaborativa onde serão colocadas ligações relevantes e explicações de várias
soluções e estratégias. Avaliação distribuída sem exame final:
- Apresentações e explicações dos algoritmos e problemas nas aulas e wiki: 30%
- Implementações submetidas: 30% a60%
- Participação em eventos competitivos: 10% a 40%
A ponderação da participação em eventos competitivos depende do sucesso obtido e da dificuldade do evento.

4.4.7. Teaching methodologies (including students' assessment):


The lectures include the exposition of selected topics, as well as presentations and discussion os the selected
problems. The students are expected to implement solutions for a large range of problems (to submit not only to the
class automatic judge, but algo to multiple platforms such as UVA Online Judge, Codeforces, Kattis or SPOJ). The
participation on competitive programming events with controled time will also be promoted, in varios types of events.
The students will also present on the classes parts of their solutions and a collaborative Wiki will be created with
relevant links and explanations of various solutions and strategies.Evaluation:
- Presentations and explanations of the algorithms and problemas in class, and wiki: 30%
- Implementations submitted: 30% to 60%
- Participation on competitive events: 10% to 40%The weight of the competitive events depends on the obtained
success and of the event difficulty.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
As aulas irão permitir que os alunos se tornem familiarizados com uma vasta gama de metodologias, algoritmos e
estruturas de dados. A resolução de problemas irá permitir aos alunos consolidarem os conceitos com uma forte
motivação prática e irá permitir o desenvolvimento de estratégias de resolução de problemas que não são à partida
necessariamente de nenhuma categoria em particular. As implementações irão garantir um forte conhecimento da
linguagem de programação usada e irão promover implementações cuidadas, eficientes e sem erros. As

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 91/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
apresentações e discussão nas aulas e na wiki irão fomentar a participação e melhorar a maneira a organização e
comunicação dos alunos.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The classes will allow the students to become familiar with a large range of methodologies, algorithms and data
structures. Solving problems will allow them to consolidate the concepts with a strong practical motivation and will
allow the development of strategies for solving problem that are of unknown categories “apriori”. The implementations
will guarantee an in-depth knowledge of the used programming language and will promote careful, efficient and bug
free implementations. The presentations and discussion on the classes and wiki will promote the participation and will
improve the way in which the students organize themselves and how they communicate.

4.4.9. Bibliografia de consulta/existência obrigatória:


- Competitive Programming, 3rd Edition, Steven Halim and Felix Halim, Lulu Independent Publishing, 2013 (1st edition
available online).
- Competitive Programmer's Handbook, Anti Laaksonen, 2017 (available online)
- Introduction to Algorithms, T. H. Cormen et al., MIT Press, 2001
Outros livros sugeridos e relacionados / Other suggest and related books:
- Programming Challenges. S. Skiena and M. Revilla
- Algorithm Design Manual. S. Skiena.
- Cracking the Coding Interview, G. McDowell.
- Algorithmic Puzzles, A. Levitin and M. Levitin.

Mapa IV - Programação Funcional

4.4.1.1. Designação da unidade curricular:


Programação Funcional

4.4.1.1. Title of curricular unit:


Functional Programming

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T, 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Pedro Baltazar Vasconcelos (28 T; 56 PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Introdução à programação funcional usando a linguagem Haskell. No final da disciplina, o(a) aluno(a) deverá ser capaz
de:
• Definir funções usando equações com padrões;
• Codificar algoritmos recursivos elementares sobre listas e árvores em Haskell;
• Definir novos tipos algébricos para representar dados;

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 92/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
• Compor problemas de programação usando funções de ordem superior e lazy evaluation;
• Provar propriedades elementares de programas usando teoria equacional e indução.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):
Introduction to functional programming using the Haskell language. After this course the student should be able to:
• - Define functions using equations and patterns;
• - Implement simple recursive algorithms over lists and trees;
• - Define new algebraic data types for encoding data;
• - Compose programming problems using higher-order functions and lazy evaluation;
• - Prove elementary properties of programs using equational theory and induction

4.4.5. Conteúdos programáticos:


Expressões, valores e tipos básicos. Definições de funções simples; tipos funcionais. Execução passo-a-passo
usando substituição. Tipos compostos: listas e tuplos. Algumas funções sobre listas do prelúdio-padrão. Notação de
listas em compreensão. Definições recursivas. Polimorfimo paramétrico. Funções de ordem superior. Programas
interactivos usando o mónada de I/O. Definição de novos tipos concretos. Estudo de um caso: árvores binárias de
pesquisa. Tipos abstractos: pilhas, filas, conjuntos. Especificação usando equações e implementação usando
módulos. Classes de tipos e sobrecarga de operadores. Raciocínio sobre programas usando teoria equacional e
indução.

4.4.5. Syllabus:
Expressions, values and basic types. Defining simple functions; function types. Step by step evaluation using
substitution. Compound types: lists and tuples. Some list functions of the standard prelude. Comprehension notation
for lists. Recursive definitions. Parametric polymorphism. Higher-order functions. Writting interactive programs using
the I/O monad. Defining new concrete data types. Case-study: binary search trees. Abstract types: stacks, queues,
sets. Specification using equations and implementation using modules. Type classes and operator overloading.
Reasoning about programs using equational theory and induction.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os conteúdos abordados permitem introduzir conceitos de programação funcional de forma
gradual, começando com casos particular e generalizado para abstrações, enfatizando a relação entre programação e
matemática. Os livros recomendados são de autoria de investigadores e professores de renome internacional e são
adotados para ensino em várias universidades no Reino Unido.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
The syllabus allows introducing functional programming concepts in a gradual way, from specific cases towards
abstraction and to allows emphasizing the relations between programming and mathematics. The recommended books
have been written by leading

4.4.7. Metodologias de ensino (avaliação incluída):


Tipo de Avaliação: Avaliação distribuída com exame final

Condições de Frequência: Os alunos que não obtiverem um mínimo de 6 valores (em 20), no teste intercalar, não
poderão realizar o exame de época normal. Todos os alunos poderão realizar o exame de recurso.

Fórmula de avaliação:
Teste intercalar (50% de peso na nota final).
Exame (50% de peso na nota final).

Sendo TI a classificação obtida no teste intercalar e e EX aclassificação obtida no exame, então a nota final é dada por:
F = TI*(0.5) + EX*(0.5), TI,EX >= 6 e F >= 9.5. Não obterão aprovação, os alunos que não obtiverem um mínimo de 6
valores (em 20), em cada componente e um mínimo de 9.5 valores de nota final. O exame de recurso, será cotado para
20 valores.

4.4.7. Teaching methodologies (including students' assessment):


Lectures using whiteboard and overhead projection. Practical classes on computer labs.

Type of evaluation: Distributed evaluation with final exam.


Terms of frequency: Students must have a minimum of 6 points (in a total of 20) in the midterm test, to take the final
exam. All students can take the resit exam.

Formula Evaluation:
Midterm test (50% of the final mark).
Exam (50% of the final mark).

If MT is the mark obtained in the test and EX the mark obtained in the exam, then the final mark is given by:F = MT*(0.5)
+ EX*(0.5), MT,EX >= 6 and F >= 9.5.

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 93/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
To get approval the students must obtain a minimum of 6 points (in a total of 20) in evaluation component and a
minimum of 9.5 as final mark.The resit exam, will have a weight of 100% on the final mark.

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Os métodos de ensino são baseados em métodos tradicionais de exercícios e exposição teórica com uma componente
de implementação que permite por em prática os conhecimentos adquiridos.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
The teaching methods are based on expository lecturing and exercises complemented with programming coursework
that enables the student practice the methods studied in the course.

4.4.9. Bibliografia de consulta/existência obrigatória:


• Hutton Graham 1968-; "Programming in Haskell". ISBN: 9780521692694.
• Thompson Simon; "Haskell". ISBN: 978-0-201-40357-2.
• Hudak Paul; "The Haskell school of expression". ISBN: 978-0-521-64338-2.

Mapa IV - Computabilidade e Complexidade

4.4.1.1. Designação da unidade curricular:


Computabilidade e Complexidade

4.4.1.1. Title of curricular unit:


Computability and Complexity

4.4.1.2. Sigla da área científica em que se insere:


CC

4.4.1.3. Duração:
Semestral / Semester

4.4.1.4. Horas de trabalho:


162

4.4.1.5. Horas de contacto:


28T, 28PL

4.4.1.6. ECTS:
6

4.4.1.7. Observações:
-

4.4.1.7. Observations:
-

4.4.2. Docente responsável e respetiva carga letiva na Unidade Curricular (preencher o nome completo):
Sabine Babette Broda (28T, 56PL)

4.4.3. Outros docentes e respetivas cargas letivas na unidade curricular:


-

4.4.4. Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):


Estudo e comparação de vários modelos de computação (Turing-completos), do seu poder computacional e das suas
limitações. Estudo das diversas classes de complexidade computacional. Ao completar este curso espera-se que os
alunos - conheçam os modelos de computação clássicos utilizados no estudo da computabilidade de diversos
problemas; - saibam provar a equivalência de vários modelos Turing-completos; - conheçam os resultados e métodos
mais importantes no estudo da computabilidade e complexidade; - saibam classificar exemplos concretos de
problemas e provar a sua (in)decidibilidade dentro das diversas classes de computabilidade.- saibam classificar
exemplos concretos pelas sua complexidade temporal e interpretar essa classificação.

4.4.4. Intended learning outcomes (knowledge, skills and competences to be developed by the students):

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 94/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Students are exposed to different standard Turing-complete models of computation, such as register machines, Turing
machines e recursive functions. Besides proving the equivalence of those models, they also are used to identify
different undecidable problems. For this, different techniques, such as the diagonalization method and the reduction
between languages are used. In order to gain experience identifying the computational complexity of concrete
problems, students are introduced to the classes P and NP, the notion of NP-completeness and Cook’s theorem,
revisiting again the reduction technique.

4.4.5. Conteúdos programáticos:


Noção de linguagem/problema (semi-)decidível. Revisão de alguns modelos de computação (DFA's, NFA's, CFG's e
PDA's) e do seu poder computacional. Máquinas de Turing. Máquinas de registo. Funções Recursivas. Lambda
Calculus. Tese de Church-Turing. Hierarquia de Chomsky. Teorema da Recursão de Kleene. Método da diagonalização
e indecidibilidade do problema da paragem. Redução "muitos para um" entre linguagens. Introdução à teoria de
complexidade: classes P e NP; completude em NP; teorema de Cook e outros problemas NP-completos. reduções
polinomiais. Classes co-NP, etc.A classe dos problemas PSPACE.

4.4.5. Syllabus:
Notion of (semi-)decidable language/problem. Revision of some models of computation (DFA, NFA, CFG and PDA) and
their power of computation. Register machines. Turing machines. Recursion theory. Lambda Calculus. Church-Turing
thesis. Chomsky hierarchy. Kleene's Recursion Theorem. The diagonalization method and the indecidability of the
halting-problem. Reduction “many to one” between languages. Introduction to complexity theory: P and NP classes,
NP-completeness, Cook’s theorem and other NP-complete problems. Class coNP, etc. The class PSPACE.

4.4.6. Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
Os alunos são expostos a vários dos modelos de computação Turing-completos standard, como as máquinas de
registo, máquinas de Turing e as funções recursivas. Para além da prova da equivalência dos diferentes modelos,
estes são também utilizados para identificar diferentes problemas indecidíveis. São usadas diferentes técnicas, como
o método da diagonalização e da redução entre linguagens. Para adquirirem experiência em identificar a complexidade
computacional de problemas concretos, faz-se uma introdução às classes P e NP, completude NP e o teorema de
Cook, voltando também à técnica da redução.

4.4.6. Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:
Students are exposed to different standard Turing-complete models of computation, such as register machines, Turing
machines e recursive functions. Besides proving the equivalence of those models, they also are used to identify
different undecidable problems. For this, different techniques, such as the diagonalization method and the reduction
between languages are used. In order to gain experience identifying the computational complexity of concrete
problems, students are introduced to the classes P and NP, the notion of NP-completeness and Cook’s theorem,
revisiting again the reduction technique.

4.4.7. Metodologias de ensino (avaliação incluída):


Aulas teóricas de exposição dos conteúdos programáticos. Aulas práticas de resolução de exercícios propostos
semanalmente.
Tipo de Avaliação: Avaliação distribuída sem exame final
Condições de Frequência: Os alunos deverão obter um mínimo de 6 valores (em 20) em cada um dos testes. Todos os
alunos poderão realizar o exame de recurso.
Fórmula de avaliação: Primeiro teste (50% de peso na nota final). Segundo teste (50% de peso na nota final). Sendo PT
a classificação obtida no primeiro teste e ST a classificação obtida no segundo teste, então a nota final é dada por: F =
PT*(0.5) + ST*(0.5) PT,ST >= 6 e F >= 9.5.
Não obterão aprovação na avaliação distribuída, os alunos que não obtiverem um mínimo de 6 valores (em 20) em
cada teste. Para os alunos que não obtiverem aprovação, haverá um exame de recurso cotado para 20 valores.

4.4.7. Teaching methodologies (including students' assessment):


Lectures: exposition of the elements in the syllabus. Lab classes: resolution of exercises proposed each week.
Type of evaluation: Avaliação distribuída sem exame final
Terms of frequency: Students are required a minimum of 6 (out of 20) in each test. All the students can take the resit
exam.
Formula Evaluation: The final grade (FT - first test, ST - second test)F = FT*(0.5) + ST*(0.5) FT,ST >= 6 e F >= 9.5

4.4.8. Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
Sendo uma disciplina de conteúdo teórico e que exige dos alunos alguma maturidade matemática, nas aulas teóricas é
intercalada a exposição da matéria teórica com a resolução acompanhada
de algumas aplicações. Estes são aprofundados nas aulas práticas, onde é esperado que os alunos trabalhem de
forma mais autónoma.
Para incentivar o estudo durante o semestre é dado a possibilidade de obter aprovação à disciplina realizando dois
testes ao longo do semestre.

4.4.8. Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
Since this unit is of theoretical nature and requires from students some mathematical maturity, in the lectures the
exposure of the subjects are inteleaved with the accompanied resolution of som applications. This is reinforced during

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 95/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
lab classes, where students are expected to work more autonomously. To encourage the study during the semester,
students are given the possibility to obtain approval to this unit performing two tests during the semester.

4.4.9. Bibliografia de consulta/existência obrigatória:

"Introduction to Automata Theory, Languages and Computation, Hopcroft, Motwani and Ullmann.",
"Recursion theory, Phillips, in Handbook of logic in computer science (vol. 1), Oxford University Press.".
"Introduction to the Theory of Computation, Michael Sipser.",
"Models of Computation - An Introduction to Computability Theory, Maribel Fernández.",
Oded Goldreich; "P, NP, and NP-Completeness - The Basics of Computational Complexity", Cambridge University
Press, 2010.

4.5. Metodologias de ensino e aprendizagem


4.5.1. Adequação das metodologias de ensino e aprendizagem aos objetivos de aprendizagem (conhecimentos, aptidões e
competências) definidos para o ciclo de estudos:
O perfil que este ciclo de estudos pretende atingir conduzirá a uma formação cuidada nas ciências básicas,
maioritariamente matemática e estatística, e uma formação abrangente nos fundamentos das grandes áreas científicas
e técnicas de Ciência de Computadores com ênfase em Inteligência Artificial e Ciência de Dados. Tendo em conta que
o percurso do estudante vai evoluindo de UCs de ciências básicas até às de âmbito mais profissional, as metodologias
vão-se também adaptando, da formação mais teórica no 1º e 2º ano, até à formação de natureza mais aplicada, com
maior autonomia dos estudantes, no 2º e 3º ano, nomeadamente nas UC de Laboratório e de Projeto/Estágio. As
tipologias de aulas (T, TP, PL, OT) e metodologias de ensino (expositiva, tutorial, resolução de problemas, trabalho em
equipa e aprendizagem baseada em projeto) de cada UC estão adaptadas aos objetivos de aprendizagem pretendidos
(explicação, interpretação, aplicação, análise, avaliação de impacto e auto-avaliação).

4.5.1. Evidence of the teaching and learning methodologies coherence with the intended learning outcomes of the study
programme:
The profile that this program aims to achieve will lead to thorough training in basic sciences, mostly mathematics and
statistics, and comprehensive training in the fundamentals of the major scientific and technical areas of Computer
Science with an emphasis on Artificial Intelligence and Data Science . Bearing in mind that the student's path evolves
from basic science UCs to more professional ones, the methodologies are also adapting, from the most theoretical
training in the 1st and 2nd year, to a more applied training, with increased students' autonomy, in the 2nd and 3rd year,
namely in the Laboratory and Project / Internship UCs. The class typologies (T, TP, PL, OT) and teaching methodologies
(expository, tutorial, problem solving, team work and project-based learning) of each UC are adapted to the intended
learning objectives (explanation, interpretation, application, analysis, impact assessment and self-assessment).

4.5.2. Forma de verificação de que a carga média de trabalho que será necessária aos estudantes corresponde ao
estimado em ECTS:
No início de cada ano letivo os docentes planificam na ficha da UC as atividades (aulas, trabalhos, estudo
individual, provas de avaliação, etc.), incluindo a calendarização e a estimativa de carga de trabalho de cada
atividade (por forma a totalizar o nº de ECTS x 27h), procurando distribuir uniformemente e evitar picos de trabalho no
tempo. As fichas das UC são validadas pelo Diretor do ciclo de estudos. Relativamente aos trabalhos, onde podem
existir maiores variações, diversas UCs solicitam aos estudantes que reportem o tempo gasto na sua realização,
permitindo assim tomar medidas corretivas. No final do semestre, os docentes responsáveis por cada UC elaboram
um relatório onde comentam o seu funcionamento e a sua adequação ao trabalho exigido. É ainda efetuado um
inquérito aos estudantes, via SIGARRA, onde podem exprimir as suas opiniões sobre o trabalho exigido pelas UCs. Os
estudantes são também auscultados através da Comissão de Acompanhamento e representantes de ano.

4.5.2. Means to verify that the required students’ average workload corresponds the estimated in ECTS.:
At the beginning of each school year, the teachers plan in the UC form the activities of the UC (classes, assignments,
study, evaluation, etc.), including the schedule and estimated workload of each
activity (in order to total the number of ECTS x 27h), trying to distribute evenly the workload and avoid spikes in time.
The UC forms are validated by the course Director. With regard to assignments, where there may exist greater
variations, several UCs ask students to report the time spent on them, thus allowing corrective action to be taken. At
the end of the semester, the teachers responsible for each UC prepare a report commenting on its operation and its
adequacy to the required work. Students are also surveyed via SIGARRA, where they can express their opinions about
the work required by the UCs. Students are also listened to through the Monitoring Committee and year
representatives.

4.5.3. Formas de garantia de que a avaliação da aprendizagem dos estudantes será feita em função dos objetivos de
aprendizagem da unidade curricular:
Os métodos, componentes, pesos e datas de avaliação, tal como os objetivos de aprendizagem, são definidos na ficha
de cada UC pelos docentes responsáveis, sendo validados pelo Diretor do ciclo de estudos.
De acordo com os princípios de Bolonha, o método de avaliação das UCs evoluiu de um método baseado
principalmente em exame final para um método predominante misto, combinando o exame final com uma componente
de avaliação distribuída com peso significativo, ou mesmo baseado unicamente em avaliação distribuída, como
acontece em todas as UCs de Laboratório. As UCs de ensino de programação incorporam normalmente componentes
de avaliação em computador. As competências de comunicação são avaliadas através de relatórios e apresentações.
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 96/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
O trabalho desenvolvido dentro e fora das aulas, devidamente acompanhado e avaliado pelos docentes, integra-se nas
próprias metodologias de aprendizagem baseadas em projeto.

4.5.3. Means of ensuring that the students assessment methodologies are adequate to the intended learning outcomes:
The methods, components, weights and dates of the assessments, together with the learning outcomes, are defined in
the form of each UC by the responsible teachers, being validated by the Director of the study cycle.
In accordance with the Bologna principles, the method of evaluation of the UCs has evolved from a method based
mainly on the final exam to a predominantly mixed method, combining the final exam with a significant weighted
distributed evaluation component or even based solely on distributed evaluation, as happens with all Lab UCs.
Programming UCs typically incorporate computer assessment components. Communication skills are assessed
through reports and presentations. The work developed inside and outside the classes, properly monitored and
evaluated by the teachers, is an integral part of the project-based learning methodology.

4.5.4. Metodologias de ensino previstas com vista a facilitar a participação dos estudantes em atividades científicas
(quando aplicável):
• O envolvimento dos estudantes em atividades de investigação científica é promovido principalmente via corpo
docente, na sua maioria integrado em centros de I&D;
• Em diversas UCs, os estudantes são confrontados com resultados de investigação na fronteira do conhecimento,
que são desafiados a analisar criticamente;
• Em algumas UCs, os estudantes são desafiados a encontrar soluções inovadoras para problemas reais e a
documentá-las na forma de artigo científico;
• Algumas UCs integram por vezes experiências científicas com a participação dos estudantes;
• Na UC de Projeto, uma das modalidades previstas é o desenvolvimento de um projeto de iniciação à investigação
numa unidade de I&D sob orientação de um docente ou investigador;
• Ao longo do ciclo de estudos, diversos estudantes participam em projetos de iniciação à investigação em centros ou
laboratório de I&D, com direito à menção no suplemento ao diploma (como projetos extracurriculares).

4.5.4. Teaching methodologies that promote the participation of students in scientific activities (as applicable):
• Students' interest and involvement in scientific research activities is promoted and facilitated in first place by the
teachers, the majority of which are integrated in R&D centers;
• In many UCs, students are confronted with research results at the knowledge frontier, which they are challenged to
critically analyze;
• In some UCs, students are challenged to find innovative solutions to real problems and to document them in the form
of a scientific paper, with some works already leading to scientific publications;
• Some UCs may integrate scientific experiments with students' participation;
• In the Project, one of the modalities foreseen is the development of a research initiation project in an R&D unit under
the supervision of a faculty member or a researcher;
• Throughout the study cycle, several students participate in research initiation projects in R&D centers or
laboratories, with the possibility of a mention in the supplement to their diploma (as extracurricular projects).

4.6. Fundamentação do número total de créditos ECTS do ciclo de estudos


4.6.1. Fundamentação do número total de créditos ECTS e da duração do ciclo de estudos, com base no determinado nos
artigos 8.º ou 9.º (1.º ciclo), 18.º (2.º ciclo), 19.º (mestrado integrado) e 31.º (3.º ciclo) do DL n.º 74/2006, de 24 de março,com
a redação do DL n.º 65/2018, de 16 de agosto:
A estrutura curricular da LIACD cumpre os requisitos definidos no artigo 9.º do Decreto-Lei n.º 74/2006, na redação
dada pelo Decreto-Lei nº 65/2018, de 16 de agosto, para ciclo de estudos conducente ao grau de licenciado no ensino
universitário. De facto, a LIACD está configurada como um ciclo de estudos com a duração de 6 semestres
curriculares correspondentes a um total de 180 créditos ECTS, cumprindo assim o estipulado nesse artigo (que admite
um intervalo de 180 a 240 créditos ECTS e seis a oito semestres curriculares). A opção por uma duração de 6
semestres está alinhada com a duração típica de 1ºs ciclos na área de Ciência de Computadores no espaço europeu,
com a prática comum das Escolas de Ciência de Computadores e Engenharias em Portugal.

4.6.1. Justification of the total number of ECTS credits and of the duration of the study programme, based on articles 8 or
9 (1st cycle), 18 (2nd cycle), 19 (integrated master) and 31 (3rd cycle) of DL no. 74/2006, republished by DL no. 65/2018, of
August 16th:
The curricular structure of LiEIC meets the requirements set out in Article 9 of Decree-Law No. 74/2006, in the wording
given by Decree-Law nº 65/2018, of August 16, for a study cycle leading to a university degree of “licenciado”. In fact,
LiEIC is configured as a course of study lasting 6 curricular semesters corresponding to a total of 180 ECTS credits,
thus fulfilling the stipulated in that article (which admits a range of 180 to 240 ECTS credits and six to eight semesters).
The option for a duration of 6 semesters is aligned with the typical duration of 1st cycles in the area of Computer
Science and Engineering in the European area, with the common practice of Computer Science and Engineering
Schools in Portugal.

4.6.2. Forma como os docentes foram consultados sobre a metodologia de cálculo do número de créditos ECTS das
unidades curriculares:
O nº de créditos ECTS por UC é harmonizado a nível da UP para facilitar a mobilidade interna, a partilha de UCs entre
ciclos de estudo e o alinhamento com as boas práticas nacionais e internacionais. As UCs da LIACD foram concebidas
com um volume de trabalho correspondente em geral a 6 créditos ECTS. O estudante tem a possibilidade de
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 97/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
selecionar UCs opcionais num total de 18 ECTS, incluindo em Desenvolvimento Pessoal e Competências Transversais.
Após uma primeira definição do mapa de UCs, objetivos gerais e créditos ECTS pela Comissão Instaladora (CI),
seguiu-se um período de auscultação do corpo docente. Com base nos comentários recebido, o mapa inicial foi
refinado e sujeito à apreciação pelos orgãos científicos dos departamentos envolvidos (DCC, DEI e DMAT).
Em seguida, a CI identificou regentes potenciais de cada UC a quem solicitou a elaboração da respetiva ficha com
base nos objetivos gerais definidos, com o cuidado de adequar o âmbito e volume de trabalho ao nº de créditos ECTS.

4.6.2. Process used to consult the teaching staff about the methodology for calculating the number of ECTS credits of the
curricular units:
The number of ECTS credits per UC is harmonized at UP to enable internal mobility, sharing of UCs, and the alignment
with national and international practice. LIACD’s UCs were designed with a workload generally corresponding to 6
ECTS credits. The student has the possibility to select optional UCs with a total of 18 ECTS, including in Personal
Development and Cross-cutting Skills.
Following a first definition of the map of UCs and their general objectives and ECTS credits by the Installing
Commission (IC), a period of faculty listening followed. Based on the feedback received, the initial map was refined and
subject to review by the councils of the main Department involved (DCC, DEI and DMAT).
Subsequently, the IC identified potential responsibles for each UC, to whom it was requested the preparation of the
respective form based on the general objectives defined, adjusting the workload to the number of ECTS credits.

4.7. Observações
4.7. Observações:
O ciclo de estudos está estruturado em UCs que totalizam 162 créditos ECTS obrigatórios e 18 créditos opcionais. O
estudante tem a opção de realizar um Estágio com 12 ECTS em ambiente de empresa. Estima-se que o Estágio seja
mais procurado por estudantes que pretendam seguir por uma via profissional no final do primeiro ciclo.
Alternativamente, e caso pretenda reforçar a componente científica, o estudante pode escolher a UC de Projeto (12
créditos), com o intuito de fazer iniciação à investigação científica. Pode ainda complementar a sua formação, optando
por UCs da lista de opções disponíveis, das áreas científicas de CC, Matemática, Física ou UCs e atividades de
Qualquer Área Científica da U. Porto desde que validadas pela comissão científica como detalhado abaixo. Os elencos
de tais blocos de opções podem vir a ser objeto de alterações aprovadas pelos órgãos científicos da Faculdade.
A aprovação em todas as unidades curriculares do plano de estudos permitirá a obtenção do grau de licenciado em
Inteligência Artificial e Ciência de Dados.
Observações do Mapa III:
(a) Nas UCs opcionais os estudantes devem escolher, de entre um catálogo a definir em cada semestre, as unidades
que pretendem realizar. Farão parte da lista de opcionais as UC de Estágio e de Projeto. A participação em concursos
de programação, na organização de eventos ou em estágios de verão também é elegível, mediante autorização do
diretor de ciclo de estudos e desde que essas atividades estejam acreditadas e creditadas na UP. O catálogo a oferecer
incluirá unidades das áreas científicas de CC, Matemática, Física ou DP/CTT. As escolhas dos estudantes são sujeitas
a validação pelo diretor do ciclo de estudos.
(b) A UC Estágio é focada no desenvolvimento de competências muito relevantes para a integração no mercado de
trabalho. O Estágio será realizado em empresas que proponham temas aliciantes para a formação dos estudantes e
sob supervisão de um elemento do corpo docente.
(c) A UC Projeto é focada no desenvolvimento de competências muito relevantes para a investigação científica, não
deixando de ter uma componente de formação mais abrangente. Será realizada num dos centros de investigação
ligados aos departamentos envolvidos.
(d) Na UC de Laboratório de IA e CD os estudantes recebem formação relativa a desenvolvimento de projetos e boas
práticas em IA e CD, incluindo IA responsável. São depois organizados em equipas de média dimensão, realizam um
projeto de Inteligência Artificial e Ciência de Dados com impacto social, para resolução de um problema real, com
base em propostas oriundas preferencialmente de organizações externas, culminando num evento de exposição
pública dos resultados alcançados.

4.7. Observations:
The study cycle is structured in UCs that total 162 compulsory ECTS credits and 18 optional ones. The student has the
option of doing an Internship with 12 ECTS in a company environment. It is estimated that the Internship is prefered by
students who intend to follow a professional path at the end of the first cycle. Alternatively, and if the student intends
to reinforce the scientific component, he / she can choose the Project UC (12 credits), in order to initiate scientific
research. The student can also complement training by choosing UCs from the list of available options, from the
scientific areas of Computer Science, Mathematics, Physics or any course or activity from Any Scientific Domain of U.
Porto as long as they are validated by the Scientific Committee of the program as detailed below. The list of such
option blocks may be subject to changes approved by the Faculty's scientific bodies.
The approval in all curricular units of the study plan will allow the achievement of a degree in Artificial Intelligence and
Data Science.
Observations of Map III:
(a) In elective UCs, students must choose, from a catalog to be defined each semester, the courses they intend to carry
out. The Internship and Project UCs will be part of the list of electives. Participation in programming competitions, in
the organization of events or in summer internships is also eligible, with permission from the director of the program
and provided that these activities are accredited and credited to the UP. The catalog to be offered will include units
from the scientific areas of CC, Mathematics, Physics or DPI. Student choices are subject to validation by the study
cycle director.
(b) The UC Internship is focused on the development of very relevant skills for integration into the job market. The
internship will be held in companies that offer attractive themes for the training of students and under the supervision

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 98/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
of a member of the faculty.
(c) The UC Project is focused on the development of very relevant skills for scientific research, while having a more
comprehensive training component. It will be held in one of the research centers linked to the departments involved.

5. Corpo Docente
5.1. Docente(s) responsável(eis) pela coordenação da implementação do ciclo de estudos.
5.1. Docente(s) responsável(eis) pela coordenação da implementação do ciclo de estudos.
Direção do ciclo de estudos:
- (Codiretor, Prof. Alípio Jorge, Prof. Associado da Faculdade de Ciências a tempo inteiro)
- (Codiretor, Prof. Luís Paulo Reis, Prof. Associado da Faculdade de Engenharia a tempo inteiro)
- (Diretora Adjunta, Prof. Inês Castro Dutra, Prof. Auxiliar da Faculdade de Ciências a tempo inteiro)
Comissão Científica:
- (Vogal, Prof. Carlos Soares, Prof. Associado da Faculdade de Engenharia a tempo inteiro)
- (Vogal, Prof. Maria Cristina de Carvalho Alves Ribeiro, Prof. Associada da Faculdade de Engenharia a tempo inteiro)
- (Vogal, Prof. Rita Ribeiro, Prof. Auxiliar da Faculdade de Ciências a tempo inteiro)

5.3 Equipa docente do ciclo de estudos (preenchimento automático)

5.3. Equipa docente do ciclo de estudos / Study programme’s teaching staff


Regime de tempo /
Categoria / Grau / Especialista Informação/
Nome / Name Área científica / Scientific Area Employment
Category Degree / Specialist Information
regime
Ademar Manuel Teixeira Professor Auxiliar Engenharia Eletrotécnica e de Ficha
Doutor 100
de Aguiar ou equivalente Computadores submetida
Professor
Alípio Mário Guedes Ficha
Associado ou Doutor Ciência de Computadores 100
Jorge submetida
equivalente
Álvaro Pedro de Barros Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Borges Reis Figueira ou equivalente submetida
Ana Paula Cunha da Professor Auxiliar Engenharia Eletrotécnica e de Ficha
Doutor 100
Rocha ou equivalente Computadores (Inteligência Artificial) submetida
Professor
Ana Paula Nunes Gomes Ficha
Associado ou Doutor Ciência de Computadores 100
Tomás submetida
equivalente
Professor Auxiliar Ficha
Ana Rita Pires Gaio Doutor Matemática 100
ou equivalente submetida
André Monteiro de Professor Auxiliar Ficha
Doutor Engenharia Informática 100
Oliveira Restivo ou equivalente submetida
André Ribeiro da Silva de Professor Auxiliar Deteção Remota e Processamento Ficha
Doutor 100
Almeida Marçal ou equivalente de Imagem submetida
Professor
António Mário da Silva Ficha
Associado ou Doutor Ciência de Computadores 100
Marcos Florido submetida
equivalente
Engenharia Eletrotécnica e de
António Miguel Pontes Professor Auxiliar Ficha
Doutor Computadores (Processamento de 100
Pimenta Monteiro ou equivalente submetida
Imagem)
Armando Jorge Miranda Professor Auxiliar Engenharia Eletrotécnica e de Ficha
Doutor 100
de Sousa ou equivalente Computadores (Robótica) submetida
Professor Auxiliar Ficha
Bruno Serra Loff Barreto Doutor Ciência de Computadores 100
ou equivalente submetida
Carla Alexandra Teixeira Professor Auxiliar Ficha
Doutor Engenharia Informática 100
Lopes ou equivalente submetida
Professor
Carlos Manuel Milheiro de Ficha
Associado ou Doutor Ciência de Computadores 100
Oliveira Pinto Soares submetida
equivalente
Daniel Augusto Gama de Professor Auxiliar Ficha
Doutor Engenharia Informática 100
Castro Silva ou equivalente submetida
Eduardo Resende Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Brandão Marques ou equivalente submetida
Professor
Fernando Manuel Ficha
Catedrático ou Doutor Ciência de Computadores 100
Augusto da Silva submetida
equivalente
Professor
Gabriel de Sousa Torcato Ficha
Associado ou Doutor Informática 100
David submetida
equivalente
Henrique Daniel de Professor Auxiliar Doutor Engenharia Informática 100 Ficha

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 99/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Avelar Lopes Cardoso ou equivalente submetida
Professor Auxiliar Ficha
Inês de Castro Dutra Doutor Ciências de Computadores 100
ou equivalente submetida
João António Correia Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Lopes ou equivalente submetida
Professor Engenharia Eletrotécnica e de
João Carlos Pascoal Ficha
Associado ou Doutor Computadores (Engenharia de 100
Faria submetida
equivalente Software)
Professor
João Manuel Borregana Ficha
Catedrático ou Doutor Física 100
Lopes dos Santos submetida
equivalente
Professor
João Manuel Paiva Ficha
Catedrático ou Doutor Computer Engineering 100
Cardoso submetida
equivalente
João Paulo da Silva Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Machado Garcia Vilela ou equivalente submetida
Professor
João Paulo de Castro Engenharia Eletrotécnica e de Ficha
Associado ou Doutor 100
Canas Ferreira Computadores submetida
equivalente
João Pedro Carvalho Leal Professor Auxiliar Ciências de engenharia (Ciência de Ficha
Doutor 100
Mendes Moreira ou equivalente dados) submetida
João Pedro Pedroso Professor Auxiliar Ficha
Doutor Matemática computacional 100
Ramos dos Santos ou equivalente submetida
Professor Auxiliar Engenharia Electrotécnica e de Ficha
Jorge Alves da Silva Doutor 100
ou equivalente Computadores submetida
Jorge Manuel Gomes Professor Auxiliar Engenharia Eletrotécnica e de Ficha
Doutor 100
Barbosa ou equivalente Computadores (Sistemas Paralelos) submetida
Professor
Ficha
José Ferreira Alves Catedrático ou Doutor Matemática 100
submetida
equivalente
Professor
José Luís Cabral Moura Ficha
Associado ou Doutor Computer Science 100
Borges submetida
equivalente
José Paulo de Vilhena Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Geraldes Leal ou equivalente submetida
Professor
Luís Filipe Coelho Ficha
Catedrático ou Doutor Ciência de Computadores 100
Antunes submetida
equivalente
Engenharia Electrotécnica e de
Luis Filipe Pinto de Professor Auxiliar Ficha
Doutor Computadores (Visão por 100
Almeida Teixeira ou equivalente submetida
Computador)
Professor
Ficha
Luís Miguel Barros Lopes Associado ou Doutor Ciência de Computadores 100
submetida
equivalente
Professor
Luís Paulo Gonçalves dos Engenharia Eletrotécnica e de Ficha
Associado ou Doutor 100
Reis Computadores (Inteligência Artificial) submetida
equivalente
Manuel António Salgueiro Professor Auxiliar Ficha
Doutor Física 100
da SIlva ou equivalente submetida
Manuel Augusto Professor Auxiliar Ficha
Doutor Matemática 100
Fernandes Delgado ou equivalente submetida
Manuel Bernardo Martins Professor Auxiliar Ficha
Doutor Electrical and Electronic Engineering 100
Barbosa ou equivalente submetida
Professor
Margarida Maria Araújo Ficha
Associado ou Doutor Matemática 100
Brito submetida
equivalente
Professor
Maria Cristina de Ficha
Associado ou Doutor Informática/Inteligência Artificial 100
Carvalho Alves Ribeiro submetida
equivalente
Maria João Pinto Professor Auxiliar Ficha
Doutor Matemática Aplicada 100
Sampaio Rodrigues ou equivalente submetida
Michel Celestino Paiva Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Ferreira ou equivalente submetida
Professor Auxiliar Ficha
Miguel Tavares Coimbra Doutor Electronic Engineering 100
ou equivalente submetida
Nelma Resende Araújo Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Moreira ou equivalente submetida
Nuno Honório Rodrigues Professor Auxiliar Ficha
Doutor Engenharia Informática 100
Flores ou equivalente submetida
Paula Alexandra de
Professor Auxiliar Ficha
Almeida Bastos Carvalho Doutor Matemática 100
ou equivalente submetida
Lomp
Pedro Baltazar Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Vasconcelos ou equivalente submetida
Pedro Gabriel Dias Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Ferreira ou equivalente submetida

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5a… 100/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Pedro Manuel Pinto Professor Auxiliar Doutor Ciência de Computadores 100 Ficha
Ribeiro ou equivalente submetida
Pedro Miguel Alves Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Brandão ou equivalente submetida
Professor
Ricardo Jorge Gomes Ficha
Associado ou Doutor Ciência de Computadores 100
Lopes da Rocha submetida
equivalente
Professor Auxiliar Ficha
Ricardo Santos Morla Doutor Computing 100
ou equivalente submetida
Rita Paula Almeida Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Ribeiro ou equivalente submetida
Rogério Ventura Lages Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
dos Santos Reis ou equivalente submetida
Professor Auxiliar Ficha
Rolando da Silva Martins Doutor Ciência de Computadores 100
ou equivalente submetida
Rosaldo José Fernandes Professor Auxiliar Ficha
Doutor Ciência da Computação 100
Rossetti ou equivalente submetida
Professor
Rui Carlos Camacho de Engenharia Eletrotécnica e de Ficha
Associado ou Doutor 100
Sousa Ferreira da Silva Computadores (Inteligência Artificial) submetida
equivalente
Professor
Ficha
Sabine Babette Broda Associado ou Doutor Ciência de Computadores 100
submetida
equivalente
Sandra Maria Mendes Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Alves ou equivalente submetida
Sérgio Armindo Lopes Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Crisóstomo ou equivalente submetida
Professor
Sílvio Marques de Ficha
Associado ou Doutor Matemática 100
Almeida Gama submetida
equivalente
Vera Lucia Miguéis Professor Auxiliar Ficha
Doutor Engenharia e gestão industrial 100
Oliveira e Silva ou equivalente submetida
Verónica Costa Teixeira Professor Auxiliar Ficha
Doutor Computação Gráfica 100
Pinto Orvalho ou equivalente submetida
Vítor Manuel de Morais Professor Auxiliar Ficha
Doutor Ciência de Computadores 100
Santos Costa ou equivalente submetida
6600

<sem resposta>

5.4. Dados quantitativos relativos à equipa docente do ciclo de estudos.

5.4.1. Total de docentes do ciclo de estudos (nº e ETI)

5.4.1.1. Número total de docentes.


66

5.4.1.2. Número total de ETI.


66

5.4.2. Corpo docente próprio - Docentes do ciclo de estudos em tempo integral

5.4.2. Corpo docente próprio – docentes do ciclo de estudos em tempo integral.* / "Full time teaching staff” – number of
teaching staff with a full time link to the institution.*
Nº / Percentagem /
Corpo docente próprio / Full time teaching staff
No. Percentage
Nº de docentes do ciclo de estudos em tempo integral na instituição / No. of teaching staff with a full time link
66 100
to the institution:

5.4.3. Corpo docente academicamente qualificado – docentes do ciclo de estudos com o grau de doutor

5.4.3. Corpo docente academicamente qualificado – docentes do ciclo de estudos com o grau de doutor* /
"Academically qualified teaching staff” – staff holding a PhD*
Corpo docente academicamente qualificado / Academically qualified teaching staff ETI / FTE Percentagem / Percentage

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5a… 101/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Docentes do ciclo de estudos com o grau de doutor (ETI) / Teaching staff holding a PhD (FTE): 66 100

5.4.4. Corpo docente do ciclo de estudos especializado

5.4.4. Corpo docente do ciclo de estudos especializado / “Specialised teaching staff” of the study programme.
ETI
Percentagem* /
Corpo docente especializado / Specialized teaching staff /
Percentage*
FTE
Docentes do ciclo de estudos com o grau de doutor especializados nas áreas fundamentais do ciclo de estudos
63 95.454545454545 66
(ETI) / Teaching staff holding a PhD and specialised in the fundamental areas of the study programme
Especialistas, não doutorados, de reconhecida experiência e competência profissional nas áreas fundamentais do
ciclo de estudos (ETI) / Specialists not holding a PhD, with well recognised experience and professional capacity in 0 0 66
the fundamental areas of the study programme

5.4.5. Estabilidade e dinâmica de formação do corpo docente.

5.4.5. Estabilidade e dinâmica de formação do corpo docente. / Stability and development dynamics of the teaching
staff
ETI / Percentagem* /
Estabilidade e dinâmica de formação / Stability and tranning dynamics
FTE Percentage*
Docentes do ciclo de estudos em tempo integral com uma ligação à instituição por um período superior a três anos
66 100 66
/ Teaching staff of the study programme with a full time link to the institution for over 3 years
Docentes do ciclo de estudos inscritos em programas de doutoramento há mais de um ano (ETI) / FTE number of
0 0 66
teaching staff registered in PhD programmes for over one year

Pergunta 5.5. e 5.6.


5.5. Procedimento de avaliação do desempenho do pessoal docente e medidas conducentes à sua permanente
atualização e desenvolvimento profissional.
A avaliação do desempenho do pessoal docente seguirá o ECDU, o RJIES e o Regulamento de Avaliação de
Desempenho da UP. Os Docentes são periodicamente avaliados de acordo com o Regulamento de avaliação de
desempenho da Universidade do Porto (Despacho nº 5880/2017 de 4 de julho) e mais especificamente no Regulamento
de Avaliação de Desempenho da FEUP(Despacho n.º 5096/2012 de 12 de abril de 2012, Diário da República, 2.ª série —
N.º 73) e no Regulamento de Avaliação de Desempenho da FCUP(Despacho n.º 165/2013 de 13 de maio de 2013, Diário
da República, 2.ª série–N.º 91). Para apoiar a atualização de competências e práticas pedagógicas do pessoal docente,
a UP disponibilizauma vasta oferta formativa dirigida especificamente aos docentes. Por outro lado, a atualização de
competências técnicas e científicas é fomentada através do envolvimento do corpo docente em atividades de
investigação científica

5.5. Procedures for the assessment of the teaching staff performance and measures for their permanent updating and
professional development.
The performance evaluation of teaching staff will follow the ECDU, RJIES and the UP Performance Evaluation
Regulation. Teachers of the study cycle are periodically evaluated in accordance with the performance evaluation
regime set out in the University of Porto (Order No.5880/2017 of July 4), and more specifically in the Performance
Evaluation Regulation of FEUP(Order No. 5096/2012 of April 12, 2012, Diário da República, 2nd Series -No. 73) and the
Performance Evaluation Regulation of the FCUP(Order No. 165/2013 of May13, 2012, Diário da República, 2nd Series -
No. 91).To support the updating of teaching staff's pedagogical skills and practices, the UP provides a wide training
offer aimed specifically at teachers. On the other hand, the updating of technical and scientific skills is promoted
through the involvement of the teaching staff in scientific research activities.

5.6. Observações:

a) No quadro 5.3, indicam-se os docentes integrados atualmente na carreira docente. O regime de tempo refere-se ao
vínculo com a UP, e não à proporção de dedicação a este ciclo de estudos em particular; de facto, na generalidade dos
casos, os docentes colaboram em múltiplos ciclos de estudos.
b) Os docentes indicados para lecionar UCs classificadas nas áreas fundamentais do ciclo de estudos (Computer
Science / MAT) são especializados nas respetivas áreas. Os docentes indicados para lecionar UCs nas outras áreas
são especializados nas respetivas áreas.

5.6. Observations:
a) Table 5.3 shows the faculty currently integrated in the teaching career. The time regime refers to the link with UP, and
not to the proportion of dedication to this particular study cycle; in fact, in most cases, teachers collaborate in multiple
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5a… 102/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
study cycles.
b) The teachers allocated to teach UCs classified in the fundamental areas of the study cycle (CC/ Maths) are
specialized in those areas. The teachers allocated to UCs in the areas are specialized in the areas of those UCs.

6. Pessoal Não Docente


6.1. Número e regime de tempo do pessoal não-docente afeto à lecionação do ciclo de estudos.
● Serviços Académicos-FCUP - 15 RH da FCUP e 18 RH da FEUP darão apoio aos estudantes e docentes desde o
acesso à certificação.
● Departamento de Ciência de Computadores (DCC) - 2 técnicos superiores, responsáveis pela administração e
manutenção da rede informática, laboratórios e servidores; 2 assistentes técnicas, responsáveis pelo secretariado; 1
auxiliar técnica, responsável pela manutenção das instalações.
● Departamento de Engenharia Informática (DEI) – 3 RH parcialmente afetos ao CE que garantem as atividades de
administração, gestão e secretariado.
● Gabinete de Sistemas de Informação (GSI) – 6 RH que dão apoio de laboratório a tarefas de ensino, investigação e
serviços, no âmbito das atividades desenvolvidas no CE.
O regime de tempo do pessoal não docente é tempo inteiro.

6.1. Number and work regime of the non-academic staff allocated to the study programme.
● Academic Services-FCUP - 15 HR from FCUP and 18 HR from FEUP will provide support to students and teachers
from access to certification.
●Department of Computer Science (DCC) - 2 senior technicians, responsible for the administration and maintenance of
the computer network, laboratories and servers; 2 technical assistants, responsible for the secretariat; 1 technical
assistant, responsible for the maintenance of the facilities.
●Department of Informatics Engineering (DEI) - 3 HR partially assigned to the SC, ensuring administration,
management and secretarial activities.
●Information Systems Office (GSI) - 6 HR that provide laboratory support for teaching, research and service tasks in
the scope of the SC activities.
The time regime for non-teaching staff is full-time

6.2. Qualificação do pessoal não docente de apoio à lecionação do ciclo de estudos.


Dos serviços académicos da FCUP 2 RH têm mestrado, 1 tem pós-graduação, 8 são licenciados, 1 tem o 12º ano e 3
têm outras formações. Da FEUP, 3 RH possuem mestrado, 11 licenciatura e 4 o ensino secundário.
Os 5 técnicos do DCC têm as seguintes habilitações: 2 técnicos superiores (um com mestrado, um licenciado); 2
assistentes técnicas (12º ano); 1 auxiliar técnica (6º ano).
Dos 3 recursos humanos afetos ao Departamento de Engenharia Informática (DEI), dois possuem licenciatura e
outro ensino secundário.
Dos 6 colaboradores afetos ao Gabinete de Sistemas de Informação, 2 possuem mestrado, 3 licenciatura e 1 o 12º ano.

6.2. Qualification of the non-academic staff supporting the study programme.


In the academic services from FCUP, 2 HR have a master's degree, 1 has a postgraduate degree, 8 have a first degree, 1
has finished secondary school and 3 have other degrees. From FEUP, 3 HR have a master's degree, 11 a first degree
and 4 secondary education.
The 5 DCC technicians have the following qualifications: 2 senior technicians (one MSc and one BSc); 2 technical
assistants (high school); 1 technical assistant (6th year).
Of the 3 human resources allocated to the Department of Informatics Engineering (DEI), two have “licenciatura” and
the other a high school diploma.
Of the 6 human resources allocated to the Information Systems Office, 2 have a master’s degree, 3 have a
“licenciatura” degree and 1 has the 12th year.

6.3. Procedimento de avaliação do pessoal não-docente e medidas conducentes à sua permanente atualização e
desenvolvimento profissional.
A avaliação de desempenho do Pessoal Não Docente obedece a metodologia e a critérios pré-definidos. Os
Trabalhadores em exercício de funções públicas são avaliados de acordo com o Sistema Integrado de Avaliação de
Desempenho na Administração Pública (SIADAP), e os Trabalhadores com contrato em regime de direito privado da
UP são avaliados de acordo com o Sistema de Avaliação de Desempenho da Universidade do Porto (SIADUP).
Promove-se a avaliação de desempenho como instrumento de reconhecimento do mérito e de melhoria da qualidade.
Anualmente é definido o plano de formação do pessoal não docente que resulta de levantamentos de necessidades de
formação, no sentido de melhorar as qualificações do pessoal não docente.

6.3. Assessment procedures of the non-academic staff and measures for its permanent updating and personal
development
The performance evaluation of Non-Teaching Staff follows the pre-defined methodology and criteria. Employees in
public service are assessed in accordance with the Integrated System of Performance Assessment in Public
Administration (SIADAP), and Workers with contract under the private law of UP are assessed in accordance with the
Performance Evaluation System of Public Administration of University of Porto (SIADUP).
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5a… 103/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Performance evaluation is promoted as a tool for recognizing merit and improving quality.
The training plan for non-teaching staff that results from training needs assessments to improve the qualifications of
non-teaching staff is defined annually.

7. Instalações e equipamentos
7.1. Instalações físicas afetas e/ou utilizadas pelo ciclo de estudos (espaços letivos, bibliotecas, laboratórios, salas de
computadores, etc.):
No edifício da FCUP:
● Anfiteatros - 2270 m2
● Salas de aula - 2290 m2
● Biblioteca 2000 - m2
● Salas de informática - 390 m2
● Salas de estudo - 580 m2
● Outros (bares, restaurante) - 760 m2

Espaços específicos do DCC:


● 8 laboratórios de computadores com cerca de 170 PCs - 494 m2
● 1 laboratório de redes e segurança - 56 m2
● 2 Salas de videoconferência para aulas locais e remotas, provas académicas e reuniões - 80 m2
● 16 salas amplas para alunos de mestrado ou doutoramento ou com bolsa de investigação - 556 m2

No edifício da FEUP:
● Biblioteca - Gabinetes de estudo individual e salas de leitura (27 salas)
● Anfiteatros (3 x 184 lugares; 13 x 99 lugares; 18 x 55 lugares)
● Sala de Computadores (3 x 16 a 20 lugares; 14 x 24 a 27 lugares)
● Sala de Aula (34 x 25 a 46 lugares)
● Laboratório de Acesso Livre (20 lugares)
● Salas de Exame (12 salas de 44 a 89 lugares)

7.1. Facilities used by the study programme (lecturing spaces, libraries, laboratories, computer rooms, ...):
In the FCUP building:
- Amphitheaters - 2270 m2
- Classrooms - 2290 m2
- Library 2000 - m2
- Computer rooms - 390 m2
- Study rooms - 580 m2
- Others (bars, restaurant) - 760 m2

Specific Department Facilities:


- 8 computer labs with about 170 PCs - 494 m2
- 1 network and security laboratory - 56 m2
- 2 Videoconference rooms for local and remote classes, academic exams and meetings - 80 m2
- 16 open sapces for master's or doctoral students or with a research grant - 556 m2

At the FEUP building:


- Library - Individual study offices and reading rooms (27 rooms)
- Amphitheaters (3 x 184 seats; 13 x 99 seats; 18 x 55 seats)
- Computer Room (3 x 16 to 20 places; 14 x 24 to 27 places)
- Classroom (34 x 25 to 46 places)
- Open Access Laboratory (20 places)
- Examination Rooms (12 rooms with 44 to 89 seats)

7.2. Principais equipamentos e materiais afetos e/ou utilizados pelo ciclo de estudos (equipamentos didáticos e
científicos, materiais e TIC):
Os principais equipamentos e materiais afetos ao ciclo de estudos incluem:
● Salas de Aula - Computadores Pessoais, Projetores de Vídeo, Equipamentos de Rede.
● Laboratório de Projeto, Acesso Livre – Computadores.
● Biblioteca - Editoras de Revistas Científicas; Bases de Dados Bibliográficas; Enciclopédias e Dicionários; Editoras
de e-Books; Bibliotecas Repositórios Digitais; Livros de Texto; Revistas em papel; Títulos com acesso on-line.
● Centro de Informática - Pontos de Acesso à Rede (cabo); Pontos de Acesso à Rede (wireless); Impressoras em rede;
Servidores; Routers; Switches; Cluster com interligação em GRID (64 processadores).
● Labs. de I &D – Computadores (PCs e servidores); Robôs; Dispositivos IoT (sensores & atuadores); “Wearables”.

7.2. Main equipment or materials used by the study programme (didactic and scientific equipment, materials, and ICTs):
The main equipment and materials allocated the study course include:
● Classrooms - Personal Computers, Video Projectors, Network Equipment.
● Project Lab - Computers

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5a… 104/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
● Library - access to Scientific Journals, Bibliographic Databases, Encyclopedias and Dictionaries, e-Books, Digital
Repositories and Libraries Text Books, hardcopy Magazines, Online articles.
● Informatics Centre - cable and wireless network access points; network printers; servers, routers; switches; grid
computing (64 processors)
● R&D Labs – Computers (PCs and servers); Robots; IoT equipment (sensors & actuators); Wearables.

8. Atividades de investigação e desenvolvimento e/ou de formação avançada e


desenvolvimento profissional de alto nível.
8.1. Centro(s) de investigação, na área do ciclo de estudos, em que os docentes desenvolvem a sua
atividade científica

8.1. Mapa VI Centro(s) de investigação, na área do ciclo de estudos, em que os docentes desenvolvem a sua atividade
científica / Research centre(s) in the area of the study programme where teaching staff develops its scientific activity
N.º de docentes do
Classificação
CE integrados /
(FCT) /
Centro de Investigação / Research Centre IES / HEI Number of study Observações / Observations
Classification
programme teaching
FCT
staff integrated
INESC TEC - Tecnologia e Ciência, Resultados da Avaliação de Unidades
Laboratório Associado / INESC TEC Institute I&D 2017/2018. Pedido de reavaliação
Autónomo /
for Systems and Computer Engineering, Muito Bom 37 pendente/ Results of the Evaluation
Autonomous
Technology and Science, Associated ofR&D Units 2017/2018. Pending
Laboratory revaluation request
LIACC- Laboratório de Inteligência Artificial e Resultados da Avaliação de Unidades
Ciência de Computadores / Artificial Excelente U.Porto 10 I&D 2017/2018/ Results of the
Intelligence and Computer Science Laboratory Evaluation of R&D Units 2017/2018
Centro de Matemática da Universidade do Resultados da Avaliação de Unidades
Porto (CMUP) / The Centre of Mathematics of Excelente U.Porto 11 I&D 2017/2018/ Results of the
the University of Porto Evaluation of R&D Units 2017/2018
Resultados da Avaliação de Unidades
Instituto de Telecomunicações (IT) / Autónomo /
Mutio Bom 4 I&D 2017/2018/ Results of the
Telecommunications Institute Autonomous
Evaluation of R&D Units 2017/2018
Centro de Física das Universidades do Minho Resultados da Avaliação de Unidades
U. Porto, U.
e do Porto (CF-UM-UP) / Centre of Physics of Muito Bom 1 I&D 2017/2018/ Results of the
Minho
the University of Minho and Porto Evaluation of R&D Units 2017/2018
Centro de Investigação da Terra e do Espaço
Resultados da Avaliação de Unidades
da Universidade de Coimbra (CITEUC) /
Bom U.Coimbra 1 I&D 2017/2018/ Results of the
Centre for Earth and Space Research of the
Evaluation of R&D Units 2017/2018
University of Coimbra
Centro de Investigação em Tecnologias e Resultados da Avaliação de Unidades
Serviços de Saúde (CINTESIS) / Center for Muito Bom U.Porto 1 I&D 2017/2018/ Results of the
Health Technology and Services Research Evaluation of R&D Units 2017/2018

Pergunta 8.2. a 8.4.


8.2. Mapa-resumo de publicações científicas do corpo docente do ciclo de estudos, em revistas de circulação
internacional com revisão por pares, livros ou capítulos de livro, relevantes para o ciclo de estudos, nos últimos 5 anos.
http://www.a3es.pt/si/iportal.php/cv/scientific-publication/formId/16798e93-deea-7be6-5add-5f64cfcabf73
8.3. Mapa-resumo de atividades de desenvolvimento de natureza profissional de alto nível (atividades de desenvolvimento
tecnológico, prestação de serviços ou formação avançada) ou estudos artísticos, relevantes para o ciclo de estudos:
http://www.a3es.pt/si/iportal.php/cv/high-level-activities/formId/16798e93-deea-7be6-5add-5f64cfcabf73
8.4. Lista dos principais projetos e/ou parcerias nacionais e internacionais em que se integram as atividades científicas,
tecnológicas, culturais e artísticas desenvolvidas na área do ciclo de estudos.
O corpo docente da LIACD participa e/ou lidera vários projetos de investigação e desenvolvimento e tem diversas
relações internacionais. Alguns projetos em que membros do corpo docente da LIACD participam:
● HumaneAI-NET - European Network of Artificial Intelligence Excellence Centres - (H2020 ICT48)
● ANTAREX - AutoTuning and Adaptivity appRoach for Energy efficient eXascale HPC systems (H2020 – 671623)
● CHIC (POCI-01-0247-FEDER-024498)
● BEACONING - Breaking Educational Barriers with Contextualised, Pervasive and Gameful Learning (H2020 - 687676)
● FEEdBACk - Fostering Energy Efficiency and BehAvioural Change through ICT (H2020 - 768935)
● RECAP - Research on European Children and Adults born Preterm (H2020 - 733280)
● AutoDriving (POCI-01-0145-FEDER-028526)
● PRODUTECH SIF - Soluções para a Indústria de Futuro (POCI-01-0247-FEDER-024541)
● INDTECH 4.0 (POCI-01-0247-FEDER-026653)
● C-ROADS PORTUGAL (72070, 2016-PT-TM-0259-S, CE)
● Simusafe – Simulator of Behavioural Aspects for Safer Transport (H2020 – 723386)

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5a… 105/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
● URready4OS - Expanded Underwater Robotics ready for Oil Spill (H2020 - ECHO/SUB/2016/740129/PREP/21)
● IA.SAE – Inteligência Artificial na Segurança Alimentar e Económica (FCT- DSAIPA/Demonstrador)
● DARGMINTS (FCT - POCI-01-0145-FEDER-031460)
● EPISA - Inferência de entidades e propriedades para arquivos semânticos (FCT - DSAIPA/DS/0023/2018)
● IntellWheels2.0 – (POCI-01-0247-FEDER-39898)
● Sono ao Volante 2.0 – (NORTE-01-0247-FEDER-039720)
● PROject ManagEment intelligent aSSistAnt (NORTE-01-0247-FEDER-039887)
● RECLAIM - RE-manufaCturing and Refurbishment LArge Industrial equipment (H2020 – 869884)
● HADES: HArdware-backed trusted and scalable DEcentralized Systems (PTDC/CCI-INF/31698/2017)
● Estetoscópio Digital para Uso Clínico (PTDC/CCI-COM/29200/2017)
● FGPE - (2018-1-PL01-KA203-050803)/Erasmus+
● M-BW (PT/FB/BL-2016-312)/BIAL
● Text2Story (PTDC/CCI-COM/31857/2017)
● Human-AI (H2020 - 820437)
● MobiWise (POCI-01-0145-FEDER-016426)
● Safe Cities - Inovação para Construir Cidades Seguras (POCI-01-0247-FEDER-041435)
● LastMile (POCI-01-0145-FEDER-028611)
● AVC em translação (PTDC/MEC-NEU/31674/2017)
● NaSA (PTDC/MEC-ONC/32018/2017)
● Tregs in cancer immune response (PTDC/MED-PAT/32462/2017)
● GenomePT (POCI-01-0145-FEDER-022184)
● CyberSec4Europe - Cyber Security Network of Competence Centres for Europe (H2020 - 830929)
● TRAINEV (H2020-MSCA-ITN-2016 - 722148)
Algumas parcerias:
● Universidades de Lisboa, Coimbra, Aveiro, Minho, UNL, IUL, UTAD, UAçores, P.Porto, IPB, IPCA, IPVC, São Paulo,
Fed.Pernambuco, UFSC, Carnegie Mellon, MIT, Graz, Sheffield, Luxemburg, Delft, UTexas, South Australia, Naples
Federico II, Milano, TU Darmstadt.
● Palo Alto Research Center, CERN, Microsoft Research, ESEO, Google, Google Deepmind, TAP, Facebook, HondaRI,
Schneider, APTIV, SONAE IM, Delloite, Volkswagen, IBM, Altran, Fraunhofer Portugal, Bosch Car, Continental Mabor,
Critical Manufaturing, EFACEC, Farfetch, Feedzai, Natixis, NOS.

8.4. List of main projects and/or national and international partnerships underpinning the scientific, technologic, cultural
and artistic activities developed in the area of the study programme.
LIACD faculty members are participants and/or leaders in several research and development projects and have several
international relationships with other institutions. Some projects in which members of LIACD faculty staff participate: :
● HumaneAI-NET - European Network of Artificial Intelligence Excellence Centres - (H2020 ICT48)
● ANTAREX - AutoTuning and Adaptivity appRoach for Energy efficient eXascale HPC systems (H2020 – 671623)
● CHIC (POCI-01-0247-FEDER-024498)
● BEACONING - Breaking Educational Barriers with Contextualised, Pervasive and Gameful Learning (H2020 - 687676)
● FEEdBACk - Fostering Energy Efficiency and BehAvioural Change through ICT (H2020 - 768935)
● RECAP - Research on European Children and Adults born Preterm (H2020 - 733280)
● AutoDriving (POCI-01-0145-FEDER-028526)
● PRODUTECH SIF - Soluções para a Indústria de Futuro (POCI-01-0247-FEDER-024541)
● INDTECH 4.0 (POCI-01-0247-FEDER-026653)
● C-ROADS PORTUGAL (72070, 2016-PT-TM-0259-S, CE)
● Simusafe – Simulator of Behavioural Aspects for Safer Transport (H2020 – 723386)
●URready4OS - Expanded Underwater Robotics ready for Oil Spill (H2020 - ECHO/SUB/2016/740129/PREP/21)
●IA.SAE –Artificial Intelligence for Food and Economic Safety (FCT - DSAIPA/Demonstrator)
●DARGMINTS (FCT - POCI-01-0145-FEDER-031460)
●EPISA - Inferência de entidades e propriedades para arquivos semânticos (FCT - DSAIPA/DS/0023/2018)
●IntellWheels2.0 – (POCI-01-0247-FEDER-39898)
●Sono ao Volante 2.0 – (NORTE-01-0247-FEDER-039720)
●PROject ManagEment intelligent aSSistAnt (NORTE-01-0247-FEDER-039887)
●RECLAIM - RE-manufaCturing and Refurbishment LArge Industrial equipment (H2020 – 869884)
●HADES: HArdware-backed trusted and scalable DEcentralized Systems (PTDC/CCI-INF/31698/2017)
●Estetoscópio Digital para Uso Clínico (PTDC/CCI-COM/29200/2017)
●FGPE - (2018-1-PL01-KA203-050803)/Erasmus+
●M-BW (PT/FB/BL-2016-312)/BIAL
●Text2Story (PTDC/CCI-COM/31857/2017)
●Human-AI (H2020 - 820437)
●MobiWise (POCI-01-0145-FEDER-016426)
●Safe Cities - Inovação para Construir Cidades Seguras (POCI-01-0247-FEDER-041435)
●LastMile (POCI-01-0145-FEDER-028611)
●AVC em translação (PTDC/MEC-NEU/31674/2017)
●NaSA (PTDC/MEC-ONC/32018/2017)
●Tregs in cancer immune response (PTDC/MED-PAT/32462/2017)
●GenomePT (POCI-01-0145-FEDER-022184)
●CyberSec4Europe - Cyber Security Network of Competence Centres for Europe (H2020 - 830929)
●TRAINEV (H2020-MSCA-ITN-2016 - 722148)
Some partnerships:
●Univ. of Lisbon, Coimbra, Aveiro, Minho, New Lisbon, IUL, UTAD, UAzores, P.Porto, IPB, IPCA, IPVC, São Paulo,
Fed.Pernambuco, UFSC, Carnegie Mellon University, MIT, Graz, Sheffield, Luxemburg, Delft, UTexas, South Australia,
Naples Federico II, Milano, TU Darmstadt
●Palo Alto Research Center, CERN, Microsoft Research, ESEO, Google, Google Deepmind, TAP, Facebook, HondaRI,
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5a… 106/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Schneider, APTIV, SONAE IM, Delloite, Volkswagen, IBM, Altran, Fraunhofer Portugal, Bosch Car, Continental Mabor,
Critical Manufacturing, EFACEC, Farfetch, Feedzai, Natixis, NOS.

9. Enquadramento na rede de formação nacional da área (ensino superior


público)
9.1. Avaliação da empregabilidade dos graduados por ciclo de estudos similares com base em dados oficiais:
De acordo com dados da DGES, a percentagem de recém-diplomados (2014-2017) que em 2019 se encontravam
registados como desempregados no IEFP era de 1.3% para diplomados daLCCe 2,4% para diplomados na mesma área
de formação em todo o ensino superior público.De acordo com o estudo “Digital organisational frameworks and IT
professionalism” da Comissão Europeia de março de 2019, num cenário de crescimento moderado, o nº de
profissionais de TIC na EU-28 em 2020 será de cerca de 6 milhões (75% dos quais em funções de gestão,
análise,arquitetura, desenvolvimento e administração), para uma procura de 6.4 milhões, resultando num deficit de 400
mil profissionais.A “European Strategy for Data” de fevereiro de 2020, prevê a aceleração da transformação digital
centrada nos dados, no seu processamento, proteção e valorização. Aí se reconhece que há uma falta de especialistas
em dados e prevê-se que a Europa consiga em 2025 suprir apenas 50% das necessidades.

9.1. Evaluation of the employability of graduates by similar study programmes, based on official data:
According to DGES data, the percentage of recent graduates (2014-2017) who in 2018 were registered as unemployed
at IEFP was 0.9%/1.1% for MIEIC/MIERSI graduates and 1.5% for graduates in the same area of education throughout
public higher education.
According to the “Digital organizational frameworks and IT professionalism” study of the European Commission,
March 2019, in a scenario moderate growth, the number of ICT professionals in the EU-28 in 2020 will be around 6
million (75% of which in management, analysis, architecture, development and administration jobs), to a demand of 6.4
million, resulting in a deficit of 400 thousand professionals.
The 2019 FEUP employability survey of MIEIC graduates in 2017/2018 indicates that 96% were employed within 10
months of graduation (59% even before graduation) in functions totally or partially related with their area of education,
and 3 others % started new training.

9.2. Avaliação da capacidade de atrair estudantes baseada nos dados de acesso (DGES):
Na 1ª fase do concurso nacional de acesso de 2019, o MIEIC teve 867 candidatos para 135 vagas, dos quais 343 em 1ª
opção e 196 em 1ª opção com classificação >= 170, correspondente a um índice de excelência de 1,45. A classificação
do último colocado pelo contingente geral foi de 178,3. A percentagem de colocados em 1ª opção foi de 83% . Nos
cursos oferecidos pelo Departamento de Ciência de Computadores, FCUP, a LCC teve em 2019 447 candidatos para 54
vagas, com uma muito elevada procura para o número de vagas. O primeiro colocado ingressou com média 18 e o
último com média 13. A média dos colocados foi de 14,3. O MIERSI teve 580 candidatos e 75 colocados.
Adicionalmente, há uma procura significativa por via de concursos locais. Espera-se que, com uma adequada
divulgação, estes níveis de procura se mantenham, ou sejam superiores, na LIACD.

9.2. Evaluation of the capability to attract students based on access data (DGES):
In the first phase of the 2019 national access application, MIEIC had 867 candidates for 135 vacancies, of which 343 in
1st option, and 196 in 1st option with a grade >= 170, corresponding to an excellence index of 1.45. The lowest grade of
the admitted by the general contingent was 178.3. The percentage of admitted in 1st option was 83% . In the programs
offered by the Department of Computer Science, FCUP, LCC had in 2019 447 candidates for 54 places, with a very high
demand for the number of vacancies. The first placed entered with an average of 18 and the last admitted with an
average of 13. The average of those placed was 14.3. MIERSI had 580 candidates and 75 admitted. In addition, there is a
significant demand through local applications. It is expected that, with adequate promotion, these demand levels will
remain, or even be higher, at LIACD.

9.3. Lista de eventuais parcerias com outras instituições da região que lecionam ciclos de estudos similares:
O Departamento de Ciência de Computadores (DCC) da FCUP e o Departamento de Engenharia Informática (DEI) da
FEUP, que lecionarão a generalidade das UCs da LIACD na área científica de Ciência de Computadores, têm ligações a
nível de ensino (intercâmbio de docentes, ciclos de estudos em parceria, palestras convidadas, cursos curtos,
concursos de programação, etc.) e investigação (em projetos e unidades de I&D) com outras instituições de ensino
superior da região (nomeadamente com as Universidades do Minho, UTAD e Aveiro e o Instituto Politécnico do Porto)
e com outras escolas da UP (nomeadamente Bela Artes, Letras, Medicina, ICBAS e Economia), as quais terão impacto
na LIACD.
Os departamentos envolvidos têm atualmente acordos bilaterais ERASMUS+ para mobilidade de estudantes com mais
de quarenta universidades prestigiadas em cerca de 20 países europeus, esperando-se que grande parte desses
acordos sejam estendidos para permitir mobilidade de estudantes da e para a LIACD.

9.3. List of eventual partnerships with other institutions in the region teaching similar study programmes:
The Department of Computer Science (DCC) of FCUP and the Department of Informatics Engineering (DEI) of FEUP,
which teach the majority of LiEIC UCs in the scientific area of Computer Science, have several links in terms of
education (exchange of teachers, offer of study cycles in partnership, invited lectures, short courses, programming
competitions, etc.) and research (in research projects and research units) with other higher education institutions in

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5a… 107/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
the region (namely the Universities of Minho, UTAD and Aveiro and the Polytechnic Institute of Porto) and with other
schools of the UP (notably with the Faculties of Fine Arts, Arts, Medicine, ICBAS and Economics), which will impact
LiEIC.
The involved departments currently have bilateral ERASMUS+ student mobility agreements with more than forty
prestigious universities in around 20 European countries, and it is expected that a large part of these agreements will
be extended to allow LIACD in and out mobility.

10. Comparação com ciclos de estudos de referência no espaço europeu


10.1. Exemplos de ciclos de estudos existentes em instituições de referência do Espaço Europeu de Ensino Superior com
duração e estrutura semelhantes à proposta:
No top 100 do “QS World University Rankings 2018”, área de “Computer Science & Information Systems”, encontram-
se instituições com CEs de duração igual e estrutura similar à LIACD (em graus variados), como:
● Carnegie Mellon University (EUA) - BSc in Artificial Intelligence, 8 semestres; UCs de 3 a 12 US units; UCs opcionais
de soft skills similares às Competências Transversais na LIACD.
● University of Groningen (Holanda) - BSc in Artificial Intelligence , 6 semestres; UCs de 5 ECTS; UCs opcionais de
soft skills similares às Competências Transversais na LIACD.
● Saarland University (Alemanha) - BSc in Data Science and Artificial Intelligence, 6 semestres: UCs de 2 a 9 ECTS.
● IT University of Copenhagen (Dinamarca) - Bsc in Data Science, 6 semestres; UCs de 7,5 e 15 ECTS organizadas em
módulos.
Outros exemplos: Manchester; Radboud;DTU; Edinburgh; Nottingham

10.1. Examples of study programmes with similar duration and structure offered by reference institutions in the European
Higher Education Area:
In the top 100 of the QS World University Rankings 2018, area of Computer Science & Information Systems, one can
find several institutions with CEs of equal duration and similar structure to LiEIC (to varying degrees), such as:
● Carnegie Mellon University (USA) - BSc in Artificial Intelligence, 8 semesters; UCs from 3 to 12 US units; Optional
UCs of soft skills similar to Transversal Competencies in LIACD.
● University of Groningen (Netherlands) - BSc in Artificial Intelligence, 6 semesters; UCs of 5 ECTS; Optional UCs of
soft skills similar to Transversal Competencies in LIACD.
● Saarland University (Germany) - BSc in Data Science and Artificial Intelligence, 6 semesters: UCs from 2 to 9 ECTS.
● IT University of Copenhagen (Denmark) - Bsc in Data Science, 6 semesters; 7.5 and 15 ECTS UCs organized in
modules.
Other examples: Manchester; Radboud;DTU; Edinburgh; Nottingham

10.2. Comparação com objetivos de aprendizagem de ciclos de estudos análogos existentes em instituições de referência
do Espaço Europeu de Ensino Superior:
O número de licenciaturas na área de Inteligência Artificial e Ciência de Dados no espaço europeu ainda é modesto.
Os exemplos citados no item 10.1 são recentes e a tendência é que outras instituições sigam estes exemplos. O
programa da LIACD segue as diretrizes do “Curriculum Guidelines for Undergraduate Degree Program in Artificial
Intelligence and Data Science” da ACM. Consequentemente, os resultados de aprendizagem e unidades de
conhecimento nucleares propostos nessas diretrizes estão presentes, com variações geralmente associadas a
unidades de conhecimento e resultados de aprendizagem considerados opcionais nessas diretrizes. Outras diferenças
estão relacionadas com a forma de organização e números de créditos associados a cada disciplina. Porém todas as
licenciaturas dão ênfase às ciências básicas, principalmente Matemática e Estatística, e à Ciência de Computadores, e
preparam os diplomados para trabalhar em equipas multidisciplinares com colegas de outras áreas da ciência.

10.2. Comparison with the intended learning outcomes of similar study programmes offered by reference institutions in
the European Higher Education Area:
The number of BSc degrees in Artificial Intelligence and Data Science in Europe is still modest. The examples
mentioned in item 10.1 are recent and the tendency is for other institutions to follow these examples. The LIACD
program follows the guidelines of the ACM Curriculum Guidelines for Undergraduate Degree Program in Artificial
Intelligence and Data Science. Consequently, the learning outcomes and core knowledge units proposed in these
guidelines are present, with variations generally associated with knowledge units and learning outcomes considered
optional in these guidelines. Other differences are related to the form of organization and number of credits associated
with each discipline. However, all degrees give emphasis to basic sciences, mainly Mathematics and Statistics, and
Computer Science, and prepare graduates to work in multidisciplinary teams with colleagues from other areas of
science.

11. Estágios e/ou Formação em Serviço


11.1. e 11.2 Estágios e/ou Formação em Serviço

Mapa VII - Protocolos de Cooperação


https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5a… 108/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Mapa VII - N.A.

11.1.1. Entidade onde os estudantes completam a sua formação:


N.A.

11.1.2. Protocolo (PDF, máx. 150kB):


<sem resposta>

11.2. Plano de distribuição dos estudantes

11.2. Plano de distribuição dos estudantes pelos locais de estágio e/ou formação em serviço demonstrando a adequação
dos recursos disponíveis.(PDF, máx. 100kB).
<sem resposta>

11.3. Recursos próprios da Instituição para acompanhamento efetivo dos seus estudantes nos estágios
e/ou formação em serviço.
11.3. Recursos próprios da Instituição para o acompanhamento efetivo dos seus estudantes nos estágios e/ou formação
em serviço:
Os estágios serão acompanhados pelos docentes destacados, segundo a distribuição de serviço da UC Estágio-
Projeto em Inteligência Artificial e Ciência de Dados.

11.3. Institution’s own resources to effectively follow its students during the in-service training periods:
The internships will be accompanied by the distinguished professors, according to the service distribution of the UC
Internship-Project in Artificial Intelligence and Data Science.

11.4. Orientadores cooperantes

11.4.1. Mecanismos de avaliação e seleção dos orientadores cooperantes de estágio e/ou formação em serviço,
negociados entre a instituição de ensino superior e as instituições de estágio e/ou formação em serviço (PDF, máx.
100kB).

11.4.1 Mecanismos de avaliação e seleção dos orientadores cooperantes de estágio e/ou formação em serviço,
negociados entre a instituição de ensino superior e as instituições de estágio e/ou formação em serviço (PDF, máx.
100kB).
11.4.1_11.4.1_EstagiosLIACDcriterios-avaliacao-acompanhamento_1-compactado.pdf

11.4.2. Orientadores cooperantes de estágio e/ou formação em serviço (obrigatório para ciclo de estudos com estágio
obrigatório por lei)

11.4.2. Mapa X. Orientadores cooperantes de estágio e/ou formação em serviço (obrigatório para ciclo de estudos com
estágio obrigatório por Lei) / External supervisors responsible for following the students' activities (mandatory for study
programmes with in-service training mandatory by law)
Instituição ou estabelecimento a Categoria Profissional / Habilitação Profissional (1)/ Nº de anos de serviço /
Nome / Name
que pertence / Institution Professional Title Professional qualifications (1) Nº of working years
Francisco
Glintt Team Leader Licenciado 11
Vicente
Paulo Pires Devexperts CEO MBA 2
Marcelo
Ferreira PwC Diretor Licenciado 10
Rodrigues
Renata
Critical Manufacturing Recrutamento Mestre 3
Brandão
Eduardo Basto Natixis Head of Partnerships Mestre 2
Especialista de aquisição
Ines Quaresma Blip Mestre 2
de talento
Senior Software
David Vaz Imoestatistica, Lda. Mestre 2
Architect
Tiago
Abyssal Team Leader Licenciado 7
Magalhães
Carlos Mendes Lusitania Companhia de Seguros Programador Licenciado 2
Global head of
Marco Flores Wipro Licenciado 8
competence
Hugo
Jumia Services CTO Doutor 5
Conceição
Nuno Filipe NOS Head of Data Science Mestre 4

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5a… 109/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
Paiva
João Abril de
OutSystems Program Manager Doutor 4
Abreu
Rodrigo Maia Altran CTO MBA 4
Pedro Bizarro Feedzai Chief Science Officer Doutor 12
Pedro Coordenador de
Bosch SSS Mestre 6
Bastardo inovação
Coordenador de
Vitor Amorim Randtech Mestre 3
investigação
Roberto Ugo Vestas Diretor Licenciado 2
Liliana Ferreira Fraunhofer Portugal AICOS Executive Director Doutora 3

12. Análise SWOT do ciclo de estudos


12.1. Pontos fortes:
● O crescimento da importância da Inteligência Artificial e da Ciência de Dados nos últimos anos;
● Potencial elevada empregabilidade dos graduados devido à elevada procura;
● Elevada reputação da FCUP e FEUP a nível nacional e internacional com ênfase para as áreas da IA e CD;
● Formação adequada ao mercado mas também à prossecução de estudos mais avançados;
● Formação com grande componente prática em competências técnicas e soft skills;
● Corpo docente com grande experiência de ensino e I&D&T, cobrindo as áreas nucleares de Inteligência Artificial e
Ciência de Dados;
● Secretariado com elevada experiência;
● Elevado nº de acordos de mobilidade, incluindo acordos com 36 universidades europeias prestigiadas;
● A rede de contactos com empresas já construída através de estágios e dissertações de outros ciclos de estudo e de
realização de projetos em consórcio;
● Localização num campus que reúne instituições de ensino superior, institutos de I&D, incubadoras e empresas
tecnológicas.

12.1. Strengths:
● The growing importance of Artificial Intelligence and Data Science in recent years;
● High employability of the graduates in the areas of the BSc;
● High reputation of FCUP and FEUP at national and international level with emphasis for the AI & DS areas;
● Education suited to market needs but also further studies;
● Education with a large practical component in technical and soft skills;
● Faculty with extensive teaching and R&D&T experience covering the core areas of Artificial Intelligence and Data
Science;
● Secretarial with high experience;
● High number of mobility agreements, including agreements with 36 prestigious European universities;
● Campus location which brings together higher education institutions, R&D institutes, incubators and technology
companies.

12.2. Pontos fracos:


● Limitações de espaços disponíveis para ensino, avaliação, realização de trabalhos e investigação;
● Corpo docente dos departamentos de Ciência de Computadores (FCUP) e Engenharia Informática (FEUP) aquém das
necessidades, complementado com recurso a docentes convidados;
● O desempenho pedagógico dos docentes é levado em conta de forma insuficiente na sua avaliação global;
● Distância considerável entre os campus de FCUP e FEUP, não havendo boas soluções de transportes públicos, o
que dificulta o contacto dos estudantes com os dois polos e faz com que os docentes tenham de perder muito tempo
em deslocações.

12.2. Weaknesses:
● Limitations of spaces available for teaching, assessment, students’ work and research;
● Faculty members of the Computer Science (FCUP) and Informatics Engineering (FEUP) departments fall short of
needs, complemented by the use of invited teachers;
● Teachers' pedagogical performance is insufficiently taken into account in their overall assessment;
● Considerable distance between the campuses of FCUP and FEUP, without good public transport solutions. This
makes it hard for the students to experience both poles and makes the faculty waste precious time in commuting.

12.3. Oportunidades:
● Crescente importância da Inteligência Artificial e Ciência de Dados para a sociedade;
● Enorme déficit de profissionais na área em relação às necessidades do mercado;
● Contexto favorável à atração de estudantes internacionais, nomeadamente dos países de língua oficial portuguesa, e
para intercâmbio internacional de estudantes;
● Possibilidade de tirar maior partido das tecnologias de informação e metodologias de ensino-aprendizagem
centradas no estudante para agilizar/otimizar processos pedagógicos e administrativos;
● Projeto no final do 1º ciclo proporciona uma oportunidade de contacto com a realidade da indústria e de
estabelecimento de parcerias com empresas e outras instituições;
https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 110/111
15/10/2020 NCE/20/2000117 — Apresentação do pedido - Novo ciclo de estudos
● Promoção da IA e CD na sociedade e nas empresas através de eventos, cursos breves e de parcerias, promovendo a
sua adoção e a consciencialização relativamente aos seus riscos.

12.3. Opportunities:
● Growing importance of AI and DS for society;
● Huge deficit of professionals in the area in relation to market needs;
● Favorable context for attracting international students, namely from Portuguese-speaking countries, and for
international student exchange;
● Possibility to take full advantage of information technologies and student-centered education-learning
methodologies to streamline/optimize pedagogical and administrative processes;
● Capstone project at the end of the 1st cycle provides an opportunity for contact with the reality of the industry and
for establishing partnerships with companies and other institutions;
● Promotion of AI and DS in society and companies through events, short courses and partnerships, promoting
adoption and risk awareness.

12.4. Constrangimentos:
● Evolução demográfica com redução de estudantes a ingressar no ensino superior;
● Redução do financiamento para o Ensino Superior Público poderá limitar crescimento e capacidade de dar resposta
às necessidades do mercado;
● Condições salariais proporcionadas pela indústria comparativamente à academia limitam a capacidade de
contratação de docentes;
● Oferta escassa e a custos elevados de alojamentos para estudantes;
● Distância física e ausência de meios de transporte rápidos entre os campus da FCUP e da FEUP dificultam a
mobilidade de docentes e de estudantes;
● Perspetiva de crescente concorrência no espaço Europeu na área do ensino universitário.

12.4. Threats:
● Demographic evolution with reduction of students entering higher education;
● High entrance grades can drive away students with a vocation for AI and DS;
• Reduced funding for Public Higher Education may limit growth and ability to meet market needs;
● Salary conditions provided by industry compared to academia limit the ability to hire teachers;
● Scarce and expensive provision of student accommodation;
● Physical distance and absence of fast means of transport between the FCUP and FEUP campuses hinder the mobility
of teachers and students;
● Perspective of increasing competition in the European area in the field of university education.

12.5. Conclusões:
A crescente importância da IA e CD para a sociedade, a capacidade instalada e experiência acumulada de mais de 25
anos no ensino de Engenharia Informática na FEUP e Ciência de Computadores na FCUP, a reputação nacional e
internacional da FEUP e da FCUP, a conjugação de valências da FEUP e da FCUP, e a elevada procura por estudantes
em 1ª opção, permitem-nos ter confiança de que, através da LIACD a FEUP e a FCUP continuarão a prestar um
contributo decisivo à sociedade nesta nova licenciatura. Além disso, a experiência dos docentes nas áreas de IA e CD
na UP é notável. Três dos grandes centros de investigação em IA e CD têm participação massiva de doentes da FCUP
e FEUP.
Prevê-se que as atuais limitações de espaços sejam ultrapassadas com a construção dos novos espaços já em estudo
pela Reitoria da UP.
Espera-se que os planos de contratação de novos docentes pela FEUP e FCUP permitam reforçar o corpo docente dos
departamentos de Engenharia Informática (FEUP) e Ciência de Computadores (FCUP) e dessa forma responder
adequadamente às necessidades de crescimento da área.

12.5. Conclusions:
The growing importance of AI and CD for society, the installed capacity and accumulated experience of more than 25
years in the teaching of Computer Engineering at FEUP and Computer Science at FCUP, the national and international
reputation of FEUP and FCUP, the combination of skills of FEUP and FCUP , and the high demand for students in 1st
option, allow us to be confident that, through LIACD, FEUP and FCUP will continue to make a decisive contribution to
society in this new degree. In addition, the experience of teachers in the areas of AI and CD at UP is remarkable. Three
of the major research centers in AI and CD have massive participation of patients from FCUP and FEUP.
It is expected that the current space limitations will be overcome with the construction of the new spaces already
under study by the Rectorate of U. Porto.
It is expected that the plans for hiring new teachers by FEUP and FCUP will allow strengthening the teaching staff of
the Departments of Informatics Engineering (FEUP) and Computer Science (FCUP) and thus respond appropriately to
the area's growth needs.

https://www.a3es.pt/si/iportal.php/process_form/print?processId=11935268-8c81-5803-cf94-5f6326e27b1f&formId=16798e93-deea-7be6-5ad… 111/111

Você também pode gostar