Este repositório contém os materiais das disciplinas ministradas pelo Professor Bento Rafael Siqueira no semestre 2025/2 na Universidade Federal de Lavras (UFLA).
Código: GCT052
Carga Horária: 68 horas (34 Teórica, 34 Prática) - 17 semanas
Aulas Semanais: 4 aulas
Pré-requisitos: Programação Básica
- Introdução com hands on
- Declarações e classes
- Unity - Lab 1
- Objetos
- Tipos e Referências
- Unity - Lab 2
- Encapsulamento
- Herança
- Unity - Lab 3
- Interfaces
- Enums e Coleções
- Unity - Lab 4
- LINQ / Lambdas
- Arquivos
- Unity - Lab 5
- Ciclo de vida do objeto
- Tratamento de Exceções
- Unity - Lab 6
- Desenvolvimento Web
- Projeto - ONG de Animais
- Semanas 1-2: Introdução com hands on e Declarações e classes
- Semanas 3-4: Unity - Lab 1 e Objetos
- Semanas 5-6: Tipos e Referências e Unity - Lab 2
- Semanas 7-8: Encapsulamento e Herança
- Semanas 9-10: Unity - Lab 3 e Interfaces
- Semanas 11-12: Enums e Coleções e Unity - Lab 4
- Semanas 13-14: LINQ/Lambdas e Arquivos
- Semanas 15-16: Unity - Lab 5, Ciclo de vida do objeto e Tratamento de Exceções
- Semana 17: Unity - Lab 6, Desenvolvimento Web e Projeto - ONG de Animais
Código: GCT088
Carga Horária: 68 horas (34 Teórica, 34 Prática) - 17 semanas
Aulas Semanais: 4 aulas
Pré-requisitos: Programação Orientada a Objetos
- Apêndice - Introdução a Objetos
- Projeto de Aplicações
- Obtenção de Requisitos
- Mudança de Requisitos
- Análise
- Flexibilidade de software - Parte 1
- Flexibilidade de software - Parte 2
- Grandes problemas
- Arquitetura
- Princípios de Projeto
- Repetição e Testes
- Ciclo de vida em A&POO
- Modelos de Contexto
- Modelos de interação
- Modelos estruturais
- Modelos comportamentais
- Engenharia dirigida por modelos
- Padrões de Projetos
- Desenvolvimento Web
- Projeto - ONG de Animais
- Semanas 1-2: Introdução a Objetos e Projeto de Aplicações
- Semanas 3-4: Obtenção e Mudança de Requisitos
- Semanas 5-6: Análise e Flexibilidade de Software
- Semanas 7-8: Grandes Problemas e Arquitetura
- Semanas 9-10: Princípios de Projeto e Testes
- Semanas 11-13: Modelos UML e Engenharia Dirigida por Modelos
- Semanas 14-15: Padrões de Projeto
- Semanas 16-17: Desenvolvimento Web e Projeto Final
Nome: Bento Rafael Siqueira
Email: [email protected]
Local: Sala PAV1-109
Horário de Atendimento: Quinta-feira, 14:00 às 15:00
disciplinas-ufla/
├── README.md
├── Image/
│   └── ufla-logo.PNG
├── ProgramacaoOrientadaObjetos/
│   └── Aula1-1/
│       ├── GCT052-Aula-1-1-Apresentacao-disciplina.tex
│       └── GCT052-Aula-1-1-Apresentacao-disciplina.pdf
└── ProjetoDeSoftware/
    └── Aula1-1/
        ├── GCT088-Aula-1-1-Apresentacao-disciplina.tex
        └── GCT088-Aula-1-1-Apresentacao-disciplina.pdf
O código fonte das disciplinas será disponibilizado neste repositório conforme o semestre avança:
- Exemplos de código das aulas
- Projetos práticos desenvolvidos em sala
- Exercícios resolvidos para consulta
- Templates para trabalhos e projetos
- Visualizar PDFs: Abra os arquivos .pdfpara visualizar as apresentações
- Editar Slides: Use os arquivos .texpara modificar as apresentações
- Compilar: Use LaTeX/Beamer para gerar novos PDFs
- Código Fonte: Acesse os exemplos e projetos práticos
pdflatex nome-do-arquivo.texTodas as atividades, trabalhos e projetos serão entregues através de commits no GitHub:
- Fork do repositório: Cada aluno fará um fork do repositório principal
- Branch de trabalho: Criar branch específica para cada atividade
- Desenvolvimento: Implementar a solução no branch criado
- Commit: Fazer commits frequentes com mensagens descritivas
- Pull Request: Enviar PR para o repositório principal
- Revisão: Professor revisa e aprova o PR
feat: implementa funcionalidade X
fix: corrige bug na função Y
docs: atualiza documentação
test: adiciona testes para Z
disciplinas-ufla/
├── Atividades/
│   ├── GCT052/
│   │   ├── Atividade1/
│   │   ├── Atividade2/
│   │   └── ProjetoFinal/
│   └── GCT088/
│       ├── Atividade1/
│       ├── Atividade2/
│       └── ProjetoFinal/
- Frequência: Commits regulares e frequentes
- Qualidade: Mensagens descritivas e claras
- Organização: Estrutura de pastas adequada
- Funcionalidade: Código funcionando corretamente
- Documentação: README e comentários no código
Este repositório é mantido pelo Professor Bento Rafael Siqueira. Para sugestões ou correções, entre em contato através do email: [email protected]
Alunos: Para contribuir com atividades e projetos, siga o processo de entrega via GitHub descrito na seção "Entrega de Atividades".
- Dominar os conceitos de encapsulamento, herança e polimorfismo
- Implementar soluções usando classes abstratas e interfaces
- Aplicar tratamento de exceções em programas orientados a objetos
- Desenvolver projetos seguindo padrões de projeto e boas práticas
- Dominar o uso de ferramentas de desenvolvimento de software
- Compreender os fundamentos de engenharia de software
- Aplicar técnicas de análise e projeto orientado a objetos
- Desenvolver habilidades em modelagem UML
- Implementar padrões de projeto
- Trabalhar com metodologias ágeis de desenvolvimento
Aplicável a ambas as disciplinas:
- Prova 1 (P1): 25%
- Prova 2 (P2): 25%
- Aula de Atividade (AA): 20%
- Projeto em Grupo (PG): 30% (3 a 4 pessoas)
Nota Final = P1 + P2 + AA + PG
- Linguagem: C# / .NET
- IDE: Visual Studio / Visual Studio Code
- Game Engine: Unity
- Frameworks: ASP.NET Core (Desenvolvimento Web)
- Modelagem: UML (Unified Modeling Language)
- Ferramentas: Draw.io, Lucidchart, Visual Paradigm
- Metodologias: Scrum, Kanban
- Desenvolvimento: ASP.NET Core, Entity Framework
- HEAD FIRST. Use a cabeça! C#. Alta Books.
- Perkovic, L. Introdução à computação usando Python: um foco no desenvolvimento de aplicações. 1. ed. Rio de Janeiro: LTC, 2016.
- KÖLLING, M. Programação orientada a objetos com Java: uma introdução prática usando o Bluej. 1. ed. São Paulo: Pearson, 2004.
- GAMMA, Erich et al. Padrões de projeto: soluções reutilizáveis de software orientado a objetos. Porto Alegre: Bookman, 2011.
- PRESSMAN, Roger S. Engenharia de Software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016.
- SOMMERVILLE, Ian. Engenharia de Software. 10. ed. São Paulo: Pearson, 2019.
- FOWLER, Martin. UML Essencial: um breve guia para o padrão. 3. ed. Porto Alegre: Bookman, 2005.
- GAMMA, Erich et al. Padrões de projeto: soluções reutilizáveis de software orientado a objetos. Porto Alegre: Bookman, 2011.
Todas as apresentações seguem um padrão visual consistente:
- Tema: Berkeley (Beamer)
- Cores: Spruce
- Logo: UFLA centralizado no cabeçalho
- Títulos: Centralizados
- Aspecto: 16:9 (widescreen)
Este projeto é destinado ao uso acadêmico na Universidade Federal de Lavras (UFLA).
Universidade Federal de Lavras (UFLA)
Departamento de Computação (DCO)
Semestre 2025/2