# 01 - Apresentação da Disciplina (16/03/2018)
# 02 - Estrutura com HTML (23/03/2018)
# 03 - Estilo com CSS (06/04/2018)
# 04 - Estilizando texto e box (13/04/2018)
# 05 - Criando Dashboard Admin (20/04/2018)
# 06 - Avalição de HTML e CSS (27/04/2018)
# 07 - Introdução ao php (04/05/2018)
# 08 - Introdução ao Javascript (11/05/2018)
# 09 - Geração Dinâmica com JS (18/05/2018)
# 10 - Consumindo JSON e Geração Dinâmica com JS (08/06/2018)
# 11 - Pacotes JS e Simulado de Javascript Avaliação de JS (15/06/2018)
# 12 - Avalição de Javascript e Servidor LAMP (29/06/2018)
# 13 - Fundamentos de PHP (06/07/2018)
# 14 - APIs em PHP (13/07/2018)
# 15 - PHP Web (20/07/2018)
# 16 - MySQL (27/07/2018)
# 17 - PHP PDO (28/07/2018)
# 18 - Acompanhamento do Projeto (03/08/2018)
# 19 - Acompanhamento do Projeto (04/08/2018)
# 20 - Avaliação de PHP e Projeto Final (10/08/2018)
Conteúdo:
- Apresentação da disciplina:
- Objetivo, conteúdo, avaliação, comunicação, bibliografia e ferramentas
- O que você vai aprender em DW?
- Conteúdo
- Fundamento e finalidade do frontend (HTML, CSS, JS) e backend (PHP, MySQL)
- Exibindo a arquitetura da Web (Tripé: URL, HTTP, HTML; slide)
- Fundamentos de uma Linguagem de Marcação (guide)
Exercício:
- Analisar o site da discplina e se inscrever no channel
#dw20181
do slack do ifpb. - Configurar seu computador com essas ferramentas.
- Descreva o que acontecer ao acessar uma página da Web, como a do IFPB
- Pesquisar sobre a evolução da Web.
- Descreva o que é uma Linguagem de Marcação.
Conteúdo:
- HTML
- Tags
- Atributos
- Entidades
- Comentários
- Editando HTML com Visutal Studio Code (vscode) e visualizando com o Google Chrome
- Referências dos Elementos no MDN
Exercício:
- Reconstrua a Primeira Página da Web
- Inspecione uma página na Web
- Estruture o manual do comando PING em HTML (Fonte)
- Escolha algum manual do GNU Manuals Online ou do Debian para tentar reproduzi-lo parcialmente.
Conteúdo:
- CSS
- Sintaxe
- Herança no CSS
- Inspecionando estilos dos Elementos: Analisando e editando estilos
Exercício:
- Criando seu primeiro estilo
- Selecionando elementos no HTML
- Curriculum Vitae com Estilo
- Estilize o mamual do comando Ping em CSS:
Conteúdo:
- CSS
- Uso de bibliotecas no CSS
Reflexão:
- Quais estilos podemos aplicar em um texto?
- O que é um elemento de bloco e de linha?
- Que configurações de tamanho podemos aplicar em um elemento de bloco?
- Como utilizamos fontes do Google Fonts?
- Como utilizamos ícones?
- Que estilos podemos aplicar em uma tabela?
Exercício:
- Analise o Box Model desses títulos
- Estilizando Tabelas
Conteúdo:
Reflexão:
- Como reutilizar estilos de terceiros?
- Quais são os prós e contras de utilizar o Bootstrap?
- Como habilitamos o Bootstrap no HTML e CSS?
- Com o Bootstrap é possível normalizar o estilo do seu HTML?
- É possível definir alguma layout usando Bootstrap?
- Qual é a diferença entre
Content
eComponents
no Bootstrap?
Exercício:
- Criando Dashboard Admin
- Simulado de HTML e CSS:
Avaliação de HTML e CSS
Especificação do Projeto Final
Conteúdo:
- Javascript EcmaScript
- Formulário
- Bootstrap
- Javascript W3C
- Running Javascript in Browser
- Window
- DOM
- Node (DOM tree)
- Document:
querySelector()
- Element:
innerHTML
- HTML Input Element:
checked
,value
- DOM Event:
onclick
Reflexão:
- Para que serve os formulários e como estruturamos um?
- Por que o Javascript pode ser divido em recursos do EcmaScript e W3C?
- Como executamos código Javascript?
- Como declaramos variáveis no Javascript?
- Quais são os tipos primitivos e objetos do Javascript?
- Quais são os operadores do Javascript? Como podemos montamos expressões?
- O que acontece quando passamos uma quantidade de argumentos diferente do total de parâmetros?
- Para chamar uma função é necessário declará-lo antes de sua chamada?
- O que são parâmetros default dentro das funções no Javascript?
- Como integramos Javascript com HTML no Navegador?
- É possível acessar recusos do Navegador com o Javascript? Por exemplo, é possivel acessar os botões de navegação de histórico? Ou a URL da barra de endereço?
- Qual a importância da árvore DOM para o Javascript?
- Um Elemento no HTML pode ser analisado como sendo mais de um objeto no DOM? Mostre algum exemplo.
- Como acessamos um elemento do HTML via
document
no Javascript? - Como acessamos ou alteramos o conteúdo dos elementos
<div>
,<input type="text">
e<input type="radio">
?(selecionado)? - Como atribuímos um evento em um botão no Javascript?
Exercício:
- Crie um script para:
- Através de
const x = 10
definirx+2
- Através de
const x = 10
definirx²
- Através de
const x = 10
definir3x²+12x-4
- Através de
const x = 10
definirx+3 > √x
- Calcular o IMC usando
if
eswitch
- Somar
- Calcular a área do círculo
- Calcular operações aritméticas básicas
- Através de
- Crie uma interface Web para:
- Este formulário usando a estilização do Bootstrap.
- IMC
Conteúdo:
Reflexão:
- Quais são as estruturas de repetição do Javascript?
- No Javascript, como manipulamos (criar, alterar, iterar, ações) String, Array e JSON?
- Como estruturamos dados compostos em Javascript?
Exercício:
- Crie um script para:
- Exibir a séria de 00 até 99 de dez em dez usando
for
,while
edo-while
. - Harmonic series
- Array Operation
- Array Util
- List Generator
- Table Generator
- String Util
- Exibir a séria de 00 até 99 de dez em dez usando
- Crie uma representação desse dado:
Host | Address | Mask |
---|---|---|
PC 1 | 192.168.0.1 | 255.255.255.0 |
Server | 10.0.0.1 | 255.255.255.0 |
Conteúdo:
- Javascript EcmaScript
- Javascript W3C
- Element:
setAttribute()
,innerHTML
,insertAdjacentHTML()
- HTML Element:
style
,focus()
- DOM Event
- EventTarget:
addEventListener()
- GlobalEventHandlers:
onclick
- EventTarget:
- Element:
Reflexão:
- O que são funções anônimas?
- Como adicionamos eventos a um elemento selecionado?
- No exercício do IMC gráfico, explique como adicionamos eventos de teclado para ao pressionar:
- A tecla 'Enter' exiba o resultado do IMC;
- A tecla 'Escape' limpe os valores digitados nos
<input>
e foque no primeiro input.
- Como alteramos o estilo de um elemento no Javascript?
- No exercício do IMC gráfico, explique como alteramos a cor do resultdo do IMC conforme o resultado, por exemplo, vermelho para obeso e assim por diante.
- Como acessamos ou alteramos o conteúdo dos elementos
<div>
,<input type="text">
e<input type="radio">
(selecionado)? - Como inserimos um novo parágrafo no final da
<div>
a seguir sem recriar seus elementos internos?
<div>
<p>Lorem ipsum dolor</p>
<p>Dolor ipsum lorem</p>
</div>
Exercício:
- Crie uma interface Web para:
Conteúdo:
Reflexão:
- Por que as Web API geralmente respondem com JSON?
- O que o Fetch API permite fazer?
- Como exibimos apenas a cidade do IP
8.8.8.8
usando a API do ipinfo.io? Use essa rotahttps://ipinfo.io/8.8.8.8/json
e o Fetch API. - Como removemos um elemento no HTML via Javascript?
Exercício:
Projeto:
Apresentação das propostas de projetos.
Conteúdo:
Reflexão:
- Como montamos gráficos usando Javascript?
Exercício:
Conteúdo:
Reflexão:
- Como configurar um ambiente backend com PHP e MySQL?
Avaliação:
Todos os detalhes da avaliação estão disponíveis nesta página
Conteúdo:
- PHP Guide
- PHP Core
- PHP Stdlib
- Process Control Extensions
Reflexão:
- Como executamos código PHP?
- Como declaramos variáveis no PHP?
- Quais são os tipos de dados do PHP?
- Quais são os operadores do PHP?
- Quais são as estruturas de controle e repetição do PHP?
- Como criamos uma função em PHP?
- O que acontece quando passamos uma quantidade de argumentos diferente do total de parâmetros?
- Como executamos comandos via PHP?
- Qual a finalidade do script
ping.php
?
Exercício:
- Crie um script para:
- Através de
x = 10
definirx+2
- Através de
x = 10
definirx²
- Através de
x = 10
definir3x²+12x-4
- Através de
x = 10
definirx+3 > √x
- Calcular o IMC
- Gerar algumas séries numéricas
- Calcular a soma de números
- Calcular a área do círculo
- Calcular as operações aritméticas básicas
- Através de
- Como executar o comando
ls
por meio do PHP?
Conteúdo:
- PHP Guide
- PHP Stdlib
- File System Related Extensions
- Other Basic Extensions
- Other Services
- Process Control Extensions
- Text Processing
- PHP Web
- PHP Stdlib
Reflexão:
- Como contruir uma página dinâmica no Front-end e no Back-end?
- Quais são as diferença entre o
$_POST
e$_GET
? - Como obter dados no PHP?
- Como executamos chamadas de sistema em PHP com e sem privilégio?
- Como editamos um arquivo de configuração por meio do PHP?
- Como formatar dados no PHP para retornar JSON?
Exercício:
- Crie uma API para listar arquivos de um
path
no formato JSON. - Crie uma API dos serviços de um SO no qual é possível realizar as seguintes as ações
start
estop
. Dica, use o comandoservice
. - Crie o esquema da API do seu projeto baseado nos templates existentes em Web API.
Conteúdo:
Reflexão:
- Como o PHP consegue tratar requisições HTTP GET e POST?
- O que munda no processamento de PHP quando a renderização de conteúdo é feito no lado Cliente e Servidor?
- Para que serve as sessões no PHP?
- Como criar um autenticação via sessão o PHP?
- Como consumir APIs para gerar interfaces Web dinâmicas?
Exercício:
Conteúdo:
Reflexão:
- O que é e para que serve um banco de dados?
- Qual é a arquitetura básica de um serviço de banco em MySQL?
- Qual é a finalidade da linguagem SQL?
- Como criamos um banco, tabela e dados no MySQL?
- Como fazer CRUD em uma Tabela?
- O que é integridade de entidade e referencial?
- Quais são as restrinções em um banco de dados relacional?
Exercício:
- Crie um banco de dados para seu projeto.
Conteúdo:
- PHP Guide
- Host Simple (DB)
Reflexão:
- Como o PHP consegue manipular um banco de dados MySQL?
- Como usar o PDO para realizar um CRUD em uma Tabela?
- Como criar um modelo, API e interface Web de uma fonte de dados?
Exercício:
- Faça com que algum serviço da API do seu projeto seja persistido em banco.
Entrega do Projeto Final e da avaliação de PHP.
- Front-end
- CSS current work & how to participate
- CSS-Tricks
- Codrops | Useful resources and inspiration for creative minds
- CSSDB - A curated collection of great CSS, Sass, LESS and Stylus libraries
- best of js
- Github Topic: HTML, CSS, JS
- Curated list of awesome: JS, CSS, HTML
- Back-end
- News: Home, PHP Weekly
- Manuel PHP
- PHP Fig
- Packages: Composer, Packagist
- Curated list of awesome: PHP
- Laravel
- MySQL
- MySQL - SQL Statement Syntax
- Curated list of awesome: DB, MySQL