Skip to content

californi/disciplinas-ufla

Repository files navigation

Disciplinas UFLA - Semestre 2025/2

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).

📚 Disciplinas

1. Programação Orientada a Objetos (GCT052)

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

Conteúdo Programático:

  • 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

Cronograma Geral:

  • 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

2. Projeto de Software (GCT088)

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

Conteúdo Programático:

  • 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

Cronograma Geral:

  • 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

👨‍🏫 Professor

Nome: Bento Rafael Siqueira
Email: [email protected]
Local: Sala PAV1-109
Horário de Atendimento: Quinta-feira, 14:00 às 15:00


📁 Estrutura do Repositório

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

📂 Código Fonte

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

📝 Como Usar

  1. Visualizar PDFs: Abra os arquivos .pdf para visualizar as apresentações
  2. Editar Slides: Use os arquivos .tex para modificar as apresentações
  3. Compilar: Use LaTeX/Beamer para gerar novos PDFs
  4. Código Fonte: Acesse os exemplos e projetos práticos

Compilação LaTeX

pdflatex nome-do-arquivo.tex

🎓 Entrega de Atividades

Sistema de Entrega via GitHub

Todas as atividades, trabalhos e projetos serão entregues através de commits no GitHub:

Processo de Entrega:

  1. Fork do repositório: Cada aluno fará um fork do repositório principal
  2. Branch de trabalho: Criar branch específica para cada atividade
  3. Desenvolvimento: Implementar a solução no branch criado
  4. Commit: Fazer commits frequentes com mensagens descritivas
  5. Pull Request: Enviar PR para o repositório principal
  6. Revisão: Professor revisa e aprova o PR

Padrão de Commits:

feat: implementa funcionalidade X
fix: corrige bug na função Y
docs: atualiza documentação
test: adiciona testes para Z

Estrutura de Pastas para Atividades:

disciplinas-ufla/
├── Atividades/
│   ├── GCT052/
│   │   ├── Atividade1/
│   │   ├── Atividade2/
│   │   └── ProjetoFinal/
│   └── GCT088/
│       ├── Atividade1/
│       ├── Atividade2/
│       └── ProjetoFinal/

Critérios de Avaliação dos Commits:

  • 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

🤝 Contribuições

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".


🎯 Objetivos das Disciplinas

Programação Orientada a Objetos (GCT052)

  • 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

Projeto de Software (GCT088)

  • 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

📊 Critérios de Avaliação

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


🛠️ Tecnologias e Ferramentas

Programação Orientada a Objetos

  • Linguagem: C# / .NET
  • IDE: Visual Studio / Visual Studio Code
  • Game Engine: Unity
  • Frameworks: ASP.NET Core (Desenvolvimento Web)

Projeto de Software

  • Modelagem: UML (Unified Modeling Language)
  • Ferramentas: Draw.io, Lucidchart, Visual Paradigm
  • Metodologias: Scrum, Kanban
  • Desenvolvimento: ASP.NET Core, Entity Framework

📚 Bibliografia

Programação Orientada a Objetos

  • 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.

Projeto de Software

  • 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.

🎨 Design das Apresentações

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)

📄 Licença

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages