Difference between revisions of "Programação com Objectos"

From Wiki**3

(Pautas)
 
(135 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
<!-- {{TOCright}} -->
 
<!-- {{TOCright}} -->
 
<!-- __NOEDITSECTION__ -->
 
<!-- __NOEDITSECTION__ -->
= Tópicos Teóricos e Práticos =
+
{{Suggestion|https://bit.ly/po-wiki}}
 
+
== Tópicos Teóricos e Práticos ==
== Teoria e Análise de Exemplos ==
 
  
 
* [[Tópicos sobre Programação com Objectos]] (teoria e prática)
 
* [[Tópicos sobre Programação com Objectos]] (teoria e prática)
* [[Unit Testing with JUnit]]
 
  
== Exercícios e Problemas ==
+
== Projecto ==
  
{| width="60%" valign="top"
+
* [[Programação com Objectos/Projecto de Programação com Objectos|Projecto de Programação com Objectos]] -- informação sobre todos os aspectos do projecto
! valign="top" align="left" style="font-weight: normal;" |
 
* [[Programação com Objectos - Teste de Dezembro de 2005|Teste de 2005/12]]
 
! valign="top" align="left" style="font-weight: normal;" |
 
* [[Teste de Dezembro de 2008|Teste de 2008/12]]
 
! valign="top" align="left" style="font-weight: normal;" |
 
* [[Programação com Objectos - Teste de 2009/01/24|Teste de 2009/01/24]]
 
! valign="top" align="left" style="font-weight: normal;" |
 
* [[Programação com Objectos - Teste de 2010/01/04|Teste de 2010/01/04]]
 
! valign="top" align="left" style="font-weight: normal;" |
 
* [[Programação com Objectos - Teste de 2010/01/21|Teste de 2010/01/21]]
 
|}
 
  
= Ambientes de Desenvolvimento e Linguagens de Programação =
+
== Aulas Práticas ==
  
== Desenvolvimento em Java ==
+
Plano das aulas: https://bit.ly/po23-plano
  
Aplicação exemplo (aplicação bancária em Java) para apoio à construção do projecto (these are the 2010/2011 editions):
+
* Semana 1.1: [[Programação com Objectos/Aula Prática 01|Aula Prática 01]] - Tipos de dados abstractos em C e em C++
* [[Media:po-uilib-201010151128.tar.bz2|po-uilib-201010151128.tar.bz2]] - Base interaction package, a.k.a. '''po-uilib'''
+
* Semana 1.2: [[Programação com Objectos/Aula Prática 02|Aula Prática 02]] - Processos de análise e modelação; criação de classes simples
* [[Media:po-bank-core-201010211032.tar.bz2|po-bank-core-201010211032.tar.bz2]] - Core functionality, a.k.a. '''bank-core'''
+
* Semana 2.1: [[Programação com Objectos/Aula Prática 03|Aula Prática 03]] - Criação de objectos, herança, polimorfismo, overloading e overriding (métodos)
* [[Media:po-bank-strings-201010211032.tar.bz2|po-bank-strings-201010211032.tar.bz2]] - String generation (labels, messages, user interface exceptions), a.k.a. '''bank-strings'''
+
* Semana 2.2: [[Programação com Objectos/Aula Prática 04|Aula Prática 04]] - Herança, polimorfismo, aspectos de programação OO
* [[Media:po-bank-textui-201010211032.tar.bz2|po-bank-textui-201010211032.tar.bz2]] - Text-based user interface, a.k.a., '''bank-textui'''
+
* Semana 3.1: [[Programação com Objectos/Aula Prática 05|Aula Prática 05]] - Polimorfismo: interfaces e classes abstractas
 +
* Semana 3.2: [[Programação com Objectos/Aula Prática 06|Aula Prática 06]] - Java: classes internas; comparadores, iteradores
 +
* Semana 4.1: [[Programação com Objectos/Aula Prática 07|Aula Prática 07]] - Java: excepções; colecções
 +
* Semana 4.2: [[Programação com Objectos/Aula Prática 08|Aula Prática 08]] - Java: entradas e saídas; serialização de objectos
 +
* Semana 5.1: [[Programação com Objectos/Aula Prática 09|Aula Prática 09]] - Composite (padrão de desenho)
 +
* Semana 5.2: [[Programação com Objectos/Aula Prática 10|Aula Prática 10]] - Strategy (padrão de desenho) & State (padrão de desenho)
 +
* Semana 6.1: [[Programação com Objectos/Aula Prática 11|Aula Prática 11]] - Visitor (padrão de desenho)
 +
* Semana 6.2: [[Programação com Objectos/Aula Prática 12|Aula Prática 12]] - Decorator (padrão de desenho) & Adapter (padrão de desenho)
 +
* Semana 7.1: [[Programação com Objectos/Aula Prática 13|Aula Prática 13]] - Diagramas de sequência UML
  
Each package includes a makefile to compile and build the corresponding JAR archive. Note that the makefiles assume that all JAR dependencies reside in /usr/share/java (linux installation -- other environments may, and indeed should work, but are not covered in this text).
+
== Pautas ==
 +
As páginas das pautas contêm, além dos resultados de avaliação, também os critérios de avaliação e aprovação.
 +
* {{PautaAberta}} [[Programação com Objectos/Pautas 2023-2024|Pautas 2023-2024]]
 +
* {{PautaFechada}} Pautas de anos anteriores: [[Programação com Objectos/Pautas 2022-2023|2022-2023]] [[Programação com Objectos/Pautas 2021-2022|2021-2022]] [[Programação com Objectos/Pautas 2020-2021|2020-2021]] [[Programação com Objectos/Pautas 2019-2020|2019-2020]] [[Programação com Objectos/Pautas 2018-2019|2018-2019]] [[Programação com Objectos/Pautas 2017-2018|2017-2018]] [[Programação com Objectos/Pautas 2016-2017|2016-2017]] [[Programação com Objectos/Pautas 2015-2016|2015-2016]] [[Programação com Objectos/Pautas 2014-2015|2014-2015]]
  
You may want to read the the quick and dirty guide (use at your risk!):
+
<!--== Testes de Avaliação (por data)  ==
* [[Quick-and-Dirty Guide to Transforming the Bank Application into your Very Own Project]]
 
  
Information about Java and the Java API can be found in the following sites:
+
[[Programação com Objectos/Teste de 2013/11/15|20131115]] [[Programação com Objectos/Teste 1 de 2013/02/04|20130204(1)]] [[Programação com Objectos/Teste 2 de 2013/02/04|20130204(2)]] [[Programação com Objectos/Teste de 2013/01/17|20130117]] [[Programação com Objectos/Teste de 2012/11/19|20121119]]  
* [http://java.sun.com/ Java]
 
** [http://java.sun.com/j2se/1.5.0/docs/api/ Java Platform, Standard Edition 5 API Specification]
 
** [http://java.sun.com/javase/6/docs/api/ Java Platform, Standard Edition 6 API Specification]
 
 
 
== Desenvolvimento em C++ ==
 
 
 
* [[Tópicos Rápidos sobre C++]]
 
 
 
Information about C++ and the C++ STL can be found in the following sites:
 
 
 
* [http://cplusplus.com/ C++]
 
** [http://cplusplus.com/reference/ Manual de Referência para C++ (biblioteca)] [http://cplusplus.com/reference/stl/ STL (contentores)] [http://cplusplus.com/reference/algorithm/ STL (algoritmos)]
 
** [http://cppreference.com/ Manual de Referência para C/C++]
 
 
 
== Desenvolvimento em PHP ==
 
 
 
Information about PHP and the PHP manual can be found in the following sites:
 
 
 
* [http://php.net/ PHP]
 
** [http://www.php.net/manual/en/ Manual de PHP] [http://www.php.net/manual/en/funcref.php Manual de Referência (funções)]
 
 
 
== Máquinas Virtuais para Desenvolvimento ==
 
 
 
Está disponível uma máquina virtual, koops (versão 0.1.1):
 
* https://www.l2f.inesc-id.pt/~david/ist/docencia/po/vm/
 
 
 
Existem dois formatos:
 
* Live CD/DVD (iso): [https://www.l2f.inesc-id.pt/~david/ist/docencia/po/vm/koops.x86_64-0.1.1.iso koops.x86_64-0.1.1.iso] (pode ser gravado para CD/DVD)
 
* VirtualBox/VMWare virtual machine: [https://www.l2f.inesc-id.pt/~david/ist/docencia/po/vm/koops.x86_64-0.1.1.vmx.tar.gz koops.x86_64-0.1.1.vmx.tar.gz]
 
 
 
Informação actualizada (e mais formatos) sobre esta máquina pode ser obtida da [http://susegallery.com/ SUSE Gallery]
 
* http://susegallery.com/a/tuLZgC/koops (registo e login possivelmente necessários)
 
  
 +
[[Programação com Objectos/Teste de 2012/01/30|20120130]] [[Programação com Objectos/Teste de 2012/01/07|20120107]] [[Programação com Objectos/Teste de 2011/01/10|20110110]] [[Programação com Objectos/Teste de 2010/01/21|20100121]] [[Programação com Objectos/Teste de 2010/01/04|20100104]]  [[Programação com Objectos/Teste de 2009/01/24|20090124]] [[Programação com Objectos/Teste de Dezembro de 2008|200812]] [[Programação com Objectos/Teste de Dezembro de 2005|200512]]
 +
-->
 +
[[category:Ensino]]
 
[[category:PO]]
 
[[category:PO]]
[[category:Ensino]]
 
 
[[en:Object-Oriented Programming]]
 
[[en:Object-Oriented Programming]]

Latest revision as of 11:15, 28 August 2023

Programação com Objectos
Introduction
Creation and Destruction
Inheritance & Composition
Abstraction & Polymorphism
Code Organization
Java Topics
Inner Classes
Enumerations
Data Structures
Exceptions
Input/Output
RTTI
Other Topics
JUnit Tests
UML Topics
Design Patterns
"Simple" Factory
Composite & Visitor
Command
Strategy & State
Template Method
Observer
Abstract Factory
Decorator & Adapter
Façade (aka Facade)

Tópicos Teóricos e Práticos

Projecto

Aulas Práticas

Plano das aulas: https://bit.ly/po23-plano

Pautas

As páginas das pautas contêm, além dos resultados de avaliação, também os critérios de avaliação e aprovação.