MAC 441 -- História

Un resumo do conteúdo das aulas, e soluções aos exercicios sugeridos de programação.

  1. [12/Ago] histôria das linguagems de objetos; motivação: encapsulamento; processo de Eng.SW com objetos; visião para o curso;
  2. [17/Ago] admin: calendârio, avaliação, datas; conceitos: encapsulamento, objeto, métodos, atributos; vocabulârio: classe, instância, identidade; C++: intro, classes; primeiro exercicio do C++ (executar assim), com as 4 classes Pessoa, Trabalhador, Estudante e Monitor escritas separadamente;
  3. [19/Ago] encapsulamento: método/atributo, visibilidade; classe: conjunto, depósito de métodos/variáveis, métodos/vars de classe, fábricas de objetos; construtores em C++; sutileças de C++: os 4 "static", ámbito do "this"; wrap: O-BP; modelagem (intuitiva): intro, Pessoa+, cardinalidade, Curso+; segundo exercicio do C++ (executar assim), com construtores;
  4. [24/Ago] C++: construtores com argumentos; modelagem (UML): entidade, agregação (parte-de, controle de existencia), associação, herânça; refinamento (intuitivo) UML-C++: classe, referência, array, subclasse (privada); {agregação vs. herânça;} terceiro exercicio do C++ (executar assim);
  5. [26/Ago] Quiz #1 (com respostas [PDF,11KB] [PS,28KB]) e côdigo C++ da pergunta #2); C++ as super-C: tipos fortes, parâmetros in/out/in-out (combo "const" e referências), operadores;
  6. [31/Ago] problema de "classe dinámica"; alternativas: classes dinámicas, papéis (sem herânça); "lollypops" (UML); {ex: Pessoa como Estudante, etc.;} problema de atributos em asociações: normalização em BD, reificação em classe ad-hoc ("linked class");
  7. [2/Sep] Smalltalk (intro): classe Empressa; herânca (subclasse); primeiro exemplo de Smalltalk (preparado em VisualWave (ver instruções do VWave aquí));
  8. [14/Sep] Smalltalk: repaso post-ferias; geração de instâncias: "new"; {lead} classes como objetos, meta-classes; imagem, interpretação, só objetos no fundo; referências (escopo, coleta de lixo); o catâlogo de classes; segundo exemplo de Smalltalk, com criação de instâncias (Pessoa);
  9. [16/Sep] {EP #1 [PDF,24KB] [PS-ZIPed,20KB]} {Quiz #2 (com respostas) [PDF,19KB] [PS,53KB]} instância versus objeto (predicado/identidade, objetos sem classes, instância como papel); dualidade realidade/representação (Smalltalk: classe/objeto, associação/atributo); Exercicio #1 (com Pessoa+);
  10. [21/Sep] refinamento: mecanismo/política; escolha de mecanismo (modelo, mecanismos, linguagem); refinamento UML-Smalltalk: herânça-classe; atributo-var.inst.; associação-referência (invariantes-método); agregação-coleção (invariantes-método);
  11. [23/Sep] Smalltalk: ferramentas (VWave): browsers, transcript, etc; programação: estruturas de controle, coleções, blocos; pragmática: escolha de coleção;
  12. [28/Sep] {entrega EP#1;} coleções (review); enumeradores; {ex} escolha de coleções para modelo no EP #1; pontos de vista no modelo: estático, dinámico, estados, propriedades;
  13. [30/Sep] {EP #2 [PDF,24KB] [PS ZIP-ed,43KB]} {Quiz #3 [PDF,15KB] [PS,49KB]} tipo como conjunto; interface == métodos/atributos públicos; visibilidade (review): grau (pública, subclasse, privada) e ámbito (objeto, classe, módulo, sistema); tipo como extensão de interface; subtipo: semântica sub-conjunto/super-interface, extensão+intenção; semântica do "é": subtipo; refinamento de tipo: classe; diferência classe/tipo e subclasse/subtipo;
  14. [5/Out] {cont. e review;} substitutabilidade; {mais exemplos (refinamentos alternativos);} refinamentos do "é": herânça (reuso de côdigo) vs. inclusão/delegação; tipos: explícitos vs. implícitos (declaração), fortes vs. fracos (checking), estáticos vs. dinámicos (validação); rant: ambigüedade do termo "herânça";
  15. [7/Out] invariantes: semânticas estrita/relaixada, transientes; identidade: sistémica vs. atributo ad-hoc; refinamento de papéis: subtipos, subclasses, inclusão+delegação;
  16. [12/Out] --FERIADO--
  17. [14/Out] Quiz #4+5 (Provona) [PDF,10K] [PS,64K];
  18. [19/Out] (Hernán na OOPSLA) Alan: "patterns"
  19. [21/Out] (Hernán na OOPSLA) Alan: "patterns"
  20. [26/Out] aula perdida
  21. [28/Out] modelagem dinâmica; colaboração/seqüência (UML);
  22. [09/Nov] {ex modelagem: invariantes/transientes -> tempo} {ex: matrícula + semestre} {EP#3 [PDF,25K] [PS ZIPed,53K] com classes exemplo e instruções de execução}
  23. [11/Nov] Quiz #6 [PDF,9K] [PS,32K];

Last modified: Tue Sep 22 11:13:47 EST 1998 by Hernán Astudillo

URL: http://www.ime.usp.br/~ha/mac441/historia.html