MAC0332 - Engenharia de Software 2024-2
Aspeto
Disciplina do Bacharelado em Ciência da Computação do Instituto de Matemática e Estatística da Universidade de São Paulo, ministrada pelo Prof. Pedro Valle em 2024. Usaremos este espaço para os alunos postagem materiais para serem compartilhado com a turma de 2024.2 e a comunidade.
Objetivos da disciplina
[editar | editar código-fonte]Tornar os alunos capazes de projetar, implementar e testar sistemas de software avançados, usando conceitos e técnicas de engenharia de software e banco de dados de maneira integrada e evolutiva. Os sistemas serão desenvolvidos em times, de maneira colaborativa, e de modo a priorizar clareza de código e extensibilidade.
Programa resumido
[editar | editar código-fonte]- Princípios e técnicas de desenvolvimento de sistemas de software
- Testes de software
- Persistência de dados
- Modelo entidade relacionamento e modelo relacional
Links
[editar | editar código-fonte]- Página_principal - Recomendações de uso e criação de conta
- Guia_Wikiversidade - Como criar uma página?
Tutoriais
[editar | editar código-fonte]- WebAssembly - Como Desenvolver Sua Primeira Aplicação
- Linters - Ferramentas Para Padronizar Seu Código
- Segurança de software - noções básicas de segurança e vulnerabilidades mais comuns
- Conceitos básicos: branching, merging, rebasing e pull requests
- Ferramentas para automação de pipelines de desenvolvimento e entregas: Jenkins, GitHub Actions, GitLab CI, CircleCI ou Travis CI
- Linguagens de programação populares para back-end como Python, Node.js, Java, Ruby ou Go.
- Práticas de DevOps para colaboração entre desenvolvimento e operações
- Autenticação e Autorização (JWT e OAuth)
- Comparação entre plataformas para vesionamento
- Como construir um plugin para GNU Emacs
- Padrões de projeto em microsserviços
- Frameworks de testes: JUnit, PyTest, Selenium, Cypress ou Robot Framework
- Fluxos de trabalho no Git (Gitflow, GitHub Flow, outros)
- Uma introdução à computação em nuvem e à AWS
- Docker para a criação e gerenciamento de contêineres
- Angular: Framework de desenvolvimento Web
- Ferramentas para Pipelines de Dados em Tempo Real e Streaming com Apache Kafka
- Criação de agentes com Langchain, Langgraph e CrewAI
- Introdução ao Versionamento Semântico (SemVer)
- Design de APIs RESTful e GraphQL
- Extensões e plugins úteis para IDEs