	<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt">
		<id>https://wiki.dcet.uab.pt/files/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=2100622</id>
		<title>Wiki Universidade Aberta - Contribuições do utilizador [pt]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.dcet.uab.pt/files/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=2100622"/>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php/Especial:Contribui%C3%A7%C3%B5es/2100622"/>
		<updated>2026-05-08T06:19:48Z</updated>
		<subtitle>Contribuições do utilizador</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Seguran%C3%A7a_em_Redes_e_Computadores&amp;diff=9751</id>
		<title>Segurança em Redes e Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Seguran%C3%A7a_em_Redes_e_Computadores&amp;diff=9751"/>
				<updated>2025-07-30T10:36:40Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: /* Ano Letivo 2024/2025 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Engenharia_Informática]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Engenharia_Informática]]&lt;br /&gt;
&lt;br /&gt;
==Guia Informativo Oficial==&lt;br /&gt;
&lt;br /&gt;
* [http://www2.uab.pt/guiainformativo/detailuc.php?uc=1371 Guia Informativo Segurança em Redes e Computadores]&lt;br /&gt;
&lt;br /&gt;
== Planos da Unidade Curricular (PUC) ==&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/f5/21181-PUC_2023-2024.pdf PUC Segurança em Redes e Computadores 2023-2024]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/6/62/Plano_da_Unidade_Curricular_-_Seguran%C3%A7a_em_Redes_e_Computadores.pdf PUC Segurança em Redes e Computadores 2022-2023]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/7/72/Plano_da_Unidade_Curricular_2021-2022.pdf PUC Segurança em Redes e Computadores 2021-2022]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/96/SRC_PUC_20_21.pdf PUC Segurança em Redes e Computadores 2020-2021]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/0/0f/SRC_PUC_19_20.pdf PUC Segurança em Redes e Computadores 2019-2020]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/2/2a/PUC-Seguranca-em-Redes-e-Computadores-2018-2019.pdf PUC Segurança em Redes e Computadores 2018-2019]&lt;br /&gt;
&lt;br /&gt;
== Enunciados e Resoluções de e-Fólios, p-Fólios e Exames de anos anteriores ==&lt;br /&gt;
&lt;br /&gt;
Esta UC surgiu, pela primeira vez, no Ano Letivo 2018-2019, na LEI (Licenciatura em Engenharia Informática). Não existia na LI (Licenciatura em Informática)&lt;br /&gt;
=== Ano Letivo 2024/2025 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/45/Instrucoes_realizacao_efolioA_2024.pdf EfolioA] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/5/58/2203810efolioA_%281%29.pdf Proposta de Resolução 4 Valores]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/d/d6/EnuncEfolioB.pdf EfolioB] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/1/12/2100622efolioB_src.pdf Proposta de Resolução 4 Valores]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2023/2024 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/9/96/21181-SRC_efolioA_2023.pdf EfolioA]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/e/e5/Instru%C3%A7%C3%B5es_realiza%C3%A7%C3%A3o_efolioB_2023.pdf EfolioB]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/b/bc/EFolio_Global-23-24.pdf EfolioGlobal]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2022/2023 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/9/9a/Instrucoes_realizacao_efolioA_2022.pdf EfolioA] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/8/8c/1802925efolioA.pdf Proposta de Resolução 4 Valores]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/21/Instru%C3%A7%C3%B5es_realiza%C3%A7%C3%A3o_efolioB_2022.pdf EfolioB] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/a/a5/1802925EfolioB.pdf Proposta de Resolução 4 Valores]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/48/EFolio_Global-SRC_Enunciado-2022-2023.pdf EfolioGlobal] =&amp;gt;[https://wiki.dcet.uab.pt/files/images/5/5f/SRC_2100116eFolioGlobal_20222023.pdf Proposta de Resolução 12 Valores]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2021/2022 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4a/Instrucoes_realizacao_efolioA_2021.pdf Efolio A] =&amp;gt; [https://github.com/RenatoMBDuarte/21181_SRC_EfolioA Proposta de Resolução C# 4 Valores] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/b/bd/1802876efolioA_SRC.zip Proposta de Resolução C++ 4 Valores]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/57/Instru%C3%A7%C3%B5es_realiza%C3%A7%C3%A3o_efolioB_2021.pdf Efolio B] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/a/a7/1802876efolioB_SRC.pdf Proposta de Resolução 4 Valores]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/8/89/EFolio_Global-instru%C3%A7%C3%B5es_realiza%C3%A7%C3%A3o-21-22.pdf EfolioGlobal] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/8/8c/1802876efolioGlobal_SRC.pdf Proposta de Resolução 12 Valores]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2020/2021 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/8/81/2020_Instrucoes_realizacao_efolioA_2020.pdf EfolioA] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/c/c8/2000027eFolioA_Resolu%C3%A7%C3%A3o.zip Proposta de Resolução inclui código Transposition + RSA]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/e3/2020_Instru%C3%A7%C3%B5es_realiza%C3%A7%C3%A3o_efolioB_2020.pdf EfolioB] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/6/6a/SRC2000027efolioB.pdf  Proposta de Resolução (4 val)]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/ac/SRC_E-folio_Global_2020-2021.pdf EfolioGlobal] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/6/66/21181-eFolio_Global-Solu%C3%A7%C3%B5es-20-21.pdf Proposta de Resolução]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2019/2020 ===&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/c/c5/Instrucoes_realizacao_efolioA_2019_2020.pdf EFólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/d/df/21181-Instru%C3%A7%C3%B5es_realiza%C3%A7%C3%A3o_efolioB_2019.pdf EFólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/f1/1pF_21181_19-20.pdf EfolioGlobal 28-2-2020]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2018/2019 ===&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/5d/Instrucoes_realizacao_efolioA_%282%29.pdf Efólio-A 2018/2019] =&amp;gt;  [https://wiki.dcet.uab.pt/files/images/1/13/1100281eFolioA.zip Resolução (resolução com 4 valores do colega Ricardo Dias Marques, inclui Relatório e código Java)]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/9c/EfolioB.zip Efólio-B 2018/2019] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/c/c8/1100281efolioB-SRC-2018-2019-Ricardo-Dias-Marques.pdf Resolução (resolução com 4 valores do colega Ricardo Dias Marques)]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/ea/1pF_21181_18-19.pdf P-Fólio]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/f0/Disciplina_Seguran%C3%A7a_em_Redes_e_Computadores_2018.pdf Informação do moodle]&lt;br /&gt;
&lt;br /&gt;
== Corpo Docente ==&lt;br /&gt;
Ano Lectivo 2023/2024: [https://paginapessoal.uab.pt/hsmamede Prof. José Henrique São Mamede]&amp;lt;br&amp;gt;&lt;br /&gt;
Ano Lectivo 2021/2022: [http://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=48 Prof. José Henrique São Mamede]&amp;lt;br&amp;gt;&lt;br /&gt;
Ano Lectivo 2020/2021: [http://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=48 Prof. José Henrique São Mamede]&amp;lt;br&amp;gt;&lt;br /&gt;
Ano Lectivo 2019/2020: [ Prof. Ricardo Baptista] &amp;lt;br&amp;gt;&lt;br /&gt;
Ano Lectivo 2018/2019: [http://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=48 Prof. José Henrique São Mamede]&lt;br /&gt;
&lt;br /&gt;
== Links úteis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Materiais de Apoio ==&lt;br /&gt;
&lt;br /&gt;
=== Vídeos ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercícios Resolvidos ===&lt;br /&gt;
&lt;br /&gt;
== Bibliografia Obrigatória ==&lt;br /&gt;
* Bibliografia obrigatória está dentro do PUC de cada disciplina. (nota: pode variar de um ano para o outro! Convém verificar no PUC do ano em causa, e não seguir cegamente a 100% dos anos anteriores!!!)&lt;br /&gt;
* Necessidade da bibliografia obrigatória [[Opiniões Pessoais dos colegas que já fizeram a UC de Segurança em Redes e Computadores]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Engenharia_Informática]]&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:EnuncEfolioB.pdf&amp;diff=9750</id>
		<title>Ficheiro:EnuncEfolioB.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:EnuncEfolioB.pdf&amp;diff=9750"/>
				<updated>2025-07-30T10:34:16Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:2100622efolioB_src.pdf&amp;diff=9749</id>
		<title>Ficheiro:2100622efolioB src.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:2100622efolioB_src.pdf&amp;diff=9749"/>
				<updated>2025-07-30T10:33:59Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Linguagens_de_Programa%C3%A7%C3%A3o&amp;diff=8863</id>
		<title>Linguagens de Programação</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Linguagens_de_Programa%C3%A7%C3%A3o&amp;diff=8863"/>
				<updated>2023-10-27T10:11:18Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: /* Ano Letivo 2022/2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Informática]]&lt;br /&gt;
[[Category:Engenharia_Informática]]&lt;br /&gt;
&lt;br /&gt;
==Guia Informativo Oficial==&lt;br /&gt;
*[http://www2.uab.pt/guiainformativo/detailuc.php?uc=121 Guia Informativo de Linguagens de Programação]&lt;br /&gt;
&lt;br /&gt;
== Planos da Unidade Curricular (PUC): ==&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/be/PUC_LP_2021_2022.pdf PUC Linguagens de Programação 2021-2022]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/e7/PUC_LP_2020-21.pdf PUC Linguagens de Programação 2020-2021]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/0/07/Plano_da_Unidade_Curricular_LP_2020.pdf PUC Linguagens de Programação 2019-2020]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/2/25/PUC_LP_1819.pdf PUC Linguagens de Programação 2018-2019] &lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/f/f4/Plano_da_Unidade_Curricular-2016-2017.pdf PUC Linguagens de Programação 2016-2017]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/96/PUC_LP_2015_16.pdf PUC Linguagens de Programação 2015-2016]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/6/62/PUC_LP.pdf PUC Linguagens de Programação 2014-2015]&lt;br /&gt;
&lt;br /&gt;
== Enunciados e Resoluções de e-Fólios, p-Fólios e Exames de anos anteriores ==&lt;br /&gt;
=== Ano Letivo 2023/2024 ===&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2022/2023 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/6/63/1efolio-21077-2023.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/b4/LinguagensProgramacaoEfolioB2022_2023.pdf E-fólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4e/Efolio_global_2022_2023.pdf E-fólio Global]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4a/Global_recurso.pdf E-fólio Global Recurso] - [https://wiki.dcet.uab.pt/files/images/f/f7/2100622efolioGlobalLPRecurso.pdf Proposta de Resolução (12V)]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2021/2022 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/6/6f/1efolio-21077_OCaml_2022.pdf E-fólio A]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/b/b9/2efolio-21077_Prolog_2022.pdf E-fólio B]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/25/Enunciado_efolio_global-enunciado_21077.pdf E-fólioGlobal] - Possível Resolução: [https://wiki.dcet.uab.pt/files/images/6/63/1802876efolioGlobal_resolu%C3%A7%C3%A3o.pdf (11V aproximadadamente)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/7/77/Enunciado_Exame2022.pdf Exame]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/c/c9/21077-LP-ExameRecurso-2021-22.pdf Exame de Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2020/2021 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/43/1efolio-21077_OCaml_2021.pdf E-fólio A] - Possíveis Resoluções: [https://github.com/PauloJMNicolau/efolioA_LP 1(3.82v)] - [https://github.com/RenatoMBDuarte/21077_LP_EfolioA  2(4v)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/5/51/2efolio-21077_Prolog_2021.pdf E-fólio B]  - Possiveis Resoluções: [https://github.com/PauloJMNicolau/efolioB_LP 1(4v)] - [https://github.com/RenatoMBDuarte/21077_LP_EfolioB  2(4v)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/28/Enunciado_efolio_global-enunciado_21077_20210609.pdf E-fólio Global] - [https://wiki.dcet.uab.pt/files/images/f/f7/21077_Global_2021.pdf Proposta de Resolução (12V)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/d/d3/Enunciado_exame-enunciado_21077_20210609.pdf Exame]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/40/Enunciado_exame-enunciado_21077_20210927.pdf Exame de Recurso]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/f/f8/2020-2021_z_efolios_LP2021_criteriosEGlobal.pdf Critérios Correcção Efolio/Exame]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2019/2020: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/7/74/1efolioA-21077_OCaml_2020.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/1/14/2efolioB-21077_Prolog_2020.pdf E-fólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/46/Efolio_global-enunciado_21077.pdf E-fólio Global] -&amp;gt;[https://wiki.dcet.uab.pt/files/images/1/1f/ResolucaoEGLOBAL_2019_LP.pdf Resolução do professor]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/ef/Exame_Recurso_LP_1920.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2018/2019: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/8/88/1efolio-21077_OCaml.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/53/2efolio-21077_Prolog.pdf E-fólio B]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/ba/LP_-_Normal_-_2018_2019.pdf P-fólio Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/5b/LP_-_Normal_-_2018_2019_Exame.pdf Exame Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fd/LP_-_Recurso_-_2018_2019.pdf P-fólio Recurso]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/a1/LP_-_Recurso_-_2018_2019_Exame.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2017/2018: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4d/1efolio-21077_OCaml_2017_2018.pdf Efólio A] - [https://wiki.dcet.uab.pt/files/images/a/ab/1efolio-21077_OCaml_instrucoes_resolucao.pdf Instruções de resolução] [https://wiki.dcet.uab.pt/files/images/7/7c/EfolioA_instrucoesresolucao.ml.pdf (Código)]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/d/d1/1efolio-21077_Prolog.pdf Efólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fa/1pfolio-21077_1718.pdf P-Fólio Normal] - [https://wiki.dcet.uab.pt/files/images/4/40/Criterios_21077.pdf Critérios] - [https://wiki.dcet.uab.pt/files/images/e/ea/CODIGO_PFOLIO.pdf Código Resolução Pfólio]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/9f/2pfolio-21077_1718.pdf P-Fólio Recurso] - [https://wiki.dcet.uab.pt/files/images/c/c1/21077-criterios_pfolio_recurso.pdf Critérios]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2016/2017: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/9c/LP-efolioA-2017.pdf Efólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/06/LP-efolioB-2017.pdf Efólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/41/1ex-21077-2017_Pf%C3%B3lio.pdf P-Fólio Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/a8/1ex-21077-2017.pdf Exame Normal]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2015/2016: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/c9/E-FolioALP-15-16.pdf E-fólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/5/58/EFolioBLP-15-16.pdf E-fólio B]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/21/1ex-21077_Pf%C3%B3lio-2016.pdf P-fólio Época Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/b/bc/2ex-21077_Pf%C3%B3lio2016.pdf P-fólio Época Recurso]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/07/1ex-21077-2016.pdf Exame Época Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/9a/2ex-21077-2016.pdf Exame Época Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2014/2015: ===&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/7/7a/P-folio_LP-29-JAN-2015.pdf P-Fólio Época Normal de 29-jan-2015]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2013/2014: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/1/1f/E-F%C3%B3lio_A_LP_14-15_.pdf e-Fólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/2d/E-F%C3%B3lio_B_LP_14-15_.pdf e-Fólio B]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/d/d6/E-F%C3%B3lio_C_LP_14-15_.pdf e-Fólio C]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/cc/Merged_document.pdf p-Fólio Recurso 23-jul-2014]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2012/2013: ===&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/0/06/LPefolioA.pdf e-fólio A]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/5/5f/LPefolioB.pdf e-fólio B]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/2/2d/LPefolioC.pdf e-fólio C]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/7/71/1ex-21077_Pf%C3%B3lio.pdf p-fólio Época Normal de 18-fev-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/4/4f/1ex-21077.pdf Exame Época Normal de 18-fev-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/3/3b/2ex-21077_Pf%C3%B3lio.pdf p-fólio Época de Recurso de 24-jul-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/e/e4/2ex-21077.pdf Exame Época de Recurso de 24-jul-2013]&lt;br /&gt;
&lt;br /&gt;
== Corpo Docente: ==&lt;br /&gt;
* Nos anos letivos de 2018/2019 a 2020/2021: [https://portal.uab.pt/dcet/docentes/#content Prof. Ricardo Baptista] [https://www.inesctec.pt/pt/pessoas/ricardo-jose-baptista#short_bio [1]]&lt;br /&gt;
* No ano letivo de 2017/2018: [https://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=152 Prof. Bruno Sousa] &lt;br /&gt;
* Nos anos letivos de 2012/2013 a 2016/2017: [https://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=34 Prof. Jorge Morais]&lt;br /&gt;
&lt;br /&gt;
== Links úteis: ==&lt;br /&gt;
&lt;br /&gt;
'''Java'''&lt;br /&gt;
&lt;br /&gt;
The Java™ Tutorials [https://docs.oracle.com/javase/tutorial/ Tutorial da Oracle]&lt;br /&gt;
&lt;br /&gt;
Livro online  [http://math.hws.edu/javanotes/ Introduction to Programming using Java 7ed] Livro muito bem escrito e de fácil leitura.&lt;br /&gt;
&lt;br /&gt;
Livro [http://introcs.cs.princeton.edu/java/home/ Introduction to programming in Java]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OCaml'''&lt;br /&gt;
&lt;br /&gt;
Oficial OCaml Tutorials [https://ocaml.org/learn/tutorials/ OCaml.org]&lt;br /&gt;
&lt;br /&gt;
Introdução OCaml - UBI [http://www.di.ubi.pt/~desousa/OCaml/aula_ocaml1-pp.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
Apontamentos feitos por Cátia Santos @ 2020 [https://wiki.dcet.uab.pt/files/images/e/ee/LP_-_Resumo_OCAML.pdf Resumo de OCAML]&lt;br /&gt;
&lt;br /&gt;
'''PROLOG'''&lt;br /&gt;
&lt;br /&gt;
Video introdutório sobre Prolog [https://www.youtube.com/watch?v=SykxWpFwMGs Prolog Tutorial] (5 estrelas)&lt;br /&gt;
&lt;br /&gt;
Site livro online [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
&lt;br /&gt;
Lista de manuais em Prolog [https://github.com/jcoder58/PrologTutorials]&lt;br /&gt;
&lt;br /&gt;
Apontamentos feitos por Cátia Santos @ 2020 [https://wiki.dcet.uab.pt/files/images/1/19/LP_-_Resumo_de_Prolog.pdf Resumo de PROLOG]&lt;br /&gt;
&lt;br /&gt;
== Materiais de Apoio==&lt;br /&gt;
&lt;br /&gt;
Aborda-se três diferentes paradigmas de programação:&lt;br /&gt;
&lt;br /&gt;
    Programação Funcional;&lt;br /&gt;
    Programação Lógica;&lt;br /&gt;
    Programação por Objectos.&lt;br /&gt;
&lt;br /&gt;
OCaml&lt;br /&gt;
&lt;br /&gt;
A programação funcional constituiu uma parte significativa de toda a matéria (6 semanas). Foi utilizada a linguagem OCaml da qual apenas se estudou a parte funcional. A leitura da bibliografia fornecida não foi difícil nem muito demorada mas foi fundamental fazer bastantes exercícios. Há alguns conceitos novos, por vezes contrastantes com os de outros paradigmas, o que pode causar alguma dificuldade de adaptação. A ideia fundamental é a de que uma computação complexa se obtém pela composição de funções (como na matemática) e cada função apenas devolve um valor, não alterando o estado de outras &amp;quot;variáveis&amp;quot; - os chamados side-effects. Aqui tudo são (converte-se em) valores, até mesmo uma função &amp;quot;é&amp;quot; um valor e pode ser utilizada como argumento de outras funções, sendo estas denominadas funções de ordem superior. Esta é uma das características mais poderosas deste tipo de linguagens. Outros conceitos que importa interiorizar para nos adaptarmos a este paradigma são coisas como static binding, currying, closure, polimorfismo... mas a &amp;quot;força motriz&amp;quot; da programação funcional é mesmo a recursividade. Os algoritmos são sempre recursivos, não há ciclos iterativos do tipo while ou for. Até os tipos podem também ser recursivos!&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados&lt;br /&gt;
&lt;br /&gt;
The OCaml top level  &lt;br /&gt;
    REPL -&amp;gt; https://ocaml.org/learn/tutorials/up_and_running.html&lt;br /&gt;
    UTOP -&amp;gt; https://opam.ocaml.org/blog/about-utop/&lt;br /&gt;
&lt;br /&gt;
Compilador (opcional dado que é suficiente trabalhar apenas em top level)&lt;br /&gt;
    https://ocaml.org/learn/tutorials/a_first_hour_with_ocaml.html#Compiling-OCaml-programs&lt;br /&gt;
&lt;br /&gt;
Bibliografia&lt;br /&gt;
    Jason Hickey, &amp;quot;Introduction to the Objective Caml Programming Language&amp;quot;, 2004&lt;br /&gt;
&lt;br /&gt;
[http://wiki.dcet.uab.pt/files/images/3/32/Exercicios_resolvidos_OCaml.pdf ExerciciosResolvidosOCaml]&lt;br /&gt;
&lt;br /&gt;
Prolog&lt;br /&gt;
&lt;br /&gt;
Deste paradigma fez-se apenas uma pequena introdução, mas mesmo assim é imprescindível estudar a bibliografia e, mais uma vez, praticar bastante. Esta linguagem de programação assenta num conceito completamente diferente das restantes. Aqui nada é avaliado/convertido em valores. Aquilo com que se trabalha são factos e regras. Toda a computação consiste em verificar se uma determinada proposição é falsa ou verdadeira, verificando os factos existentes e as regras sobre eles definidos. Este processo tem por base o conceito de &amp;quot;unificação&amp;quot;, fundamental para entender a linguagem. Até mesmo a aritmética - o único lugar da linguagem onde se calcula o valor de uma expressão - funciona de uma forma inesperada. É interessante (e espantoso) aquilo que se consegue fazer pensando sempre em &amp;quot;é falso ou verdadeiro?&amp;quot;. No vocabulário deste paradigma estão palavras como clausula, termo, predicado, aridade, query... e recursividade! Uma grande parte da computação é conseguida de forma recursiva.&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados:&lt;br /&gt;
&lt;br /&gt;
Compilador&lt;br /&gt;
    http://www.swi-prolog.org/&lt;br /&gt;
Bibliografia&lt;br /&gt;
    Leon Sterling and Ehud Shapiro, The Art of Prolog (2nd Edition), MIT Press, 1994&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
Nestes dois paradigmas é essencial esquecer tudo (quase tudo) o que se sabe de programação e embarcar numa viagem por terras desconhecidas, culturas diferentes. Tal como nessa circunstância, não devemos tentar empregar (forçar) as técnicas e procedimentos que já conhecemos mas antes tentar perceber qual é a &amp;quot;filosofia&amp;quot;, qual é a &amp;quot;cultura&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Java&lt;br /&gt;
&lt;br /&gt;
Neste caso foi muito mais rápida a fase inicial, com muita coisa semelhante ao que se faz em C/C++, mas é tudo muito mais trabalhoso. É um grande contraste com os paradigmas anteriores (especialmente o funcional) o número de linhas de código que é necessário escrever para fazer mesmo a coisa mais simples. É importante dominar o conceito de apontador e referência para entender os problemas de violação do encapsulamento - um dos princípios fundamentais em POO - mas em Java não se faz nada parecido com a manipulação dos endereços de memória como em C ou C++. Se quisermos caracterizar numa frase esta linguagem (exagerando um bocadinho) podemos dizer que em Java tudo são objectos. Até os tipos numéricos têm umas &amp;quot;embalagens&amp;quot; para funcionar como tal. O vocabulário desta linguagem é já conhecido: classe, método, atributo, instância, interface, composição, herança, polimorfismo, overloading... switch e instanceof são coisas a evitar, faz-se muito foreach com as colecções e os tipos podem ser parametrizados.&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados:&lt;br /&gt;
&lt;br /&gt;
IDE&lt;br /&gt;
    Netbeans (12.4)&lt;br /&gt;
Bibliografia&lt;br /&gt;
    F. Mário Martins, Java 8 - POO + Construções Funcionais, FCA&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:2100622efolioGlobalLPRecurso.pdf&amp;diff=8862</id>
		<title>Ficheiro:2100622efolioGlobalLPRecurso.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:2100622efolioGlobalLPRecurso.pdf&amp;diff=8862"/>
				<updated>2023-10-27T10:09:43Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Linguagens_de_Programa%C3%A7%C3%A3o&amp;diff=8861</id>
		<title>Linguagens de Programação</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Linguagens_de_Programa%C3%A7%C3%A3o&amp;diff=8861"/>
				<updated>2023-10-27T10:08:34Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: /* Ano Letivo 2022/2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Informática]]&lt;br /&gt;
[[Category:Engenharia_Informática]]&lt;br /&gt;
&lt;br /&gt;
==Guia Informativo Oficial==&lt;br /&gt;
*[http://www2.uab.pt/guiainformativo/detailuc.php?uc=121 Guia Informativo de Linguagens de Programação]&lt;br /&gt;
&lt;br /&gt;
== Planos da Unidade Curricular (PUC): ==&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/be/PUC_LP_2021_2022.pdf PUC Linguagens de Programação 2021-2022]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/e7/PUC_LP_2020-21.pdf PUC Linguagens de Programação 2020-2021]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/0/07/Plano_da_Unidade_Curricular_LP_2020.pdf PUC Linguagens de Programação 2019-2020]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/2/25/PUC_LP_1819.pdf PUC Linguagens de Programação 2018-2019] &lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/f/f4/Plano_da_Unidade_Curricular-2016-2017.pdf PUC Linguagens de Programação 2016-2017]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/96/PUC_LP_2015_16.pdf PUC Linguagens de Programação 2015-2016]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/6/62/PUC_LP.pdf PUC Linguagens de Programação 2014-2015]&lt;br /&gt;
&lt;br /&gt;
== Enunciados e Resoluções de e-Fólios, p-Fólios e Exames de anos anteriores ==&lt;br /&gt;
=== Ano Letivo 2023/2024 ===&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2022/2023 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/6/63/1efolio-21077-2023.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/b4/LinguagensProgramacaoEfolioB2022_2023.pdf E-fólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4e/Efolio_global_2022_2023.pdf E-fólio Global]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4a/Global_recurso.pdf E-fólio Global Recurso] - Proposta Resolução (12V)&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2021/2022 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/6/6f/1efolio-21077_OCaml_2022.pdf E-fólio A]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/b/b9/2efolio-21077_Prolog_2022.pdf E-fólio B]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/25/Enunciado_efolio_global-enunciado_21077.pdf E-fólioGlobal] - Possível Resolução: [https://wiki.dcet.uab.pt/files/images/6/63/1802876efolioGlobal_resolu%C3%A7%C3%A3o.pdf (11V aproximadadamente)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/7/77/Enunciado_Exame2022.pdf Exame]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/c/c9/21077-LP-ExameRecurso-2021-22.pdf Exame de Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2020/2021 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/43/1efolio-21077_OCaml_2021.pdf E-fólio A] - Possíveis Resoluções: [https://github.com/PauloJMNicolau/efolioA_LP 1(3.82v)] - [https://github.com/RenatoMBDuarte/21077_LP_EfolioA  2(4v)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/5/51/2efolio-21077_Prolog_2021.pdf E-fólio B]  - Possiveis Resoluções: [https://github.com/PauloJMNicolau/efolioB_LP 1(4v)] - [https://github.com/RenatoMBDuarte/21077_LP_EfolioB  2(4v)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/28/Enunciado_efolio_global-enunciado_21077_20210609.pdf E-fólio Global] - [https://wiki.dcet.uab.pt/files/images/f/f7/21077_Global_2021.pdf Proposta de Resolução (12V)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/d/d3/Enunciado_exame-enunciado_21077_20210609.pdf Exame]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/40/Enunciado_exame-enunciado_21077_20210927.pdf Exame de Recurso]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/f/f8/2020-2021_z_efolios_LP2021_criteriosEGlobal.pdf Critérios Correcção Efolio/Exame]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2019/2020: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/7/74/1efolioA-21077_OCaml_2020.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/1/14/2efolioB-21077_Prolog_2020.pdf E-fólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/46/Efolio_global-enunciado_21077.pdf E-fólio Global] -&amp;gt;[https://wiki.dcet.uab.pt/files/images/1/1f/ResolucaoEGLOBAL_2019_LP.pdf Resolução do professor]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/ef/Exame_Recurso_LP_1920.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2018/2019: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/8/88/1efolio-21077_OCaml.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/53/2efolio-21077_Prolog.pdf E-fólio B]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/ba/LP_-_Normal_-_2018_2019.pdf P-fólio Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/5b/LP_-_Normal_-_2018_2019_Exame.pdf Exame Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fd/LP_-_Recurso_-_2018_2019.pdf P-fólio Recurso]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/a1/LP_-_Recurso_-_2018_2019_Exame.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2017/2018: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4d/1efolio-21077_OCaml_2017_2018.pdf Efólio A] - [https://wiki.dcet.uab.pt/files/images/a/ab/1efolio-21077_OCaml_instrucoes_resolucao.pdf Instruções de resolução] [https://wiki.dcet.uab.pt/files/images/7/7c/EfolioA_instrucoesresolucao.ml.pdf (Código)]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/d/d1/1efolio-21077_Prolog.pdf Efólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fa/1pfolio-21077_1718.pdf P-Fólio Normal] - [https://wiki.dcet.uab.pt/files/images/4/40/Criterios_21077.pdf Critérios] - [https://wiki.dcet.uab.pt/files/images/e/ea/CODIGO_PFOLIO.pdf Código Resolução Pfólio]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/9f/2pfolio-21077_1718.pdf P-Fólio Recurso] - [https://wiki.dcet.uab.pt/files/images/c/c1/21077-criterios_pfolio_recurso.pdf Critérios]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2016/2017: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/9c/LP-efolioA-2017.pdf Efólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/06/LP-efolioB-2017.pdf Efólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/41/1ex-21077-2017_Pf%C3%B3lio.pdf P-Fólio Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/a8/1ex-21077-2017.pdf Exame Normal]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2015/2016: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/c9/E-FolioALP-15-16.pdf E-fólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/5/58/EFolioBLP-15-16.pdf E-fólio B]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/21/1ex-21077_Pf%C3%B3lio-2016.pdf P-fólio Época Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/b/bc/2ex-21077_Pf%C3%B3lio2016.pdf P-fólio Época Recurso]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/07/1ex-21077-2016.pdf Exame Época Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/9a/2ex-21077-2016.pdf Exame Época Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2014/2015: ===&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/7/7a/P-folio_LP-29-JAN-2015.pdf P-Fólio Época Normal de 29-jan-2015]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2013/2014: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/1/1f/E-F%C3%B3lio_A_LP_14-15_.pdf e-Fólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/2d/E-F%C3%B3lio_B_LP_14-15_.pdf e-Fólio B]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/d/d6/E-F%C3%B3lio_C_LP_14-15_.pdf e-Fólio C]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/cc/Merged_document.pdf p-Fólio Recurso 23-jul-2014]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2012/2013: ===&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/0/06/LPefolioA.pdf e-fólio A]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/5/5f/LPefolioB.pdf e-fólio B]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/2/2d/LPefolioC.pdf e-fólio C]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/7/71/1ex-21077_Pf%C3%B3lio.pdf p-fólio Época Normal de 18-fev-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/4/4f/1ex-21077.pdf Exame Época Normal de 18-fev-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/3/3b/2ex-21077_Pf%C3%B3lio.pdf p-fólio Época de Recurso de 24-jul-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/e/e4/2ex-21077.pdf Exame Época de Recurso de 24-jul-2013]&lt;br /&gt;
&lt;br /&gt;
== Corpo Docente: ==&lt;br /&gt;
* Nos anos letivos de 2018/2019 a 2020/2021: [https://portal.uab.pt/dcet/docentes/#content Prof. Ricardo Baptista] [https://www.inesctec.pt/pt/pessoas/ricardo-jose-baptista#short_bio [1]]&lt;br /&gt;
* No ano letivo de 2017/2018: [https://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=152 Prof. Bruno Sousa] &lt;br /&gt;
* Nos anos letivos de 2012/2013 a 2016/2017: [https://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=34 Prof. Jorge Morais]&lt;br /&gt;
&lt;br /&gt;
== Links úteis: ==&lt;br /&gt;
&lt;br /&gt;
'''Java'''&lt;br /&gt;
&lt;br /&gt;
The Java™ Tutorials [https://docs.oracle.com/javase/tutorial/ Tutorial da Oracle]&lt;br /&gt;
&lt;br /&gt;
Livro online  [http://math.hws.edu/javanotes/ Introduction to Programming using Java 7ed] Livro muito bem escrito e de fácil leitura.&lt;br /&gt;
&lt;br /&gt;
Livro [http://introcs.cs.princeton.edu/java/home/ Introduction to programming in Java]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OCaml'''&lt;br /&gt;
&lt;br /&gt;
Oficial OCaml Tutorials [https://ocaml.org/learn/tutorials/ OCaml.org]&lt;br /&gt;
&lt;br /&gt;
Introdução OCaml - UBI [http://www.di.ubi.pt/~desousa/OCaml/aula_ocaml1-pp.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
Apontamentos feitos por Cátia Santos @ 2020 [https://wiki.dcet.uab.pt/files/images/e/ee/LP_-_Resumo_OCAML.pdf Resumo de OCAML]&lt;br /&gt;
&lt;br /&gt;
'''PROLOG'''&lt;br /&gt;
&lt;br /&gt;
Video introdutório sobre Prolog [https://www.youtube.com/watch?v=SykxWpFwMGs Prolog Tutorial] (5 estrelas)&lt;br /&gt;
&lt;br /&gt;
Site livro online [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
&lt;br /&gt;
Lista de manuais em Prolog [https://github.com/jcoder58/PrologTutorials]&lt;br /&gt;
&lt;br /&gt;
Apontamentos feitos por Cátia Santos @ 2020 [https://wiki.dcet.uab.pt/files/images/1/19/LP_-_Resumo_de_Prolog.pdf Resumo de PROLOG]&lt;br /&gt;
&lt;br /&gt;
== Materiais de Apoio==&lt;br /&gt;
&lt;br /&gt;
Aborda-se três diferentes paradigmas de programação:&lt;br /&gt;
&lt;br /&gt;
    Programação Funcional;&lt;br /&gt;
    Programação Lógica;&lt;br /&gt;
    Programação por Objectos.&lt;br /&gt;
&lt;br /&gt;
OCaml&lt;br /&gt;
&lt;br /&gt;
A programação funcional constituiu uma parte significativa de toda a matéria (6 semanas). Foi utilizada a linguagem OCaml da qual apenas se estudou a parte funcional. A leitura da bibliografia fornecida não foi difícil nem muito demorada mas foi fundamental fazer bastantes exercícios. Há alguns conceitos novos, por vezes contrastantes com os de outros paradigmas, o que pode causar alguma dificuldade de adaptação. A ideia fundamental é a de que uma computação complexa se obtém pela composição de funções (como na matemática) e cada função apenas devolve um valor, não alterando o estado de outras &amp;quot;variáveis&amp;quot; - os chamados side-effects. Aqui tudo são (converte-se em) valores, até mesmo uma função &amp;quot;é&amp;quot; um valor e pode ser utilizada como argumento de outras funções, sendo estas denominadas funções de ordem superior. Esta é uma das características mais poderosas deste tipo de linguagens. Outros conceitos que importa interiorizar para nos adaptarmos a este paradigma são coisas como static binding, currying, closure, polimorfismo... mas a &amp;quot;força motriz&amp;quot; da programação funcional é mesmo a recursividade. Os algoritmos são sempre recursivos, não há ciclos iterativos do tipo while ou for. Até os tipos podem também ser recursivos!&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados&lt;br /&gt;
&lt;br /&gt;
The OCaml top level  &lt;br /&gt;
    REPL -&amp;gt; https://ocaml.org/learn/tutorials/up_and_running.html&lt;br /&gt;
    UTOP -&amp;gt; https://opam.ocaml.org/blog/about-utop/&lt;br /&gt;
&lt;br /&gt;
Compilador (opcional dado que é suficiente trabalhar apenas em top level)&lt;br /&gt;
    https://ocaml.org/learn/tutorials/a_first_hour_with_ocaml.html#Compiling-OCaml-programs&lt;br /&gt;
&lt;br /&gt;
Bibliografia&lt;br /&gt;
    Jason Hickey, &amp;quot;Introduction to the Objective Caml Programming Language&amp;quot;, 2004&lt;br /&gt;
&lt;br /&gt;
[http://wiki.dcet.uab.pt/files/images/3/32/Exercicios_resolvidos_OCaml.pdf ExerciciosResolvidosOCaml]&lt;br /&gt;
&lt;br /&gt;
Prolog&lt;br /&gt;
&lt;br /&gt;
Deste paradigma fez-se apenas uma pequena introdução, mas mesmo assim é imprescindível estudar a bibliografia e, mais uma vez, praticar bastante. Esta linguagem de programação assenta num conceito completamente diferente das restantes. Aqui nada é avaliado/convertido em valores. Aquilo com que se trabalha são factos e regras. Toda a computação consiste em verificar se uma determinada proposição é falsa ou verdadeira, verificando os factos existentes e as regras sobre eles definidos. Este processo tem por base o conceito de &amp;quot;unificação&amp;quot;, fundamental para entender a linguagem. Até mesmo a aritmética - o único lugar da linguagem onde se calcula o valor de uma expressão - funciona de uma forma inesperada. É interessante (e espantoso) aquilo que se consegue fazer pensando sempre em &amp;quot;é falso ou verdadeiro?&amp;quot;. No vocabulário deste paradigma estão palavras como clausula, termo, predicado, aridade, query... e recursividade! Uma grande parte da computação é conseguida de forma recursiva.&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados:&lt;br /&gt;
&lt;br /&gt;
Compilador&lt;br /&gt;
    http://www.swi-prolog.org/&lt;br /&gt;
Bibliografia&lt;br /&gt;
    Leon Sterling and Ehud Shapiro, The Art of Prolog (2nd Edition), MIT Press, 1994&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
Nestes dois paradigmas é essencial esquecer tudo (quase tudo) o que se sabe de programação e embarcar numa viagem por terras desconhecidas, culturas diferentes. Tal como nessa circunstância, não devemos tentar empregar (forçar) as técnicas e procedimentos que já conhecemos mas antes tentar perceber qual é a &amp;quot;filosofia&amp;quot;, qual é a &amp;quot;cultura&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Java&lt;br /&gt;
&lt;br /&gt;
Neste caso foi muito mais rápida a fase inicial, com muita coisa semelhante ao que se faz em C/C++, mas é tudo muito mais trabalhoso. É um grande contraste com os paradigmas anteriores (especialmente o funcional) o número de linhas de código que é necessário escrever para fazer mesmo a coisa mais simples. É importante dominar o conceito de apontador e referência para entender os problemas de violação do encapsulamento - um dos princípios fundamentais em POO - mas em Java não se faz nada parecido com a manipulação dos endereços de memória como em C ou C++. Se quisermos caracterizar numa frase esta linguagem (exagerando um bocadinho) podemos dizer que em Java tudo são objectos. Até os tipos numéricos têm umas &amp;quot;embalagens&amp;quot; para funcionar como tal. O vocabulário desta linguagem é já conhecido: classe, método, atributo, instância, interface, composição, herança, polimorfismo, overloading... switch e instanceof são coisas a evitar, faz-se muito foreach com as colecções e os tipos podem ser parametrizados.&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados:&lt;br /&gt;
&lt;br /&gt;
IDE&lt;br /&gt;
    Netbeans (12.4)&lt;br /&gt;
Bibliografia&lt;br /&gt;
    F. Mário Martins, Java 8 - POO + Construções Funcionais, FCA&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Linguagens_de_Programa%C3%A7%C3%A3o&amp;diff=8860</id>
		<title>Linguagens de Programação</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Linguagens_de_Programa%C3%A7%C3%A3o&amp;diff=8860"/>
				<updated>2023-10-27T10:07:44Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: /* Ano Letivo 2022/2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Informática]]&lt;br /&gt;
[[Category:Engenharia_Informática]]&lt;br /&gt;
&lt;br /&gt;
==Guia Informativo Oficial==&lt;br /&gt;
*[http://www2.uab.pt/guiainformativo/detailuc.php?uc=121 Guia Informativo de Linguagens de Programação]&lt;br /&gt;
&lt;br /&gt;
== Planos da Unidade Curricular (PUC): ==&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/be/PUC_LP_2021_2022.pdf PUC Linguagens de Programação 2021-2022]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/e7/PUC_LP_2020-21.pdf PUC Linguagens de Programação 2020-2021]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/0/07/Plano_da_Unidade_Curricular_LP_2020.pdf PUC Linguagens de Programação 2019-2020]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/2/25/PUC_LP_1819.pdf PUC Linguagens de Programação 2018-2019] &lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/f/f4/Plano_da_Unidade_Curricular-2016-2017.pdf PUC Linguagens de Programação 2016-2017]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/96/PUC_LP_2015_16.pdf PUC Linguagens de Programação 2015-2016]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/6/62/PUC_LP.pdf PUC Linguagens de Programação 2014-2015]&lt;br /&gt;
&lt;br /&gt;
== Enunciados e Resoluções de e-Fólios, p-Fólios e Exames de anos anteriores ==&lt;br /&gt;
=== Ano Letivo 2023/2024 ===&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2022/2023 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/6/63/1efolio-21077-2023.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/b4/LinguagensProgramacaoEfolioB2022_2023.pdf E-fólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4e/Efolio_global_2022_2023.pdf E-fólio Global]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4a/Global_recurso.pdf E-fólio Global Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2021/2022 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/6/6f/1efolio-21077_OCaml_2022.pdf E-fólio A]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/b/b9/2efolio-21077_Prolog_2022.pdf E-fólio B]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/25/Enunciado_efolio_global-enunciado_21077.pdf E-fólioGlobal] - Possível Resolução: [https://wiki.dcet.uab.pt/files/images/6/63/1802876efolioGlobal_resolu%C3%A7%C3%A3o.pdf (11V aproximadadamente)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/7/77/Enunciado_Exame2022.pdf Exame]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/c/c9/21077-LP-ExameRecurso-2021-22.pdf Exame de Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2020/2021 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/43/1efolio-21077_OCaml_2021.pdf E-fólio A] - Possíveis Resoluções: [https://github.com/PauloJMNicolau/efolioA_LP 1(3.82v)] - [https://github.com/RenatoMBDuarte/21077_LP_EfolioA  2(4v)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/5/51/2efolio-21077_Prolog_2021.pdf E-fólio B]  - Possiveis Resoluções: [https://github.com/PauloJMNicolau/efolioB_LP 1(4v)] - [https://github.com/RenatoMBDuarte/21077_LP_EfolioB  2(4v)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/28/Enunciado_efolio_global-enunciado_21077_20210609.pdf E-fólio Global] - [https://wiki.dcet.uab.pt/files/images/f/f7/21077_Global_2021.pdf Proposta de Resolução (12V)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/d/d3/Enunciado_exame-enunciado_21077_20210609.pdf Exame]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/40/Enunciado_exame-enunciado_21077_20210927.pdf Exame de Recurso]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/f/f8/2020-2021_z_efolios_LP2021_criteriosEGlobal.pdf Critérios Correcção Efolio/Exame]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2019/2020: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/7/74/1efolioA-21077_OCaml_2020.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/1/14/2efolioB-21077_Prolog_2020.pdf E-fólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/46/Efolio_global-enunciado_21077.pdf E-fólio Global] -&amp;gt;[https://wiki.dcet.uab.pt/files/images/1/1f/ResolucaoEGLOBAL_2019_LP.pdf Resolução do professor]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/ef/Exame_Recurso_LP_1920.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2018/2019: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/8/88/1efolio-21077_OCaml.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/53/2efolio-21077_Prolog.pdf E-fólio B]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/ba/LP_-_Normal_-_2018_2019.pdf P-fólio Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/5b/LP_-_Normal_-_2018_2019_Exame.pdf Exame Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fd/LP_-_Recurso_-_2018_2019.pdf P-fólio Recurso]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/a1/LP_-_Recurso_-_2018_2019_Exame.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2017/2018: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4d/1efolio-21077_OCaml_2017_2018.pdf Efólio A] - [https://wiki.dcet.uab.pt/files/images/a/ab/1efolio-21077_OCaml_instrucoes_resolucao.pdf Instruções de resolução] [https://wiki.dcet.uab.pt/files/images/7/7c/EfolioA_instrucoesresolucao.ml.pdf (Código)]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/d/d1/1efolio-21077_Prolog.pdf Efólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fa/1pfolio-21077_1718.pdf P-Fólio Normal] - [https://wiki.dcet.uab.pt/files/images/4/40/Criterios_21077.pdf Critérios] - [https://wiki.dcet.uab.pt/files/images/e/ea/CODIGO_PFOLIO.pdf Código Resolução Pfólio]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/9f/2pfolio-21077_1718.pdf P-Fólio Recurso] - [https://wiki.dcet.uab.pt/files/images/c/c1/21077-criterios_pfolio_recurso.pdf Critérios]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2016/2017: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/9c/LP-efolioA-2017.pdf Efólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/06/LP-efolioB-2017.pdf Efólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/41/1ex-21077-2017_Pf%C3%B3lio.pdf P-Fólio Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/a8/1ex-21077-2017.pdf Exame Normal]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2015/2016: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/c9/E-FolioALP-15-16.pdf E-fólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/5/58/EFolioBLP-15-16.pdf E-fólio B]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/21/1ex-21077_Pf%C3%B3lio-2016.pdf P-fólio Época Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/b/bc/2ex-21077_Pf%C3%B3lio2016.pdf P-fólio Época Recurso]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/07/1ex-21077-2016.pdf Exame Época Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/9a/2ex-21077-2016.pdf Exame Época Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2014/2015: ===&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/7/7a/P-folio_LP-29-JAN-2015.pdf P-Fólio Época Normal de 29-jan-2015]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2013/2014: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/1/1f/E-F%C3%B3lio_A_LP_14-15_.pdf e-Fólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/2d/E-F%C3%B3lio_B_LP_14-15_.pdf e-Fólio B]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/d/d6/E-F%C3%B3lio_C_LP_14-15_.pdf e-Fólio C]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/cc/Merged_document.pdf p-Fólio Recurso 23-jul-2014]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2012/2013: ===&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/0/06/LPefolioA.pdf e-fólio A]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/5/5f/LPefolioB.pdf e-fólio B]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/2/2d/LPefolioC.pdf e-fólio C]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/7/71/1ex-21077_Pf%C3%B3lio.pdf p-fólio Época Normal de 18-fev-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/4/4f/1ex-21077.pdf Exame Época Normal de 18-fev-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/3/3b/2ex-21077_Pf%C3%B3lio.pdf p-fólio Época de Recurso de 24-jul-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/e/e4/2ex-21077.pdf Exame Época de Recurso de 24-jul-2013]&lt;br /&gt;
&lt;br /&gt;
== Corpo Docente: ==&lt;br /&gt;
* Nos anos letivos de 2018/2019 a 2020/2021: [https://portal.uab.pt/dcet/docentes/#content Prof. Ricardo Baptista] [https://www.inesctec.pt/pt/pessoas/ricardo-jose-baptista#short_bio [1]]&lt;br /&gt;
* No ano letivo de 2017/2018: [https://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=152 Prof. Bruno Sousa] &lt;br /&gt;
* Nos anos letivos de 2012/2013 a 2016/2017: [https://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=34 Prof. Jorge Morais]&lt;br /&gt;
&lt;br /&gt;
== Links úteis: ==&lt;br /&gt;
&lt;br /&gt;
'''Java'''&lt;br /&gt;
&lt;br /&gt;
The Java™ Tutorials [https://docs.oracle.com/javase/tutorial/ Tutorial da Oracle]&lt;br /&gt;
&lt;br /&gt;
Livro online  [http://math.hws.edu/javanotes/ Introduction to Programming using Java 7ed] Livro muito bem escrito e de fácil leitura.&lt;br /&gt;
&lt;br /&gt;
Livro [http://introcs.cs.princeton.edu/java/home/ Introduction to programming in Java]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OCaml'''&lt;br /&gt;
&lt;br /&gt;
Oficial OCaml Tutorials [https://ocaml.org/learn/tutorials/ OCaml.org]&lt;br /&gt;
&lt;br /&gt;
Introdução OCaml - UBI [http://www.di.ubi.pt/~desousa/OCaml/aula_ocaml1-pp.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
Apontamentos feitos por Cátia Santos @ 2020 [https://wiki.dcet.uab.pt/files/images/e/ee/LP_-_Resumo_OCAML.pdf Resumo de OCAML]&lt;br /&gt;
&lt;br /&gt;
'''PROLOG'''&lt;br /&gt;
&lt;br /&gt;
Video introdutório sobre Prolog [https://www.youtube.com/watch?v=SykxWpFwMGs Prolog Tutorial] (5 estrelas)&lt;br /&gt;
&lt;br /&gt;
Site livro online [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
&lt;br /&gt;
Lista de manuais em Prolog [https://github.com/jcoder58/PrologTutorials]&lt;br /&gt;
&lt;br /&gt;
Apontamentos feitos por Cátia Santos @ 2020 [https://wiki.dcet.uab.pt/files/images/1/19/LP_-_Resumo_de_Prolog.pdf Resumo de PROLOG]&lt;br /&gt;
&lt;br /&gt;
== Materiais de Apoio==&lt;br /&gt;
&lt;br /&gt;
Aborda-se três diferentes paradigmas de programação:&lt;br /&gt;
&lt;br /&gt;
    Programação Funcional;&lt;br /&gt;
    Programação Lógica;&lt;br /&gt;
    Programação por Objectos.&lt;br /&gt;
&lt;br /&gt;
OCaml&lt;br /&gt;
&lt;br /&gt;
A programação funcional constituiu uma parte significativa de toda a matéria (6 semanas). Foi utilizada a linguagem OCaml da qual apenas se estudou a parte funcional. A leitura da bibliografia fornecida não foi difícil nem muito demorada mas foi fundamental fazer bastantes exercícios. Há alguns conceitos novos, por vezes contrastantes com os de outros paradigmas, o que pode causar alguma dificuldade de adaptação. A ideia fundamental é a de que uma computação complexa se obtém pela composição de funções (como na matemática) e cada função apenas devolve um valor, não alterando o estado de outras &amp;quot;variáveis&amp;quot; - os chamados side-effects. Aqui tudo são (converte-se em) valores, até mesmo uma função &amp;quot;é&amp;quot; um valor e pode ser utilizada como argumento de outras funções, sendo estas denominadas funções de ordem superior. Esta é uma das características mais poderosas deste tipo de linguagens. Outros conceitos que importa interiorizar para nos adaptarmos a este paradigma são coisas como static binding, currying, closure, polimorfismo... mas a &amp;quot;força motriz&amp;quot; da programação funcional é mesmo a recursividade. Os algoritmos são sempre recursivos, não há ciclos iterativos do tipo while ou for. Até os tipos podem também ser recursivos!&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados&lt;br /&gt;
&lt;br /&gt;
The OCaml top level  &lt;br /&gt;
    REPL -&amp;gt; https://ocaml.org/learn/tutorials/up_and_running.html&lt;br /&gt;
    UTOP -&amp;gt; https://opam.ocaml.org/blog/about-utop/&lt;br /&gt;
&lt;br /&gt;
Compilador (opcional dado que é suficiente trabalhar apenas em top level)&lt;br /&gt;
    https://ocaml.org/learn/tutorials/a_first_hour_with_ocaml.html#Compiling-OCaml-programs&lt;br /&gt;
&lt;br /&gt;
Bibliografia&lt;br /&gt;
    Jason Hickey, &amp;quot;Introduction to the Objective Caml Programming Language&amp;quot;, 2004&lt;br /&gt;
&lt;br /&gt;
[http://wiki.dcet.uab.pt/files/images/3/32/Exercicios_resolvidos_OCaml.pdf ExerciciosResolvidosOCaml]&lt;br /&gt;
&lt;br /&gt;
Prolog&lt;br /&gt;
&lt;br /&gt;
Deste paradigma fez-se apenas uma pequena introdução, mas mesmo assim é imprescindível estudar a bibliografia e, mais uma vez, praticar bastante. Esta linguagem de programação assenta num conceito completamente diferente das restantes. Aqui nada é avaliado/convertido em valores. Aquilo com que se trabalha são factos e regras. Toda a computação consiste em verificar se uma determinada proposição é falsa ou verdadeira, verificando os factos existentes e as regras sobre eles definidos. Este processo tem por base o conceito de &amp;quot;unificação&amp;quot;, fundamental para entender a linguagem. Até mesmo a aritmética - o único lugar da linguagem onde se calcula o valor de uma expressão - funciona de uma forma inesperada. É interessante (e espantoso) aquilo que se consegue fazer pensando sempre em &amp;quot;é falso ou verdadeiro?&amp;quot;. No vocabulário deste paradigma estão palavras como clausula, termo, predicado, aridade, query... e recursividade! Uma grande parte da computação é conseguida de forma recursiva.&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados:&lt;br /&gt;
&lt;br /&gt;
Compilador&lt;br /&gt;
    http://www.swi-prolog.org/&lt;br /&gt;
Bibliografia&lt;br /&gt;
    Leon Sterling and Ehud Shapiro, The Art of Prolog (2nd Edition), MIT Press, 1994&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
Nestes dois paradigmas é essencial esquecer tudo (quase tudo) o que se sabe de programação e embarcar numa viagem por terras desconhecidas, culturas diferentes. Tal como nessa circunstância, não devemos tentar empregar (forçar) as técnicas e procedimentos que já conhecemos mas antes tentar perceber qual é a &amp;quot;filosofia&amp;quot;, qual é a &amp;quot;cultura&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Java&lt;br /&gt;
&lt;br /&gt;
Neste caso foi muito mais rápida a fase inicial, com muita coisa semelhante ao que se faz em C/C++, mas é tudo muito mais trabalhoso. É um grande contraste com os paradigmas anteriores (especialmente o funcional) o número de linhas de código que é necessário escrever para fazer mesmo a coisa mais simples. É importante dominar o conceito de apontador e referência para entender os problemas de violação do encapsulamento - um dos princípios fundamentais em POO - mas em Java não se faz nada parecido com a manipulação dos endereços de memória como em C ou C++. Se quisermos caracterizar numa frase esta linguagem (exagerando um bocadinho) podemos dizer que em Java tudo são objectos. Até os tipos numéricos têm umas &amp;quot;embalagens&amp;quot; para funcionar como tal. O vocabulário desta linguagem é já conhecido: classe, método, atributo, instância, interface, composição, herança, polimorfismo, overloading... switch e instanceof são coisas a evitar, faz-se muito foreach com as colecções e os tipos podem ser parametrizados.&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados:&lt;br /&gt;
&lt;br /&gt;
IDE&lt;br /&gt;
    Netbeans (12.4)&lt;br /&gt;
Bibliografia&lt;br /&gt;
    F. Mário Martins, Java 8 - POO + Construções Funcionais, FCA&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:LinguagensProgramacaoEfolioB2022_2023.pdf&amp;diff=8859</id>
		<title>Ficheiro:LinguagensProgramacaoEfolioB2022 2023.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:LinguagensProgramacaoEfolioB2022_2023.pdf&amp;diff=8859"/>
				<updated>2023-10-27T10:06:57Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Linguagens_de_Programa%C3%A7%C3%A3o&amp;diff=8858</id>
		<title>Linguagens de Programação</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Linguagens_de_Programa%C3%A7%C3%A3o&amp;diff=8858"/>
				<updated>2023-10-27T10:05:00Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: /* Ano Letivo 2022/2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Informática]]&lt;br /&gt;
[[Category:Engenharia_Informática]]&lt;br /&gt;
&lt;br /&gt;
==Guia Informativo Oficial==&lt;br /&gt;
*[http://www2.uab.pt/guiainformativo/detailuc.php?uc=121 Guia Informativo de Linguagens de Programação]&lt;br /&gt;
&lt;br /&gt;
== Planos da Unidade Curricular (PUC): ==&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/be/PUC_LP_2021_2022.pdf PUC Linguagens de Programação 2021-2022]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/e7/PUC_LP_2020-21.pdf PUC Linguagens de Programação 2020-2021]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/0/07/Plano_da_Unidade_Curricular_LP_2020.pdf PUC Linguagens de Programação 2019-2020]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/2/25/PUC_LP_1819.pdf PUC Linguagens de Programação 2018-2019] &lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/f/f4/Plano_da_Unidade_Curricular-2016-2017.pdf PUC Linguagens de Programação 2016-2017]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/96/PUC_LP_2015_16.pdf PUC Linguagens de Programação 2015-2016]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/6/62/PUC_LP.pdf PUC Linguagens de Programação 2014-2015]&lt;br /&gt;
&lt;br /&gt;
== Enunciados e Resoluções de e-Fólios, p-Fólios e Exames de anos anteriores ==&lt;br /&gt;
=== Ano Letivo 2023/2024 ===&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2022/2023 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/6/63/1efolio-21077-2023.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4e/Efolio_global_2022_2023.pdf E-fólio Global]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4a/Global_recurso.pdf E-fólio Global Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2021/2022 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/6/6f/1efolio-21077_OCaml_2022.pdf E-fólio A]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/b/b9/2efolio-21077_Prolog_2022.pdf E-fólio B]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/25/Enunciado_efolio_global-enunciado_21077.pdf E-fólioGlobal] - Possível Resolução: [https://wiki.dcet.uab.pt/files/images/6/63/1802876efolioGlobal_resolu%C3%A7%C3%A3o.pdf (11V aproximadadamente)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/7/77/Enunciado_Exame2022.pdf Exame]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/c/c9/21077-LP-ExameRecurso-2021-22.pdf Exame de Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2020/2021 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/43/1efolio-21077_OCaml_2021.pdf E-fólio A] - Possíveis Resoluções: [https://github.com/PauloJMNicolau/efolioA_LP 1(3.82v)] - [https://github.com/RenatoMBDuarte/21077_LP_EfolioA  2(4v)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/5/51/2efolio-21077_Prolog_2021.pdf E-fólio B]  - Possiveis Resoluções: [https://github.com/PauloJMNicolau/efolioB_LP 1(4v)] - [https://github.com/RenatoMBDuarte/21077_LP_EfolioB  2(4v)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/28/Enunciado_efolio_global-enunciado_21077_20210609.pdf E-fólio Global] - [https://wiki.dcet.uab.pt/files/images/f/f7/21077_Global_2021.pdf Proposta de Resolução (12V)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/d/d3/Enunciado_exame-enunciado_21077_20210609.pdf Exame]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/40/Enunciado_exame-enunciado_21077_20210927.pdf Exame de Recurso]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/f/f8/2020-2021_z_efolios_LP2021_criteriosEGlobal.pdf Critérios Correcção Efolio/Exame]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2019/2020: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/7/74/1efolioA-21077_OCaml_2020.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/1/14/2efolioB-21077_Prolog_2020.pdf E-fólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/46/Efolio_global-enunciado_21077.pdf E-fólio Global] -&amp;gt;[https://wiki.dcet.uab.pt/files/images/1/1f/ResolucaoEGLOBAL_2019_LP.pdf Resolução do professor]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/ef/Exame_Recurso_LP_1920.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2018/2019: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/8/88/1efolio-21077_OCaml.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/53/2efolio-21077_Prolog.pdf E-fólio B]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/ba/LP_-_Normal_-_2018_2019.pdf P-fólio Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/5b/LP_-_Normal_-_2018_2019_Exame.pdf Exame Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fd/LP_-_Recurso_-_2018_2019.pdf P-fólio Recurso]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/a1/LP_-_Recurso_-_2018_2019_Exame.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2017/2018: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4d/1efolio-21077_OCaml_2017_2018.pdf Efólio A] - [https://wiki.dcet.uab.pt/files/images/a/ab/1efolio-21077_OCaml_instrucoes_resolucao.pdf Instruções de resolução] [https://wiki.dcet.uab.pt/files/images/7/7c/EfolioA_instrucoesresolucao.ml.pdf (Código)]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/d/d1/1efolio-21077_Prolog.pdf Efólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fa/1pfolio-21077_1718.pdf P-Fólio Normal] - [https://wiki.dcet.uab.pt/files/images/4/40/Criterios_21077.pdf Critérios] - [https://wiki.dcet.uab.pt/files/images/e/ea/CODIGO_PFOLIO.pdf Código Resolução Pfólio]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/9f/2pfolio-21077_1718.pdf P-Fólio Recurso] - [https://wiki.dcet.uab.pt/files/images/c/c1/21077-criterios_pfolio_recurso.pdf Critérios]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2016/2017: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/9c/LP-efolioA-2017.pdf Efólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/06/LP-efolioB-2017.pdf Efólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/41/1ex-21077-2017_Pf%C3%B3lio.pdf P-Fólio Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/a8/1ex-21077-2017.pdf Exame Normal]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2015/2016: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/c9/E-FolioALP-15-16.pdf E-fólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/5/58/EFolioBLP-15-16.pdf E-fólio B]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/21/1ex-21077_Pf%C3%B3lio-2016.pdf P-fólio Época Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/b/bc/2ex-21077_Pf%C3%B3lio2016.pdf P-fólio Época Recurso]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/07/1ex-21077-2016.pdf Exame Época Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/9a/2ex-21077-2016.pdf Exame Época Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2014/2015: ===&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/7/7a/P-folio_LP-29-JAN-2015.pdf P-Fólio Época Normal de 29-jan-2015]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2013/2014: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/1/1f/E-F%C3%B3lio_A_LP_14-15_.pdf e-Fólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/2d/E-F%C3%B3lio_B_LP_14-15_.pdf e-Fólio B]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/d/d6/E-F%C3%B3lio_C_LP_14-15_.pdf e-Fólio C]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/cc/Merged_document.pdf p-Fólio Recurso 23-jul-2014]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2012/2013: ===&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/0/06/LPefolioA.pdf e-fólio A]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/5/5f/LPefolioB.pdf e-fólio B]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/2/2d/LPefolioC.pdf e-fólio C]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/7/71/1ex-21077_Pf%C3%B3lio.pdf p-fólio Época Normal de 18-fev-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/4/4f/1ex-21077.pdf Exame Época Normal de 18-fev-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/3/3b/2ex-21077_Pf%C3%B3lio.pdf p-fólio Época de Recurso de 24-jul-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/e/e4/2ex-21077.pdf Exame Época de Recurso de 24-jul-2013]&lt;br /&gt;
&lt;br /&gt;
== Corpo Docente: ==&lt;br /&gt;
* Nos anos letivos de 2018/2019 a 2020/2021: [https://portal.uab.pt/dcet/docentes/#content Prof. Ricardo Baptista] [https://www.inesctec.pt/pt/pessoas/ricardo-jose-baptista#short_bio [1]]&lt;br /&gt;
* No ano letivo de 2017/2018: [https://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=152 Prof. Bruno Sousa] &lt;br /&gt;
* Nos anos letivos de 2012/2013 a 2016/2017: [https://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=34 Prof. Jorge Morais]&lt;br /&gt;
&lt;br /&gt;
== Links úteis: ==&lt;br /&gt;
&lt;br /&gt;
'''Java'''&lt;br /&gt;
&lt;br /&gt;
The Java™ Tutorials [https://docs.oracle.com/javase/tutorial/ Tutorial da Oracle]&lt;br /&gt;
&lt;br /&gt;
Livro online  [http://math.hws.edu/javanotes/ Introduction to Programming using Java 7ed] Livro muito bem escrito e de fácil leitura.&lt;br /&gt;
&lt;br /&gt;
Livro [http://introcs.cs.princeton.edu/java/home/ Introduction to programming in Java]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OCaml'''&lt;br /&gt;
&lt;br /&gt;
Oficial OCaml Tutorials [https://ocaml.org/learn/tutorials/ OCaml.org]&lt;br /&gt;
&lt;br /&gt;
Introdução OCaml - UBI [http://www.di.ubi.pt/~desousa/OCaml/aula_ocaml1-pp.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
Apontamentos feitos por Cátia Santos @ 2020 [https://wiki.dcet.uab.pt/files/images/e/ee/LP_-_Resumo_OCAML.pdf Resumo de OCAML]&lt;br /&gt;
&lt;br /&gt;
'''PROLOG'''&lt;br /&gt;
&lt;br /&gt;
Video introdutório sobre Prolog [https://www.youtube.com/watch?v=SykxWpFwMGs Prolog Tutorial] (5 estrelas)&lt;br /&gt;
&lt;br /&gt;
Site livro online [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
&lt;br /&gt;
Lista de manuais em Prolog [https://github.com/jcoder58/PrologTutorials]&lt;br /&gt;
&lt;br /&gt;
Apontamentos feitos por Cátia Santos @ 2020 [https://wiki.dcet.uab.pt/files/images/1/19/LP_-_Resumo_de_Prolog.pdf Resumo de PROLOG]&lt;br /&gt;
&lt;br /&gt;
== Materiais de Apoio==&lt;br /&gt;
&lt;br /&gt;
Aborda-se três diferentes paradigmas de programação:&lt;br /&gt;
&lt;br /&gt;
    Programação Funcional;&lt;br /&gt;
    Programação Lógica;&lt;br /&gt;
    Programação por Objectos.&lt;br /&gt;
&lt;br /&gt;
OCaml&lt;br /&gt;
&lt;br /&gt;
A programação funcional constituiu uma parte significativa de toda a matéria (6 semanas). Foi utilizada a linguagem OCaml da qual apenas se estudou a parte funcional. A leitura da bibliografia fornecida não foi difícil nem muito demorada mas foi fundamental fazer bastantes exercícios. Há alguns conceitos novos, por vezes contrastantes com os de outros paradigmas, o que pode causar alguma dificuldade de adaptação. A ideia fundamental é a de que uma computação complexa se obtém pela composição de funções (como na matemática) e cada função apenas devolve um valor, não alterando o estado de outras &amp;quot;variáveis&amp;quot; - os chamados side-effects. Aqui tudo são (converte-se em) valores, até mesmo uma função &amp;quot;é&amp;quot; um valor e pode ser utilizada como argumento de outras funções, sendo estas denominadas funções de ordem superior. Esta é uma das características mais poderosas deste tipo de linguagens. Outros conceitos que importa interiorizar para nos adaptarmos a este paradigma são coisas como static binding, currying, closure, polimorfismo... mas a &amp;quot;força motriz&amp;quot; da programação funcional é mesmo a recursividade. Os algoritmos são sempre recursivos, não há ciclos iterativos do tipo while ou for. Até os tipos podem também ser recursivos!&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados&lt;br /&gt;
&lt;br /&gt;
The OCaml top level  &lt;br /&gt;
    REPL -&amp;gt; https://ocaml.org/learn/tutorials/up_and_running.html&lt;br /&gt;
    UTOP -&amp;gt; https://opam.ocaml.org/blog/about-utop/&lt;br /&gt;
&lt;br /&gt;
Compilador (opcional dado que é suficiente trabalhar apenas em top level)&lt;br /&gt;
    https://ocaml.org/learn/tutorials/a_first_hour_with_ocaml.html#Compiling-OCaml-programs&lt;br /&gt;
&lt;br /&gt;
Bibliografia&lt;br /&gt;
    Jason Hickey, &amp;quot;Introduction to the Objective Caml Programming Language&amp;quot;, 2004&lt;br /&gt;
&lt;br /&gt;
[http://wiki.dcet.uab.pt/files/images/3/32/Exercicios_resolvidos_OCaml.pdf ExerciciosResolvidosOCaml]&lt;br /&gt;
&lt;br /&gt;
Prolog&lt;br /&gt;
&lt;br /&gt;
Deste paradigma fez-se apenas uma pequena introdução, mas mesmo assim é imprescindível estudar a bibliografia e, mais uma vez, praticar bastante. Esta linguagem de programação assenta num conceito completamente diferente das restantes. Aqui nada é avaliado/convertido em valores. Aquilo com que se trabalha são factos e regras. Toda a computação consiste em verificar se uma determinada proposição é falsa ou verdadeira, verificando os factos existentes e as regras sobre eles definidos. Este processo tem por base o conceito de &amp;quot;unificação&amp;quot;, fundamental para entender a linguagem. Até mesmo a aritmética - o único lugar da linguagem onde se calcula o valor de uma expressão - funciona de uma forma inesperada. É interessante (e espantoso) aquilo que se consegue fazer pensando sempre em &amp;quot;é falso ou verdadeiro?&amp;quot;. No vocabulário deste paradigma estão palavras como clausula, termo, predicado, aridade, query... e recursividade! Uma grande parte da computação é conseguida de forma recursiva.&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados:&lt;br /&gt;
&lt;br /&gt;
Compilador&lt;br /&gt;
    http://www.swi-prolog.org/&lt;br /&gt;
Bibliografia&lt;br /&gt;
    Leon Sterling and Ehud Shapiro, The Art of Prolog (2nd Edition), MIT Press, 1994&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
Nestes dois paradigmas é essencial esquecer tudo (quase tudo) o que se sabe de programação e embarcar numa viagem por terras desconhecidas, culturas diferentes. Tal como nessa circunstância, não devemos tentar empregar (forçar) as técnicas e procedimentos que já conhecemos mas antes tentar perceber qual é a &amp;quot;filosofia&amp;quot;, qual é a &amp;quot;cultura&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Java&lt;br /&gt;
&lt;br /&gt;
Neste caso foi muito mais rápida a fase inicial, com muita coisa semelhante ao que se faz em C/C++, mas é tudo muito mais trabalhoso. É um grande contraste com os paradigmas anteriores (especialmente o funcional) o número de linhas de código que é necessário escrever para fazer mesmo a coisa mais simples. É importante dominar o conceito de apontador e referência para entender os problemas de violação do encapsulamento - um dos princípios fundamentais em POO - mas em Java não se faz nada parecido com a manipulação dos endereços de memória como em C ou C++. Se quisermos caracterizar numa frase esta linguagem (exagerando um bocadinho) podemos dizer que em Java tudo são objectos. Até os tipos numéricos têm umas &amp;quot;embalagens&amp;quot; para funcionar como tal. O vocabulário desta linguagem é já conhecido: classe, método, atributo, instância, interface, composição, herança, polimorfismo, overloading... switch e instanceof são coisas a evitar, faz-se muito foreach com as colecções e os tipos podem ser parametrizados.&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados:&lt;br /&gt;
&lt;br /&gt;
IDE&lt;br /&gt;
    Netbeans (12.4)&lt;br /&gt;
Bibliografia&lt;br /&gt;
    F. Mário Martins, Java 8 - POO + Construções Funcionais, FCA&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:Global_recurso.pdf&amp;diff=8857</id>
		<title>Ficheiro:Global recurso.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:Global_recurso.pdf&amp;diff=8857"/>
				<updated>2023-10-27T10:03:50Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Investiga%C3%A7%C3%A3o_Operacional&amp;diff=8846</id>
		<title>Investigação Operacional</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Investiga%C3%A7%C3%A3o_Operacional&amp;diff=8846"/>
				<updated>2023-10-02T13:23:02Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: /* Ano Letivo 2022/2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Category:Informática]]&lt;br /&gt;
[[Category:Engenharia_Informática]]&lt;br /&gt;
[[Category:Matemática_e_Aplicações]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Guia Informativo Oficial==&lt;br /&gt;
*[http://www2.uab.pt/guiainformativo/detailuc.php?uc=120 Guia Informativo de Investigação Operacional]&lt;br /&gt;
&lt;br /&gt;
== Planos da Unidade Curricular (PUC) ==&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/1/16/IO_-_PUC.pdf PUC Investigação Operacional 2022-23]&lt;br /&gt;
* - 2021-2022 &lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/5c/PUC_IO_2020-21.pdf  PUC Investigação Operacional 2020-21]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/f3/PUC_IO_2017_2018.pdf  PUC Investigação Operacional 2017-18]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/6/65/IO_PUC_16_17.pdf  PUC Investigação Operacional 2016-17]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/c9/Plano-da-Unidade-Curricular.pdf PUC Investigação Operacional 2015-16]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/e/e6/PUC_IO_2014-15.pdf PUC Investigação Operacional 2014-15]&lt;br /&gt;
&lt;br /&gt;
== Enunciados e Resoluções de e-Fólios, p-Fólios e Exames de anos anteriores ==&lt;br /&gt;
=== Ano Letivo 2023/2024 ===&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2022/2023 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/92/22-23_21076_eFolioA_IO.pdf E-fólio A] - [https://wiki.dcet.uab.pt/files/images/d/dd/2000809efolioA.pdf Resolução [4v]] - [https://wiki.dcet.uab.pt/files/images/4/4b/Vera_Amaral_IO_20222023_eFolioA.pdf Resolução [4v]] - [https://wiki.dcet.uab.pt/files/images/8/8d/Resolu%C3%A7%C3%A3o_prof.pdf Resolução da Professora]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/93/22-23_21076_eFolioB-InvestigacaoOperacional.pdf E-fólio B] - [https://wiki.dcet.uab.pt/files/images/c/ca/2000809efolioBInvestigacaoOperacional.pdf Resolução [4v]] - [https://wiki.dcet.uab.pt/files/images/4/42/22-23_21076_eFolioB_-_Resolucao_Professora.pdf Resolução da Professora]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/47/22-23_21076_eFolio_Global.pdf Efolio Global] - [https://wiki.dcet.uab.pt/files/images/4/43/22-23_21076_eFolio_Global_-_Resolucao.pdf Resolução da Professora]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/1/18/22-23_21076_eFolio_Global_-_Recurso.pdf Efolio Global Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2021/2022 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/0/01/21-22_21076_eFolioA_v2_final.pdf E-fólio A] - [https://wiki.dcet.uab.pt/files/images/3/3b/21-22_21076_eFolioA_-_Resolucao.pdf Resolução]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/98/21-22_21076_eFolioB.pdf E-fólio B] - [https://wiki.dcet.uab.pt/files/images/e/e5/Resolucao_eFolioB_-_MarioCarvalho.pdf Resolução apresentada pela Docente]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/6/63/21-22_21076_eFolio_Global.pdf E-fólio Global] - [https://wiki.dcet.uab.pt/files/images/8/8b/21-22_21076_eFolio_Global_-_Resolucao.pdf Resolução]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2020/2021 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/51/20-21_21076_eFolioA.pdf E-fólio A] - [https://wiki.dcet.uab.pt/files/images/a/a2/20-21_21076_eFolioA_-_Resolucao.pdf Resolução]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/1/1f/20-21_21076_eFolioB.pdf E-fólio B] - [https://wiki.dcet.uab.pt/files/images/7/73/20-21_21076_eFolioB_-_Resolucao.pdf Resolução]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/46/20-21_21076_eFolio_Global.pdf E-fólio Global] - [https://wiki.dcet.uab.pt/files/images/2/24/20-21_21076_eFolio_Global_-_Resolucao.pdf Resolução]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/99/21076-InvestigacaoOperacional_Exame2020-21-Enunciado.pdf Exame (Ép. Normal)] - [https://wiki.dcet.uab.pt/files/images/b/bc/21076-InvestigacaoOperacional_Exame2020-21-Resolucao.pdf Resolução]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2019/2020 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fd/19-20_21076_eFolioA.pdf E-Fólio A] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/6/64/IO_2019_2020_Resolu%C3%A7%C3%A3o_E-F%C3%B3lio_A_-_2019-2020.pdf Resolução]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/d/d0/IO_2019_2020_Enunciado_eFolioB.pdf E-Fólio B] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/e/ed/IO_2019_2020_E-F%C3%B3lio_B_-_Resolu%C3%A7%C3%A3o.pdf Resolução]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/1/19/IO_2019_2020_Enunciado_eFolio_Global.pdf E-Fólio Global] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/d/dc/IO_2019_2020_eFolio_Global_-_Resolucao.pdf Resolução]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/3/3e/IO_2019_2020_Enunciado_Exame_online.pdf Exame online] =&amp;gt; [https://wiki.dcet.uab.pt/files/images/9/9c/IO_2019_2020_Exame_online_-_Resolucao.pdf Resolução]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2018/2019 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/3/33/Enunciado_EfolioA_%28UC_21076%29.pdf EFólio A] &amp;gt; [https://wiki.dcet.uab.pt/files/images/3/3e/IO_ResolucaoEFolioA.pdf Resolução]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/c/c3/Enunciado_EFolioB_%28UC_21076%29.pdf EFólio B] &amp;gt; [https://wiki.dcet.uab.pt/files/images/0/0a/IO_Resolu%C3%A7%C3%A3oEfolioB.pdf Resolução]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/e2/IO_ExameEN.pdf Exame (época normal)] &amp;gt; [https://wiki.dcet.uab.pt/files/images/6/6b/IO_Resolu%C3%A7%C3%A3oExameEN.pdf Resolução]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2017/2018 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/d/d0/Pfolio_io_17_18.pdf P-Fólio (Época Normal) - Enunciado]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/6/61/21076_IO_17_P_F%C3%B3lio_1_PR.pdf P-Fólio (Época Normal) - Orientações de Resposta Recurso]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/d/d6/21076_IO_17-P_F%C3%B3lio_2.pdf P-Fólio (Época de Recurso) - Enunciado]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/42/21076_IO_17-Exame_2.pdf Exame (Época de Recurso) - Enunciado]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/e1/21076_IO_17_P-Folio2_CC.pdf P-Fólio (Época de Recurso) - Critérios de Correção e Cotação]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/ba/21076_IO_17_Exame2_CC.pdf Exame (Época de Recurso) - Critérios de Correção e Cotação]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2016/2017 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/3/3d/21076_IO_16_eFolioA.pdf E-fólio A] ---&amp;gt; [http://wiki.dcet.uab.pt/files/images/0/0e/21076_IO_16_17_EfolioA_CC.pdf Critérios de Correção e Cotação ]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/2a/21076_16_IO_EFolioB.pdf E-fólio B] ---&amp;gt; [http://wiki.dcet.uab.pt/files/images/f/f2/21076_IO_16_17_EfolioB_CC.pdf Critérios de Correção e Cotação ]&lt;br /&gt;
&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/f/f7/21076_IO_16-pfolio1.pdf P-fólio Epoca normal] ---&amp;gt; [http://wiki.dcet.uab.pt/files/images/8/8a/21076_IO_16_Pfolio1_CC.pdf Critérios de Correção e Cotação]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/7/70/21076_IO_16-Exame1.pdf Exame Epoca normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/9d/21076_IO_16-pfolio2.pdf P-fólio Epoca de recurso] ---&amp;gt; [https://wiki.dcet.uab.pt/files/images/b/be/21076_16_P-folio2_CC.pdf Critérios de Correção e Cotação]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/1/1a/21076_IO_16-Exame2.pdf Exame Epoca de recurso] ---&amp;gt; [https://wiki.dcet.uab.pt/files/images/4/41/21076_16_Exame2_CC.pdf Critérios de Correção e Cotação]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2015/2016 ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/3/3f/21076_15_ExameNormal_enunciado.pdf Exame Normal] ---&amp;gt; [http://wiki.dcet.uab.pt/files/images/3/3b/21076_15_ExameNormal_Resolucao.pdf  Resolução]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/1/18/21076_2015_2016_TF1.pdf Teste Formativo 1] ---&amp;gt; [http://wiki.dcet.uab.pt/files/images/f/ff/21076_IO_15_TF1_Resolu%C3%A7%C3%A3o.pdf Resolução]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/6/68/21076_IO_15_TF2.pdf Teste Formativo 2]  ---&amp;gt; [http://wiki.dcet.uab.pt/files/images/f/f1/21076_IO_15_Teste_Formativo2_Resolu%C3%A7%C3%A3o.pdf Resolução] &lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/3/36/21076_IO_15_eFolioA.pdf E-fólio A] ---&amp;gt; [http://wiki.dcet.uab.pt/files/images/5/58/21076_E_folioA_15-resolu%C3%A7%C3%A3o.pdf Proposta de Resolução]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/a/a9/21076_IO_15_eFolioB.pdf E-fólio B] ---&amp;gt; [http://wiki.dcet.uab.pt/files/images/5/58/21076_IO_15_efolioB_Resolu%C3%A7%C3%A3o.pdf Proposta de Resolução]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2014/2015 ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/b/b3/IO_Pfolio_23_06_2015.pdf Pfólio Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/6/6a/20176_InvestigOperacional_exame-recurso_4-9-2015.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2013/2014 ===&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2012/2013 ===&lt;br /&gt;
&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/3/32/IO-pFolio-12Jun2013.pdf Pfolio Normal]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2011/2012 ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/a/a5/PFolio12Jun2012.pdf Pfolio Normal c/ resolução]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2010/2011 ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/03/Exame_1_2010_2011_21076.pdf Exame Normal] --&amp;gt; [http://wiki.dcet.uab.pt/files/images/d/d2/Exame09Jun2011Resolucao.pdf Resolução]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/e/e5/M_p_folio_cr_21076%282014%29.pdf Pfólio modelo resolvido]&lt;br /&gt;
&lt;br /&gt;
== Corpo Docente ==&lt;br /&gt;
* Ano Letivo 2020/2021: Prof.ª Patrícia Engrácia&lt;br /&gt;
* Ano Letivo 2017/2018: [http://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=29 Prof. Amílcar Oliveira]&lt;br /&gt;
&lt;br /&gt;
== Links úteis ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Materiais de Apoio==&lt;br /&gt;
&lt;br /&gt;
Introdução à programação Linear https://www.youtube.com/watch?v=H5KYdQu5u8Q&lt;br /&gt;
&lt;br /&gt;
Método simplex: https://www.youtube.com/watch?v=dwI_WdGrqqs&lt;br /&gt;
&lt;br /&gt;
*[http://stattrek.com/online-calculator/normal.aspx Calculadora de estatistica]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/59/Introdu%C3%A7%C3%A3o_%C3%A0_Investiga%C3%A7%C3%A3o_Operacional.pdf Introdução à Investigação Operacional (PDF)]&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:22-23_21076_eFolio_Global_-_Recurso.pdf&amp;diff=8845</id>
		<title>Ficheiro:22-23 21076 eFolio Global - Recurso.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:22-23_21076_eFolio_Global_-_Recurso.pdf&amp;diff=8845"/>
				<updated>2023-10-02T13:20:01Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Linguagens_de_Programa%C3%A7%C3%A3o&amp;diff=8703</id>
		<title>Linguagens de Programação</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Linguagens_de_Programa%C3%A7%C3%A3o&amp;diff=8703"/>
				<updated>2023-09-02T15:50:12Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: /* Ano Letivo 2022/2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Informática]]&lt;br /&gt;
[[Category:Engenharia_Informática]]&lt;br /&gt;
&lt;br /&gt;
==Guia Informativo Oficial==&lt;br /&gt;
*[http://www2.uab.pt/guiainformativo/detailuc.php?uc=121 Guia Informativo de Linguagens de Programação]&lt;br /&gt;
&lt;br /&gt;
== Planos da Unidade Curricular (PUC): ==&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/be/PUC_LP_2021_2022.pdf PUC Linguagens de Programação 2021-2022]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/e7/PUC_LP_2020-21.pdf PUC Linguagens de Programação 2020-2021]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/0/07/Plano_da_Unidade_Curricular_LP_2020.pdf PUC Linguagens de Programação 2019-2020]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/2/25/PUC_LP_1819.pdf PUC Linguagens de Programação 2018-2019] &lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/f/f4/Plano_da_Unidade_Curricular-2016-2017.pdf PUC Linguagens de Programação 2016-2017]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/96/PUC_LP_2015_16.pdf PUC Linguagens de Programação 2015-2016]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/6/62/PUC_LP.pdf PUC Linguagens de Programação 2014-2015]&lt;br /&gt;
&lt;br /&gt;
== Enunciados e Resoluções de e-Fólios, p-Fólios e Exames de anos anteriores ==&lt;br /&gt;
=== Ano Letivo 2022/2023 ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/6/63/1efolio-21077-2023.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4e/Efolio_global_2022_2023.pdf E-fólio Global]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2021/2022 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/6/6f/1efolio-21077_OCaml_2022.pdf E-fólio A]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/b/b9/2efolio-21077_Prolog_2022.pdf E-fólio B]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/25/Enunciado_efolio_global-enunciado_21077.pdf E-fólioGlobal] - Possível Resolução: [https://wiki.dcet.uab.pt/files/images/6/63/1802876efolioGlobal_resolu%C3%A7%C3%A3o.pdf (11V aproximadadamente)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/7/77/Enunciado_Exame2022.pdf Exame]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/c/c9/21077-LP-ExameRecurso-2021-22.pdf Exame de Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2020/2021 ===&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/43/1efolio-21077_OCaml_2021.pdf E-fólio A] - Possíveis Resoluções: [https://github.com/PauloJMNicolau/efolioA_LP 1(3.82v)] - [https://github.com/RenatoMBDuarte/21077_LP_EfolioA  2(4v)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/5/51/2efolio-21077_Prolog_2021.pdf E-fólio B]  - Possiveis Resoluções: [https://github.com/PauloJMNicolau/efolioB_LP 1(4v)] - [https://github.com/RenatoMBDuarte/21077_LP_EfolioB  2(4v)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/2/28/Enunciado_efolio_global-enunciado_21077_20210609.pdf E-fólio Global] - [https://wiki.dcet.uab.pt/files/images/f/f7/21077_Global_2021.pdf Proposta de Resolução (12V)]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/d/d3/Enunciado_exame-enunciado_21077_20210609.pdf Exame]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/4/40/Enunciado_exame-enunciado_21077_20210927.pdf Exame de Recurso]&lt;br /&gt;
* [https://wiki.dcet.uab.pt/files/images/f/f8/2020-2021_z_efolios_LP2021_criteriosEGlobal.pdf Critérios Correcção Efolio/Exame]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2019/2020: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/7/74/1efolioA-21077_OCaml_2020.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/1/14/2efolioB-21077_Prolog_2020.pdf E-fólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/46/Efolio_global-enunciado_21077.pdf E-fólio Global] -&amp;gt;[https://wiki.dcet.uab.pt/files/images/1/1f/ResolucaoEGLOBAL_2019_LP.pdf Resolução do professor]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/e/ef/Exame_Recurso_LP_1920.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2018/2019: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/8/88/1efolio-21077_OCaml.pdf E-fólio A]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/53/2efolio-21077_Prolog.pdf E-fólio B]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/b/ba/LP_-_Normal_-_2018_2019.pdf P-fólio Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/5/5b/LP_-_Normal_-_2018_2019_Exame.pdf Exame Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fd/LP_-_Recurso_-_2018_2019.pdf P-fólio Recurso]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/a1/LP_-_Recurso_-_2018_2019_Exame.pdf Exame Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2017/2018: ===&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/4d/1efolio-21077_OCaml_2017_2018.pdf Efólio A] - [https://wiki.dcet.uab.pt/files/images/a/ab/1efolio-21077_OCaml_instrucoes_resolucao.pdf Instruções de resolução] [https://wiki.dcet.uab.pt/files/images/7/7c/EfolioA_instrucoesresolucao.ml.pdf (Código)]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/d/d1/1efolio-21077_Prolog.pdf Efólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/f/fa/1pfolio-21077_1718.pdf P-Fólio Normal] - [https://wiki.dcet.uab.pt/files/images/4/40/Criterios_21077.pdf Critérios] - [https://wiki.dcet.uab.pt/files/images/e/ea/CODIGO_PFOLIO.pdf Código Resolução Pfólio]&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/9/9f/2pfolio-21077_1718.pdf P-Fólio Recurso] - [https://wiki.dcet.uab.pt/files/images/c/c1/21077-criterios_pfolio_recurso.pdf Critérios]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2016/2017: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/9c/LP-efolioA-2017.pdf Efólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/06/LP-efolioB-2017.pdf Efólio B]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/4/41/1ex-21077-2017_Pf%C3%B3lio.pdf P-Fólio Normal]&lt;br /&gt;
*[https://wiki.dcet.uab.pt/files/images/a/a8/1ex-21077-2017.pdf Exame Normal]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2015/2016: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/c9/E-FolioALP-15-16.pdf E-fólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/5/58/EFolioBLP-15-16.pdf E-fólio B]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/21/1ex-21077_Pf%C3%B3lio-2016.pdf P-fólio Época Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/b/bc/2ex-21077_Pf%C3%B3lio2016.pdf P-fólio Época Recurso]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/0/07/1ex-21077-2016.pdf Exame Época Normal]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/9/9a/2ex-21077-2016.pdf Exame Época Recurso]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2014/2015: ===&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/7/7a/P-folio_LP-29-JAN-2015.pdf P-Fólio Época Normal de 29-jan-2015]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2013/2014: ===&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/1/1f/E-F%C3%B3lio_A_LP_14-15_.pdf e-Fólio A]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/2/2d/E-F%C3%B3lio_B_LP_14-15_.pdf e-Fólio B]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/d/d6/E-F%C3%B3lio_C_LP_14-15_.pdf e-Fólio C]&lt;br /&gt;
*[http://wiki.dcet.uab.pt/files/images/c/cc/Merged_document.pdf p-Fólio Recurso 23-jul-2014]&lt;br /&gt;
&lt;br /&gt;
=== Ano Letivo 2012/2013: ===&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/0/06/LPefolioA.pdf e-fólio A]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/5/5f/LPefolioB.pdf e-fólio B]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/2/2d/LPefolioC.pdf e-fólio C]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/7/71/1ex-21077_Pf%C3%B3lio.pdf p-fólio Época Normal de 18-fev-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/4/4f/1ex-21077.pdf Exame Época Normal de 18-fev-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/3/3b/2ex-21077_Pf%C3%B3lio.pdf p-fólio Época de Recurso de 24-jul-2013]&lt;br /&gt;
* [http://wiki.dcet.uab.pt/files/images/e/e4/2ex-21077.pdf Exame Época de Recurso de 24-jul-2013]&lt;br /&gt;
&lt;br /&gt;
== Corpo Docente: ==&lt;br /&gt;
* Nos anos letivos de 2018/2019 a 2020/2021: [https://portal.uab.pt/dcet/docentes/#content Prof. Ricardo Baptista] [https://www.inesctec.pt/pt/pessoas/ricardo-jose-baptista#short_bio [1]]&lt;br /&gt;
* No ano letivo de 2017/2018: [https://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=152 Prof. Bruno Sousa] &lt;br /&gt;
* Nos anos letivos de 2012/2013 a 2016/2017: [https://www2.uab.pt/departamentos/DCT/detaildocente.php?doc=34 Prof. Jorge Morais]&lt;br /&gt;
&lt;br /&gt;
== Links úteis: ==&lt;br /&gt;
&lt;br /&gt;
'''Java'''&lt;br /&gt;
&lt;br /&gt;
The Java™ Tutorials [https://docs.oracle.com/javase/tutorial/ Tutorial da Oracle]&lt;br /&gt;
&lt;br /&gt;
Livro online  [http://math.hws.edu/javanotes/ Introduction to Programming using Java 7ed] Livro muito bem escrito e de fácil leitura.&lt;br /&gt;
&lt;br /&gt;
Livro [http://introcs.cs.princeton.edu/java/home/ Introduction to programming in Java]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OCaml'''&lt;br /&gt;
&lt;br /&gt;
Oficial OCaml Tutorials [https://ocaml.org/learn/tutorials/ OCaml.org]&lt;br /&gt;
&lt;br /&gt;
Introdução OCaml - UBI [http://www.di.ubi.pt/~desousa/OCaml/aula_ocaml1-pp.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
Apontamentos feitos por Cátia Santos @ 2020 [https://wiki.dcet.uab.pt/files/images/e/ee/LP_-_Resumo_OCAML.pdf Resumo de OCAML]&lt;br /&gt;
&lt;br /&gt;
'''PROLOG'''&lt;br /&gt;
&lt;br /&gt;
Video introdutório sobre Prolog [https://www.youtube.com/watch?v=SykxWpFwMGs Prolog Tutorial] (5 estrelas)&lt;br /&gt;
&lt;br /&gt;
Site livro online [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
&lt;br /&gt;
Lista de manuais em Prolog [https://github.com/jcoder58/PrologTutorials]&lt;br /&gt;
&lt;br /&gt;
Apontamentos feitos por Cátia Santos @ 2020 [https://wiki.dcet.uab.pt/files/images/1/19/LP_-_Resumo_de_Prolog.pdf Resumo de PROLOG]&lt;br /&gt;
&lt;br /&gt;
== Materiais de Apoio==&lt;br /&gt;
&lt;br /&gt;
Aborda-se três diferentes paradigmas de programação:&lt;br /&gt;
&lt;br /&gt;
    Programação Funcional;&lt;br /&gt;
    Programação Lógica;&lt;br /&gt;
    Programação por Objectos.&lt;br /&gt;
&lt;br /&gt;
OCaml&lt;br /&gt;
&lt;br /&gt;
A programação funcional constituiu uma parte significativa de toda a matéria (6 semanas). Foi utilizada a linguagem OCaml da qual apenas se estudou a parte funcional. A leitura da bibliografia fornecida não foi difícil nem muito demorada mas foi fundamental fazer bastantes exercícios. Há alguns conceitos novos, por vezes contrastantes com os de outros paradigmas, o que pode causar alguma dificuldade de adaptação. A ideia fundamental é a de que uma computação complexa se obtém pela composição de funções (como na matemática) e cada função apenas devolve um valor, não alterando o estado de outras &amp;quot;variáveis&amp;quot; - os chamados side-effects. Aqui tudo são (converte-se em) valores, até mesmo uma função &amp;quot;é&amp;quot; um valor e pode ser utilizada como argumento de outras funções, sendo estas denominadas funções de ordem superior. Esta é uma das características mais poderosas deste tipo de linguagens. Outros conceitos que importa interiorizar para nos adaptarmos a este paradigma são coisas como static binding, currying, closure, polimorfismo... mas a &amp;quot;força motriz&amp;quot; da programação funcional é mesmo a recursividade. Os algoritmos são sempre recursivos, não há ciclos iterativos do tipo while ou for. Até os tipos podem também ser recursivos!&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados&lt;br /&gt;
&lt;br /&gt;
The OCaml top level  &lt;br /&gt;
    REPL -&amp;gt; https://ocaml.org/learn/tutorials/up_and_running.html&lt;br /&gt;
    UTOP -&amp;gt; https://opam.ocaml.org/blog/about-utop/&lt;br /&gt;
&lt;br /&gt;
Compilador (opcional dado que é suficiente trabalhar apenas em top level)&lt;br /&gt;
    https://ocaml.org/learn/tutorials/a_first_hour_with_ocaml.html#Compiling-OCaml-programs&lt;br /&gt;
&lt;br /&gt;
Bibliografia&lt;br /&gt;
    Jason Hickey, &amp;quot;Introduction to the Objective Caml Programming Language&amp;quot;, 2004&lt;br /&gt;
&lt;br /&gt;
[http://wiki.dcet.uab.pt/files/images/3/32/Exercicios_resolvidos_OCaml.pdf ExerciciosResolvidosOCaml]&lt;br /&gt;
&lt;br /&gt;
Prolog&lt;br /&gt;
&lt;br /&gt;
Deste paradigma fez-se apenas uma pequena introdução, mas mesmo assim é imprescindível estudar a bibliografia e, mais uma vez, praticar bastante. Esta linguagem de programação assenta num conceito completamente diferente das restantes. Aqui nada é avaliado/convertido em valores. Aquilo com que se trabalha são factos e regras. Toda a computação consiste em verificar se uma determinada proposição é falsa ou verdadeira, verificando os factos existentes e as regras sobre eles definidos. Este processo tem por base o conceito de &amp;quot;unificação&amp;quot;, fundamental para entender a linguagem. Até mesmo a aritmética - o único lugar da linguagem onde se calcula o valor de uma expressão - funciona de uma forma inesperada. É interessante (e espantoso) aquilo que se consegue fazer pensando sempre em &amp;quot;é falso ou verdadeiro?&amp;quot;. No vocabulário deste paradigma estão palavras como clausula, termo, predicado, aridade, query... e recursividade! Uma grande parte da computação é conseguida de forma recursiva.&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados:&lt;br /&gt;
&lt;br /&gt;
Compilador&lt;br /&gt;
    http://www.swi-prolog.org/&lt;br /&gt;
Bibliografia&lt;br /&gt;
    Leon Sterling and Ehud Shapiro, The Art of Prolog (2nd Edition), MIT Press, 1994&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
Nestes dois paradigmas é essencial esquecer tudo (quase tudo) o que se sabe de programação e embarcar numa viagem por terras desconhecidas, culturas diferentes. Tal como nessa circunstância, não devemos tentar empregar (forçar) as técnicas e procedimentos que já conhecemos mas antes tentar perceber qual é a &amp;quot;filosofia&amp;quot;, qual é a &amp;quot;cultura&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Java&lt;br /&gt;
&lt;br /&gt;
Neste caso foi muito mais rápida a fase inicial, com muita coisa semelhante ao que se faz em C/C++, mas é tudo muito mais trabalhoso. É um grande contraste com os paradigmas anteriores (especialmente o funcional) o número de linhas de código que é necessário escrever para fazer mesmo a coisa mais simples. É importante dominar o conceito de apontador e referência para entender os problemas de violação do encapsulamento - um dos princípios fundamentais em POO - mas em Java não se faz nada parecido com a manipulação dos endereços de memória como em C ou C++. Se quisermos caracterizar numa frase esta linguagem (exagerando um bocadinho) podemos dizer que em Java tudo são objectos. Até os tipos numéricos têm umas &amp;quot;embalagens&amp;quot; para funcionar como tal. O vocabulário desta linguagem é já conhecido: classe, método, atributo, instância, interface, composição, herança, polimorfismo, overloading... switch e instanceof são coisas a evitar, faz-se muito foreach com as colecções e os tipos podem ser parametrizados.&lt;br /&gt;
&lt;br /&gt;
Recursos utilizados:&lt;br /&gt;
&lt;br /&gt;
IDE&lt;br /&gt;
    Netbeans (12.4)&lt;br /&gt;
Bibliografia&lt;br /&gt;
    F. Mário Martins, Java 8 - POO + Construções Funcionais, FCA&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	<entry>
		<id>https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:Efolio_global_2022_2023.pdf&amp;diff=8702</id>
		<title>Ficheiro:Efolio global 2022 2023.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.dcet.uab.pt/files/index.php?title=Ficheiro:Efolio_global_2022_2023.pdf&amp;diff=8702"/>
				<updated>2023-09-02T15:48:46Z</updated>
		
		<summary type="html">&lt;p&gt;2100622: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>2100622</name></author>	</entry>

	</feed>