Programação Orientada a Objectos
Informações Gerais
 

Objectivos

Aprendizagem dos conceitos fundamentais da Programação Orientada a Objectos e introdução às correspondentes metodologias de desenvolvimento de programas.
 

Programa

Introdução
 
Limitações das linguagens de programação imperativas
Paradigmas de programação
Hierarquias de classificação em Ciências Naturais
 
Objectos
 
Noção de Objecto e Identidade
Protocolo de utilização de um objecto
Mensagens e Métodos
Noção de Estado e Comportamento
 
Protocolos/Interfaces
 
Separação entre protocolo e implementação
Implementação de protocolos
 
Classes versus protótipos
 
Hierarquias de abstrações: Generalização e Especialização
Extensão de protótipos
 
Hierarquias de objectos
 
Hierarquias de objectos
Mecanismos de herança
Reutilização de código
Sistemas Reflexivos
 
Relações entre objectos
 
Extensão, Generalização e Especialização
Associação, Agregação e Composição
Coesão e Acoplamento
 
Análise, Projecto e Implementação Orientada a Objectos
 
Linguagens e ambientes de desenvolvimento
Análise, Projecto e Implementação
 
 

Avaliação

Aulas teóricas, teórico-práticas e práticas
 
Inscrição obrigatória nas aulas práticas
Frequências
 
Provas escritas com a duração de 90 minutos
Peso de 10 valores na nota final (5 valores cada)
Mínimo de 3 valores para concessão de frequência e admissão a exame
Datas: 10 de Novembro (14:00, Salas 6.04, 6.05 e 6.26) e 12 de Janeiro (14:00, Salas 6.16, 6.17, 6.08 e 6.26)
Exame
 
Prova escrita com a duração de 2 horas
Peso de 10 valores na nota final (soma com as notas das frequências) ou 20 valores (opção do aluno no acto de entrega da prova)
Primeira chamada: 30 de Janeiro (14:30, Salas 6.02, 6.03 e 6.18)
Segunda chamada: 6 de Fevereiro (14:30, Salas 6.02, 6.03 e 6.18)
Especial: 4 de Setembro (09:30, Sala 6.05)
Nota final
 
Somatório das classificações (expressas com duas casas decimais) das três provas escritas
Trabalhadores-estudantes
 
Contactar o regente da disciplina
 

Bibliografia

Filosofia
 
Handbook of Programming Languages, Volume I: Object-Oriented Programming Languages
Peter H. Salus (editor)
Macmillan Technical Publishing, USA
ISBN 1-57870-008-6 (I-3.3-255)
 
Object-Oriented Analysis and Design with Applications
Grady Boock
Addison Wesley, 1999
ISBN 0-8053-5340-2 (I-6.1-7/8)
 
Object-Oriented Languages, Systems, and Applications
G. Blair, J. Gallagher, D. Hutchison, e D. Shepard (editores)
Pitman Publishing
ISBN 0-273-03132-5 (I-6.1-38)
 
Linguagens
 
Smalltalk-80 - The Language
A. Goldberg, D. Robson
Addison-Wesley
ISBN 0-201-13688-0 (I-3.3-254)
 
Java and Object Orientation - An Introduction
J. Hunt
Springer
ISBN 3-540-76201-9 (I-3.3-15)
 
Teach Yourself Java in 21 Days
L. Lemay, C. L. Perkins
Sams Net
ISBN 1-57521-030-4 (I-3.3-274)
 
C++ Programming Language
B. Stroustrup
Addison-Wesley
ISBN 0-201-88954-4 (I-3.3-261/6)
 
C++ Primer
S. Lippman
Addison-Wesley
ISBN 0-201-54848-8 (EM-3.1-10/1/2)
 
 

Internet

Objectos
 
Links on Objects & Components
 

Software

Smalltalk
 
Squeak
Java
 
BlueJ
Logtalk
 
Logtalk
Python
 
Python
C#
 
Mono
ArgoUML
 
ArgoUML
 

Horários

Aulas teóricas (2 turmas, limitadas a 60 alunos cada; inscrições obrigatórias na secretaria do DI)
 
Sexta-feira: 09h-11h, Sala 6.26
Sexta-feira: 14h-16h, Sala 6.26
Aulas teórico-práticas
 
Segunda-feira: 18h-19h, Sala 6.16
Aulas práticas (4 turmas, limitadas a 30 alunos cada; inscrições obrigatórias com a Professora Sara Madeira)
 
Segunda-feira: 09h-11h, Sala 6.19
Segunda-feira: 11h-13h, Sala 6.19
Segunda-feira: 16h-18h, Sala 6.19
Quarta-feira: 16h-18h, Sala 6.19
Atendimento dos alunos
 
Paulo Moura: Quarta-feira, 14-16h, Gabinete 4.3
Sara Madeira: Segunda-feira e Quarta-feira: 18-19h, Gabinete 4.2
 

Aulas

Fichas práticas
 
Ficha prática 1
Ficha prática 2
Ficha prática 3
Ficha prática 4 (English version)
Outros documentos
 
PDF da Palestra sobre Reutilização