(→Projecto: Enunciado 2018-2019 (época normal)) |
(→Projecto Exemplo: Rede Social) |
||
(49 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{PRJPOAvisosEN20242025}} |
− | + | {{PRJPOMandatory20242025}} | |
− | |||
{{TOCright}} | {{TOCright}} | ||
Line 7: | Line 6: | ||
* [[Programação com Objectos/Projecto de Programação com Objectos/Avaliação do Projecto (Época Normal)|Avaliação do Projecto (Época Normal)]] | * [[Programação com Objectos/Projecto de Programação com Objectos/Avaliação do Projecto (Época Normal)|Avaliação do Projecto (Época Normal)]] | ||
* [[Programação com Objectos/Projecto de Programação com Objectos/Calendário do Teste Prático (Época Normal)|Calendário do Teste Prático (Época Normal)]] | * [[Programação com Objectos/Projecto de Programação com Objectos/Calendário do Teste Prático (Época Normal)|Calendário do Teste Prático (Época Normal)]] | ||
− | + | <!-- | |
+ | * [[Programação com Objectos/Projecto de Programação com Objectos/Teste Prático (Época Especial)|Teste Prático (Época Especial)]] | ||
+ | --> | ||
As pautas são acompanhadas pelos critérios de avaliação. <!--Os critérios e condições de Época Especial são parecidos com os da Época Normal. Em particular, a componente de projecto continua obrigatória.--> | As pautas são acompanhadas pelos critérios de avaliação. <!--Os critérios e condições de Época Especial são parecidos com os da Época Normal. Em particular, a componente de projecto continua obrigatória.--> | ||
<!-- | <!-- | ||
Line 15: | Line 16: | ||
--> | --> | ||
− | == Projecto: Enunciado | + | == Projecto: Enunciado 2024-2025 (época normal) == |
− | * [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de | + | * [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2024-2025|Enunciado do Projecto 2024-2025]] |
− | * [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de | + | * Enunciados de anos anteriores: [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2023-2024|2023-2024]] [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2022-2023|2022-2023]] [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2021-2022|2021-2022]] [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2020-2021|2020-2021]] [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2019-2020|2019-2020]] [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2018-2019|2018-2019]] |
== Material de Apoio e Testes == | == Material de Apoio e Testes == | ||
− | * [[Programação com Objectos/Projecto de Programação com Objectos/Repositório | + | * [[Programação com Objectos/Projecto de Programação com Objectos/Repositório GIT|Repositório GIT]] - informações de localização e acesso |
* [[Programação com Objectos/Projecto de Programação com Objectos/Material de Apoio ao Desenvolvimento|Material de Apoio ao Desenvolvimento]] | * [[Programação com Objectos/Projecto de Programação com Objectos/Material de Apoio ao Desenvolvimento|Material de Apoio ao Desenvolvimento]] | ||
− | * [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2018-2019|Testes Automáticos 2018-2019]] | + | * Testes automáticos: https://gitlab.rnl.tecnico.ulisboa.pt/leic-a-po24/eval/po24 |
+ | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2021-2022|Testes Automáticos 2021-2022]] --> | ||
+ | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2020-2021|Testes Automáticos 2020-2021]] --> | ||
+ | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2019-2020|Testes Automáticos 2019-2020]] --> | ||
+ | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2018-2019|Testes Automáticos 2018-2019]] --> | ||
* [[Programação com Objectos/Projecto de Programação com Objectos/Máquina Virtual|Máquina Virtual]] | * [[Programação com Objectos/Projecto de Programação com Objectos/Máquina Virtual|Máquina Virtual]] | ||
− | == Projecto: Aplicação Bancária | + | == Projecto Exemplo: Aplicação Bancária == |
− | Para auxiliar o desenvolvimento do projecto, é fornecida uma [[Comando (padrão de desenho)/Banco, Conta, Titular (aplicação bancária)|aplicação bancária]] (banco, contas, titulares, etc.), que tem a mesma estrutura. Esta estrutura tem duas partes principais: "core" (o núcleo lógico da aplicação) e " | + | Para auxiliar o desenvolvimento do projecto, é fornecida uma [[Comando (padrão de desenho)/Banco, Conta, Titular (aplicação bancária)|aplicação bancária]] (banco, contas, titulares, etc.), que tem a mesma estrutura. Esta estrutura tem duas partes principais: "core" (o núcleo lógico da aplicação) e "app" (a interface textual, baseada no padrão de desenho [[Comando (padrão_de_desenho)|Command]]). |
− | + | == Projecto Exemplo: Rede Social == | |
− | |||
− | |||
− | + | Este projecto descreve uma rede social com funcionalidade semelhante à das redes sociais actuais: relações entre agentes, publicação de vários tipos de media, envio de mensagens, etc. | |
+ | |||
+ | Note-se que o enunciado corresponde ao ano lectivo de 2011/2012 e refere aspectos de implementação não disponíveis em anos seguintes. A implementação foi actualizada em 2022/2023, para ser compatível com o material de apoio dessa altura, mas não teve outras actualizações. | ||
+ | * Enunciado: [[media:social-network-201110241420.pdf]] | ||
+ | * Implementação (core): [[media:sonet-core-202111021419.tar.bz2]] | ||
+ | * Implementação (app: browser): [[media:sonet-app-browser-202111021419.tar.bz2]] | ||
+ | * Implementação (app: manager): [[media:sonet-app-manager-202111021419.tar.bz2]] | ||
+ | '''O uso deste código deve ser feito de forma crítica, já que algumas das decisões nele tomadas podem ser alvo de descontos na avaliação do projecto.''' | ||
− | |||
− | |||
− | |||
== Linguagens de Programação == | == Linguagens de Programação == | ||
− | As seguintes linguagens são utilizadas nestas páginas | + | As seguintes linguagens são utilizadas nestas páginas: |
− | * [http://www.java.com/ Java] | + | * [http://www.java.com/ Java] -- [https://docs.oracle.com/en/java/javase/ Java Platform, Standard Edition Documentation] (os testes automáticos usam OpenJDK 22) |
− | * [http://cplusplus.com/ C++] (C++ | + | * [http://cplusplus.com/ C++] (C++20 ou superior) -- [http://cplusplus.com/reference/ Manual de Referência para C++ (biblioteca)]; STL: [http://cplusplus.com/reference/stl/ contentores], [http://cplusplus.com/reference/algorithm/ algoritmos] <!--*[http://cppreference.com/ Manual de Referência para C/C++]--> |
<!-- * [http://php.net/ PHP]: [http://www.php.net/manual/en/ manual] and [http://www.php.net/manual/en/funcref.php function reference] --> | <!-- * [http://php.net/ PHP]: [http://www.php.net/manual/en/ manual] and [http://www.php.net/manual/en/funcref.php function reference] --> | ||
− | [[category:Ensino]] | + | [[category:Ensino]] |
[[category:PO]] | [[category:PO]] | ||
[[category:Projecto de PO]] | [[category:Projecto de PO]] | ||
[[en:Object-Oriented Programming]] | [[en:Object-Oriented Programming]] |
AVISOS - Avaliação em Época Normal |
---|
Esclarecimento de dúvidas:
|
Requisitos para desenvolvimento, material de apoio e actualizações do enunciado (ver informação completa em Projecto de Programação com Objectos):
|
Processo de avaliação (ver informação completa em Avaliação do Projecto):
|
Material de Uso Obrigatório |
---|
As bibliotecas po-uilib e o conteúdo inicial do repositório GIT são de uso obrigatório: |
|
A máquina virtual, fornecida para desenvolvimento do projecto, já contém todo o material de apoio. |
Uso Obrigatório: Repositório GIT |
Apenas se consideram para avaliação os projectos existentes no repositório GIT oficial.
Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho. |
As pautas são acompanhadas pelos critérios de avaliação.
Para auxiliar o desenvolvimento do projecto, é fornecida uma aplicação bancária (banco, contas, titulares, etc.), que tem a mesma estrutura. Esta estrutura tem duas partes principais: "core" (o núcleo lógico da aplicação) e "app" (a interface textual, baseada no padrão de desenho Command).
Este projecto descreve uma rede social com funcionalidade semelhante à das redes sociais actuais: relações entre agentes, publicação de vários tipos de media, envio de mensagens, etc.
Note-se que o enunciado corresponde ao ano lectivo de 2011/2012 e refere aspectos de implementação não disponíveis em anos seguintes. A implementação foi actualizada em 2022/2023, para ser compatível com o material de apoio dessa altura, mas não teve outras actualizações.
O uso deste código deve ser feito de forma crítica, já que algumas das decisões nele tomadas podem ser alvo de descontos na avaliação do projecto.
As seguintes linguagens são utilizadas nestas páginas: