Aulas
Disciplinas
Material de apoio, atividades e slides das disciplinas que leciono.
Em andamento
LGP1
Linguagem de Programação 1
20 páginas
- Linguagem de Programação 1
- Abrir o editor
code --user-data-dir ~/.vscode-clean --extensions-dir ~/.vscode-clean/extensions ./dev/LGP1
- Lista de Exercícios - Semana 1
Lembrete: ← significa "recebe" (atribuição), diferente do = da matemática.
- Algoritmos: lógica, fluxograma e pseudocódigo
Antes de escrever qualquer programa, um programador precisa ter clareza sobre o que o programa deve fazer e em que ordem. Essa descrição de passos, independente de linguagem, é o q
- Configurando o ambiente: VSCode + C/C++
Para programar em C++ você precisa de duas coisas: um editor (onde você escreve o código) e um compilador (o programa que transforma seu código em algo que o computador executa). N
- Lista de Exercícios - Semana 2
1. No trecho abaixo, cout << a / b; mostra 3, e não 3.33.... Qual é a explicação?
- Primeiros passos com Git e GitHub
Conforme você programa, seu código muda o tempo todo. O Git é uma ferramenta que guarda o histórico desse código: cada vez que você salva um ponto do trabalho (um commit), fica reg
- Estrutura de um Programa C++
Na semana passada aprendemos a descrever algoritmos com fluxograma e pseudocódigo. Agora damos o passo seguinte: transformar esses algoritmos em um programa de verdade, escrito em
- Lista de Exercícios - Semana 3
1. O trecho abaixo mostra qual valor na tela?
- Operadores e Estruturas de Decisão em C++
Nas duas semanas passadas, você aprendeu a estrutura de um programa em C++ e como guardar valores em variáveis. Mas repare numa coisa: todo valor usado até agora era fixo, escrito
- Lista de Exercícios - Semana 4
1. No trecho abaixo, qual é o valor de pedagio se classe valer 1?
- Switch e Laços de Repetição em C++
Nas duas semanas passadas, você aprendeu a tomar decisões com o if, o else, decisões aninhadas, e a cadeia de else if. Mas repare numa coisa: até agora, todo programa que você escr
- Lista de Exercícios - Semana 5
1. Qual é a saída do trecho abaixo?
- For, laços aninhados e revisão de repetição
Você já conhece dois laços de repetição: o while, que testa a condição antes de cada repetição, e o do-while, que garante pelo menos uma execução. Mas repare numa situação bem comu
- Lista de Exercícios - Semana 6
1. Qual é o índice do último elemento de um array declarado como int valores[8];?
- Arrays Unidimensionais
Até agora, cada variável do seu programa guardava um único valor: uma idade, uma nota, um preço. Mas imagine um programa que precisa guardar as cinco notas de uma turma pequena, ca
- Lista de Exercícios - Semana 7
1. Qual é a saída do trecho abaixo?
- Funções
Imagine um programa que precisa calcular o preço com desconto de vários produtos, um de cada vez, sempre com a mesma fórmula. Sem uma forma de nomear esse cálculo, você acaba copia
- Lista de Exercícios - Etapa 8
1. Numa função com parâmetro por valor, o que acontece com o argumento original quando a função altera o valor do parâmetro dentro do corpo?
- Funções: parâmetros e escopo
Na etapa passada, você aprendeu a definir e chamar funções, com parâmetros e valores de retorno. Mas ficou uma pergunta em aberto: quando você passa um valor pra um parâmetro, o qu
PRW3
Programação para Web 3
19 páginas
- Programação para Web 3
Nesta aula, vamos entender o que acontece nos bastidores quando um navegador abre um site: o modelo cliente-servidor, o protocolo HTTP, a anatomia das URLs, os métodos, os códigos
- Cadastro de Informações
Até aqui, a aplicação sabe apenas ler: os dados chegam ao banco por migrações escritas pelo desenvolvedor, ou por comandos digitados direto no terminal do MySQL. Um sistema real pr
- Atividade Cadastro de Informações (EstanteWeb)
Disciplina: Programação para Web 3 Assunto: INSERT, formulários de cadastro e persistência de dados Professor: Prof. Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de 50 minutos
- Comunicação HTTP
Nas últimas duas aulas você aprendeu que um servidor escuta requisições e que o Spring Boot organiza o código que responde a elas em controllers. Mas uma requisição carrega muito m
- Atividade Comunicação HTTP (EstanteWeb)
Disciplina: Programação para Web 3 Assunto: Métodos HTTP, parâmetros, cabeçalhos, status codes e formulários HTML Professor: Prof. Me. Danilo Bueno Grupos: duplas Duração: 4 aulas
- Consulta de Dados
Um banco de dados sem nenhum código que o consulte é só um arquivo caro guardando informação parada. Esta aula fecha essa lacuna: mostra como um método Java executa um SELECT, rece
- Atividade Consulta de Dados (EstanteWeb)
Disciplina: Programação para Web 3 Assunto: SELECT, ResultSet, JdbcTemplate, injeção de dependência e exibição em páginas Professor: Prof. Me. Danilo Bueno Grupos: duplas Duração:
- Formulários e Fluxo de Navegação
Preencher um formulário na Web quase nunca termina na própria página do formulário: um cadastro leva a uma tela de boas-vindas, uma compra leva a uma confirmação, uma mensagem de c
- Atividade Formulários e Fluxo de Navegação (EstanteWeb)
Disciplina: Programação para Web 3 Assunto: Formulários com FreeMarker, validação com retorno ao formulário e fluxo de navegação (redirect) Professor: Prof. Me. Danilo Bueno Grupos
- Organização de Aplicações Web: MVC e Spring Boot
Na aula passada vimos que um servidor recebe requisições HTTP e devolve respostas. Mas quem escreve o programa que fica do lado de lá? Como esse código decide o que responder para
- Atividade MVC e Spring Boot (EstanteWeb)
Disciplina: Programação para Web 3 Assunto: Organização de aplicações Web (MVC, Spring Boot, Controllers e rotas) Professor: Prof. Me. Danilo Bueno Grupos: duplas Duração: 4 aulas
- Navegação entre Recursos
Até aqui, a aplicação tem poucos endereços, e cada um deles devolve sempre a mesma coisa: a listagem inteira, o formulário em branco, a página de contato. Nada no endereço muda con
- Atividade Navegação entre Recursos (EstanteWeb)
Disciplina: Programação para Web 3 Assunto: URLs parametrizadas, Path Variables e páginas de detalhes Professor: Prof. Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de 50 minuto
- Persistência de Dados
Toda aplicação construída até aqui perde os dados no instante em que o processo Java termina: uma lista em memória existe só enquanto o servidor está de pé. Sites reais não funcion
- Atividade Persistência de Dados (EstanteWeb)
Disciplina: Programação para Web 3 Assunto: Bancos de dados relacionais, MySQL e versionamento de esquema com Flyway Professor: Prof. Me. Danilo Bueno Grupos: duplas Duração: 4 aul
- Atividade Templates com FreeMarker (EstanteWeb)
Disciplina: Programação para Web 3 Assunto: Geração dinâmica de páginas, templates e FreeMarker Professor: Prof. Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de 50 minutos (em
- Geração Dinâmica de Páginas: Templates com FreeMarker
Todo site que você acessa hoje, de uma rede social a um site de notícias, mostra páginas parecidas com conteúdos diferentes: o mesmo layout de perfil para cada usuário, a mesma est
- Atividade Como a Web Funciona
Disciplina: Programação para Web 3 Assunto: Como a Web funciona (cliente-servidor, HTTP, URL, status, DevTools) Professor: Prof. Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de
- Como a Web Funciona
Toda vez que você digita um endereço no navegador, curte uma foto ou envia um formulário, uma conversa acontece nos bastidores entre duas partes: o seu navegador e um computador re
Arquivo
LSPW
Linguagem de Script para Web
12 páginas
- Linguagem de Script para Web
Revisão de Box Model e Flexbox, seguida de uma introdução à hospedagem com o Cloudflare.
- Exercícios: Revisão de CSS (Box Model e Flexbox) + Hospedagem
Antes de avançar para novos conteúdos, vamos revisar como margin, padding e border controlam o espaço ao redor e dentro de um elemento.
- RWD - Layout Fluído
Imagine que você está desenvolvendo a página de um site que precisa se adaptar a diferentes tamanhos de tela. Você foi encarregado de criar uma seção com um título e um parágrafo q
- RWD - Mídias Fluídas e Consultas de Mídia
Crie uma página chamada rwd-query-font.html com um título e um parágrafo de texto. No CSS, utilize as consultas de mídia (@media) para fazer as seguintes alterações: quando a largu
- Exercícios: Git e GitHub
Estes exercícios repetem o fluxo que fizemos juntos nas aulas anteriores. Se travar em algum comando, veja os slides da aula.
- Git e GitHub
Todo mundo que já escreveu um trabalho no computador conhece a pasta com trabalho.docx, trabalhov2.docx, trabalhofinal.docx e trabalhofinalAGORAVAI.docx. Funciona, mal e mal, enqua
- Exercícios: Frameworks CSS (Bootstrap)
Estes exercícios colocam em prática o que vimos nos slides sobre frameworks CSS, usando o Bootstrap como exemplo de framework component-based. Diferente dos exercícios anteriores,
- Variáveis, Tipos e Condicionais em JS
Todos os exercícios abaixo pedem os dados com prompt() e mostram o resultado com alert(). Lembre-se: prompt() sempre devolve uma string, então valores numéricos precisam ser conver
- Exercícios: Arrays e Objetos em JS
Objetivo: Criar uma lista de tarefas (to-do list) e manipulá-la.
- TBL — Web Design Responsivo
Nas últimas aulas vocês viram os três pilares do Web Design Responsivo: layouts fluídos, mídias fluídas e media queries. Agora é hora de colocar isso à prova, em equipe.
- Atividade de Aplicação — Web Design Responsivo
Cada rodada apresenta um problema real de responsividade. O grupo discute e decide uma única alternativa (A, B, C ou D). Quando o professor pedir, todos os grupos revelam a respost
- Teste de Prontidão — Revisão Geral
Este teste cobre tudo o que foi visto até agora: propriedades básicas de CSS, Box Model, Flexbox (propriedades do container), Hospedagem e o tripé do Web Design Responsivo.
PRW1
Programação Web 1
19 páginas
- Programação Web 1
[email protected] · website/docs · github
- Introdução ao HTML
HTML não é case-sensitive. No entanto, é uma prática recomendada escrever todas as tags em letras minúsculas para maior consistência e legibilidade.
- HTML - Estrutura e imagens
Assim como os engenheiros seguem restritas diretrizes de design, ou restaurantes têm regulamentos de saúde e segurança, assim também os desenvolvedores web têm um conjunto de regra
- Listas e textos
“A escolha do tipo de lista a ser usada — ou se deve ou não usar uma lista — depende do conteúdo e da opção semanticamente mais apropriada para exibir esse conteúdo.”
- Hyperlinks e Tabelas
Um conjunto estruturado de dados compostos de linhas e colunas
- Formulários e metadados
Não decida entre usar a validação do lado do cliente ou do servidor - você precisará de ambas.
- Exercícios — FAQ DevShop
Conteúdo do FAQ para que você não precise inventar Utilize o texto abaixo para criar a seção de perguntas e respostas da página.
- Mais tags HTML
Como planejar uma estrutura básica do site e escrever o HTML para representar essa estrutura.
- Introdução ao CSS
“Folha de estilo em cascata é um mecanismo simples para adicionar estilos (p.ex, fontes, cores, espaçamentos) aos documentos Web (W3C).”
- Box Model e Background
/ propriedade abreviada (shorthand) / margin: 20px; / margem de 20px em todos os lados / margin: 10px 20px; / margem vertical de 10px e horizontal de 20px / margin: 10px 15px 20px
- Exercícios Flexbox
Você vai criar o seu documento HTML com as 9 imagens e atribuir um container para elas destacado abaixo.
- Layout com Flexbox
Bloco (gera quebra de linha)
- Exercícios GRID
Vamos criar um layout composto por um cabeçalho superior, um menu lateral, uma área de conteúdo principal e um rodapé. O objetivo é utilizar o CSS Grid para organizar essas peças e
- Layout com Grid
A partir deste momento, os filhos diretos deste container se tornam grid items e começam a se comportar de uma maneira nova e especial.
- Atividade de revisão
- RWD - LandingPage Responsiva
IMPORTANTE: as equipes não podem ter o mesmo design.
- Qualidade de Código
Exemplos de erros que ele encontra:
- Frameworks CSS
“Um framework é um conjunto padronizado de conceitos, práticas e critérios para lidar com um tipo comum de problema, que pode ser usado como referência para nos ajudar a abordar e
- Implantação
O software no localhost é apenas código em desenvolvimento. A Implantação é o que transforma esse código em uma solução ativa.
PRW2
Programação Web 2
23 páginas
- Programação Web 2
Nesta aula, vamos aprender sobre pré-processadores CSS, que são ferramentas que permitem escrever CSS de forma mais eficiente e organizada. Vamos explorar conceitos como variáveis,
- Fetch API e Assincronicidade
JavaScript executa uma instrução de cada vez, em sequência. Isso é o que chamamos de execução síncrona — cada linha espera a anterior terminar.
- Atividade Fetch API — PokeSearch
Disciplina: Programação Web 2 Assunto: Fetch API, Promises, async/await Professor: Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de 50 minutos (em sala)
- DOM — Document Object Model
O Document Object Model (DOM) é a representação do HTML de uma página como uma estrutura de dados acessível pelo JavaScript. É a ponte entre o seu código JS e o que o usuário vê na
- Atividade DOM — Painel TaskFlow
Disciplina: Programação Web 2 Assunto: DOM — Document Object Model Professor: Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de 50 minutos (em sala)
- Eventos e Interatividade
Um evento é uma ação que acontece no navegador — um clique, uma tecla pressionada, o envio de um formulário, o carregamento da página.
- Atividade Eventos — VibeStore
Disciplina: Programação Web 2 Assunto: Eventos e Interatividade Professor: Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de 50 minutos (em sala)
- JavaScript Moderno (ES6+)
Antes de qualquer código, você precisa saber onde executar JavaScript. O navegador já vem com um ambiente completo para rodar JS — sem instalar nada.
- Atividade JavaScript ES6 — Catálogo GameData
Disciplina: Programação Web 2 Assunto: JavaScript ES6 Professor: Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de 50 minutos (em sala)
- Pré-processadores CSS
À medida que um projeto cresce, as folhas de estilo crescem junto. Um arquivo CSS de um site real pode ter centenas ou milhares de linhas — e aí começam os problemas:
- Atividade PBL — Pré-processadores CSS
Disciplina: Programação Web 2 Professor: Me. Danilo Bueno Duplas: 2 integrantes Duração: 4 aulas de 50 minutos (em sala)
- Projeto Final — SerieLog
Disciplina: Programação Web 2
- Props e Comunicação entre Componentes
Na aula anterior você criou componentes Vue. Mas eles tinham um problema: os dados eram hardcoded — fixos no próprio arquivo.
- Atividade Props e Emits — VagaHub
Disciplina: Programação Web 2 Assunto: Props e Comunicação entre Componentes Professor: Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de 50 minutos em sala (+ 1 aula de teoria)
- Vue Router — Roteamento Client-Side
Quando você usa o Gmail, clica em "Enviados" e a lista muda sem a página piscar. Quando você navega pelo Spotify, a música continua tocando enquanto você vai para outra tela. Nos d
- Projeto SerieLog — Vue Router e Remoção
Disciplina: Programação Web 2 Assunto: Roteamento Client-Side com Vue Router Professor: Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de 50 minutos em sala
- SPAs e Frameworks JavaScript Client-Side
A web começou como uma coleção de documentos estáticos. Com o tempo, passou a hospedar aplicações interativas — e-mail, mapas, redes sociais, dashboards. Essa mudança criou um prob
- Atividade Vue 3 — SerieFlow
Disciplina: Programação Web 2 Assunto: SPAs e Frameworks JavaScript Client-Side Professor: Me. Danilo Bueno Grupos: duplas Duração: 3 aulas de 50 minutos em sala (+ 1 aula de teori
- Estado e Reatividade no Vue 3
Quando você usa o Instagram e o número de curtidas muda sem recarregar a página, ou adiciona um produto ao carrinho e o ícone atualiza na hora — por baixo está acontecendo algo sim
- Projeto SerieLog — Estado e Reatividade
Disciplina: Programação Web 2 Assunto: Estado e Reatividade Professor: Me. Danilo Bueno Grupos: duplas Duração: 4 aulas de 50 minutos em sala
- Web Design Responsivo
- Atividade PBL — Web Design Responsivo
Disciplina: Programação Web 2 Professor: Me. Danilo Bueno Grupos: 4 integrantes Duração: 4 aulas de 50 minutos (em sala)
- Lista de Exercícios Práticos: Design Responsivo e Media Queries
Contexto: Nas semanas anteriores, focamos em construir layouts incríveis para telas grandes (Desktops). Agora, o seu objetivo é utilizar Media Queries para adaptar esses mesmos com
WEB2
Fundamentos de Programação para Web
13 páginas
- Projeto Web — Loja Virtual
Disciplina: Linguagem de Programação Web II Curso Técnico em Informática
- Fundamentos de Programação para Web
::left:: ### Java, como programar - Deitel
- Introdução ao Mundo Web com Spring Boot! 🚀
Quando o Instagram cai...
- Web Server e HTML
Pense: quando você joga online, o jogo é hospedado em servidores. Aqui é a mesma ideia!
- Template engine
Problemas: - HTML inline: Construção manual da string HTML - Sem separação de conceitos: Lógica Java misturada com apresentação - Limitações: Dificuldade de manutenção, sem reutili
- PBL — Sistema de Triagem e Agendamento (sem banco)
Disciplina: Programação Web 2 Professor: Me. Danilo Bueno Formato: grupos de 3 a 4 estudantes Duração: 2 aulas (50 min cada)
- Formulários com POST
@GetMapping("/soma") public String somaForm() { return "somaForm.html"; }
- Listas
Na programação:
- Conexão com Banco de Dados no Spring Boot
Até então utilizamos uma lista de objetos para armazenar os dados:
- CRUD - método READ
Importante: O CRUD no contexto de aplicações web é utilizado para realizar operações no banco de dados para manipulação dos REGISTROS da tabela.
- CRUD - método READ
O método save recebe um objeto User e salva no banco de dados:
- CRUD - método UPDATE
Operação responsável por atualizar os dados de um registro existente no banco de dados.
- Desenvolvimento Web 2
::left:: !Livro Java, como programar - Deitel