diff --git a/3-Data-Visualization/09-visualization-quantities/translations/README.pt-br.md b/3-Data-Visualization/09-visualization-quantities/translations/README.pt-br.md
new file mode 100644
index 00000000..f0bf7bf8
--- /dev/null
+++ b/3-Data-Visualization/09-visualization-quantities/translations/README.pt-br.md
@@ -0,0 +1,212 @@
+# Visualizando Quantidades
+
+| ](../../../sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| Visualizando quantidades - _Sketchnote por [@nitya](https://twitter.com/nitya)_ |
+
+Nesta aula você irá explorar como usar uma das muitas bibliotecas disponíveis no Python para aprender a criar visualizações interessantes relacionadas ao conceito de quantidade. Usando um dataset já limpo sobre aves de Minnesota, você pode aprender muitos fatos interessantes sobre a fauna selvagem local.
+## [Quiz pré-aula](https://red-water-0103e7a0f.azurestaticapps.net/quiz/16)
+
+## Observando envergadura da asa com Matplotlib
+
+Uma biblioteca excelente para criar tanto gráficos simples como sofisticados e de diversos tipos é o [Matplotlib](https://matplotlib.org/stable/index.html). Em geral, o processo de plotar dados com esta biblioteca inclui identificar as partes do seu dataframe que você quer focar, utilizando quaisquer transformações necessárias nestes dados, atribuindo parâmetros dos eixos x e y, decidindo qual tipo de gráfico usar, e então mostrando o gráfico. O Matplotlib oferece uma grande variedade de visualizações, mas, nesta aula, iremos focar nos mais apropriados para visualizar quantidade: gráfico de linha, gráfico de dispersão e gráfico de barra.
+
+> ✅ Use o melhor gráfico para se adaptar a estrutura dos dados e a história que você quer contar.
+> - Para analisar tendências temporais: linha
+> - Para comparar valores: barra, coluna, pizza, dispersão
+> - Para mostrar como as partes se relacionam com o todo: pizza
+> - Para mostrar a distribuição dos dados: dispersão, barra
+> - Para mostrar tendências: linha, coluna
+> - Para mostrar relações entre valores: linha, dispersão, bolha
+
+Se você tem um dataset e precisa descobrir quanto de um dado elemento está presente, uma das primeiras coisas que você precisará fazer é examinar seus valores.
+
+✅ Existem dicas ('cheat sheets') ótimas disponíveis para o Matplotlib [aqui](https://github.com/matplotlib/cheatsheets/blob/master/cheatsheets-1.png) e [aqui](https://github.com/matplotlib/cheatsheets/blob/master/cheatsheets-2.png).
+
+## Construindo um gráfico de linhas sobre os valores de envergadura de aves
+
+Abra o arquivo `notebook.ipynb` na raiz da pasta desta aula e adicione uma célula.
+
+> Nota: os dados estão armazenados na raiz deste repositório na pasta `/data`.
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+
+Estes dados são uma mistura de texto e números:
+
+
+| | Name | ScientificName | Category | Order | Family | Genus | ConservationStatus | MinLength | MaxLength | MinBodyMass | MaxBodyMass | MinWingspan | MaxWingspan |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | Black-bellied whistling-duck | Dendrocygna autumnalis | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Fulvous whistling-duck | Dendrocygna bicolor | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Snow goose | Anser caerulescens | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Ross's goose | Anser rossii | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Greater white-fronted goose | Anser albifrons | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+Vamos começar plotando alguns dados numéricos com um simples gráfico de linhas. Suponha que você quer uma visualização da envergadura máxima (MaxWingspan) dessas aves interessantes.
+
+```python
+wingspan = birds['MaxWingspan']
+wingspan.plot()
+```
+
+
+O que é possível perceber imediatamente? Aparentemente existe pelo menos um outlier - e que envergadura! Uma envergadura de 2300 centímetros equivale a 23 metros - existem pterodáctilos voando em Minnesota? Vamos investigar.
+
+Você poderia fazer uma ordenação rápida no Excel para encontrar estes outliers, que provavelmente são erros de digitação. No entanto, vamos continuar o processo de visualização trabalhando no gráfico.
+
+Adicione identificadores (labels) no eixo x para mostrar os nomes das aves que estão sendo analisadas:
+
+```
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.xticks(rotation=45)
+x = birds['Name']
+y = birds['MaxWingspan']
+
+plt.plot(x, y)
+
+plt.show()
+```
+
+
+Mesmo com a rotação das labels em 45 graus, existem muitas para ler. Vamos tentar outra estratégia: identificar os outliers e somente colocar as labels deles dentro do gráfico. Você pode usar um gráfico de dispersão para abrir mais espaço para labels (identificadores):
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ plt.plot(x, y, 'bo')
+ if birds['MaxWingspan'][i] > 500:
+ plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
+
+plt.show()
+```
+
+O que aconteceu aqui? Você usou `tick_params` para esconder as labels do eixo x e então criou um loop sobre o dataset das aves. Depois, plotou o gráfico com pequenos círculos azuis usando `bo` e procurou por aves com envergadura maior que 500 e, em caso positivo, exibiu a label ao lado do círculo. Você ajustou as labels no eixo y (`y * (1 - 0.05)`) e usou o nome da ave como label.
+
+O que você descobriu?
+
+
+
+## Filtrando seus dados
+
+Apesar de grandes, tanto a Bald Eagle (águia-de-cabeça-branca) como o Prairie Falcon (Falcão-da-pradaria) parecem ter valores errados, com um `0` a mais na envergadura máxima (MaxWingspan). É improvável que você encontre uma águia-de-cabeça-branca com envergadura de 25 metros, mas, se encontrar, por favor nos diga! Agora, vamos criar um dataframe sem estes dois outliers:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
+ plt.plot(x, y, 'bo')
+plt.show()
+```
+
+Agora que estes outliers foram removidos, seus dados estão mais coesos e compreensíveis.
+
+
+
+Agora que temos um dataset mais limpo ao menos em termos de envergadura, vamos aprender mais sobre estas aves.
+
+Enquanto gráficos de linha e dispersão conseguem mostrar informações sobre valores e suas distribuições, nós queremos pensar sobre os valores inerentes a este dataset. Você poderia criar visualizações para responder as seguintes perguntas sobre quantidade:
+
+> Quantas categorias de aves existem, e quais são seus valores?
+> Quantas aves estão extintas, em risco de extinção, raras ou comuns?
+> Quantos gêneros e ordens da taxonomia de Lineu (nome científico) existem no dataset?
+
+## Explorando gráfico de barras
+
+Gráfico de barras são úteis quando precisamos mostrar agrupamentos de dados. Vamos explorar as categorias de aves que existem neste dataset para observar qual é o mais comum em quantidade.
+
+No arquivo notebook, crie um gráfico de barras simples.
+
+✅ Note que você pode remover as duas aves outliers que foram identificados anteriormente, editar o erro de digitação na envergadura ou deixá-los nestes exercícios que não dependem dos valores da envergadura.
+
+Ao criar um gráfico de barras, você pode selecionar os dados que quer focar. Gráficos de barras podem ser criados a partir de dados brutos:
+
+```python
+birds.plot(x='Category',
+ kind='bar',
+ stacked=True,
+ title='Birds of Minnesota')
+
+```
+
+
+
+No entanto, este gráfico de barras é ilegível, porque existem muitos dados não agrupados. Você precisa selecionar somente os dados que quer plotar, então vamos olhar o comprimento das aves usando sua categoria como referência.
+
+Filtre os dados para incluir somente a categoria da ave.
+
+✅ Note que você usa o Pandas para lidar com os dados, e deixa a criação de gráficos para o Matplotlib.
+
+Já que existem muitas categorias, você pode mostrar este gráfico verticalmente e ajustar sua altura para acomodar todos os dados:
+
+```python
+category_count = birds.value_counts(birds['Category'].values, sort=True)
+plt.rcParams['figure.figsize'] = [6, 12]
+category_count.plot.barh()
+```
+
+
+Este gráfico de barras mostra uma boa visão do número de aves em cada categoria. Em um piscar de olhos, você vê que a maior quantidade de aves nesta região pertence à categoria de Ducks/Geese/Waterfowl (patos/gansos/cisnes). Minnesota é 'a terra de 10.000 lagos', então isto não é surpreendente!
+
+✅ Tente contabilizar outras quantidades deste dataset. Algo te surpreende?
+
+## Comparando dados
+
+Você pode tentar diferentes comparações de dados agrupados criando novos eixos. Tente comparar o comprimento máximo de uma ave, com base na sua categoria:
+
+```python
+maxlength = birds['MaxLength']
+plt.barh(y=birds['Category'], width=maxlength)
+plt.rcParams['figure.figsize'] = [6, 12]
+plt.show()
+```
+
+
+Nada é surpreendente aqui: hummingbirds (beija-flores) têm o menor comprimento enquanto pelicans (pelicanos) e geese (gansos) têm os maiores valores. É muito bom quando os dados fazem sentido!
+
+Você pode criar visualizações mais interessantes de gráficos de barras ao sobrepor dados. Vamos sobrepor o comprimento mínimo e máximo de uma dada categoria de ave:
+
+```python
+minLength = birds['MinLength']
+maxLength = birds['MaxLength']
+category = birds['Category']
+
+plt.barh(category, maxLength)
+plt.barh(category, minLength)
+
+plt.show()
+```
+
+Neste gráfico, você pode ver o intervalo de comprimento mínimo e máximo por categoria de ave. Você pode seguramente dizer, a partir destes dados, que quanto maior a ave, maior o seu intervalo de comprimento. Fascinante!
+
+
+
+## 🚀 Desafio
+
+Este dataset de aves oferece uma riqueza de informações sobre os diferentes tipos de aves de um ecossistema particular. Tente achar na internet outros datasets com dados sobre aves. Pratique construir gráficos com eles e tente descobrir fatos que você ainda não havia percebido.
+
+## [Quiz pós-aula](https://red-water-0103e7a0f.azurestaticapps.net/quiz/17)
+
+## Revisão e autoestudo
+
+Esta primeira aula lhe deu informações sobre como usar o Matplotlib para visualizar quantidades. Procure por outras formas de trabalhar com dataset para visualização. [Plotly](https://github.com/plotly/plotly.py) é uma biblioteca que não será abordada nas aulas, então dê uma olhada no que ela pode oferecer.
+
+## Tarefa
+
+[Linhas, dispersão e barras](assignment.pt-br.md)
diff --git a/3-Data-Visualization/09-visualization-quantities/translations/assignment.pt-br.md b/3-Data-Visualization/09-visualization-quantities/translations/assignment.pt-br.md
new file mode 100644
index 00000000..7a180dc3
--- /dev/null
+++ b/3-Data-Visualization/09-visualization-quantities/translations/assignment.pt-br.md
@@ -0,0 +1,11 @@
+# Linhas, dispersão e barras
+
+## Instruções
+
+Nesta aula, você trabalhou com gráficos de linhas, dispersão e barras para mostrar fatos interessantes sobre este dataset. Nesta tarefa, explore o mesmo dataset mais a fundo para descobrir algo sobre um dado tipo de ave. Por exemplo, crie um notebook que mostre visualizações de todos os fatos interessantes que encontrar sobre os Snow Geese (gansos-das-neves). Use os três tipos de gráficos mencionados anteriormente para contar uma história em seu notebook.
+
+## Rubrica
+
+Exemplar | Adequado | Precisa melhorar
+--- | --- | -- |
+O notebook foi apresentado com boas anotações, contação de histórias (storytelling) sólida e gráficos cativantes | O notebook não tem um desses elementos | O notebook não tem dois desses elementos
diff --git a/3-Data-Visualization/10-visualization-distributions/translations/README.pt-br.md b/3-Data-Visualization/10-visualization-distributions/translations/README.pt-br.md
new file mode 100644
index 00000000..6886cefe
--- /dev/null
+++ b/3-Data-Visualization/10-visualization-distributions/translations/README.pt-br.md
@@ -0,0 +1,198 @@
+# Visualizando distribuições
+
+| ](../../../sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| Visualizando distribuições - _Sketchnote por [@nitya](https://twitter.com/nitya)_ |
+
+Na aula anterior, você aprendeu fatos interessantes sobre um dataset de aves de Minnesota. Você encontrou dados incorretos ao visualizar outliers e olhou as diferenças entre categorias de aves com base no seu comprimento máximo.
+
+## [Quiz pré-aula](https://red-water-0103e7a0f.azurestaticapps.net/quiz/18)
+## Explorando o dataset de aves
+
+Outra forma de explorar os dados é olhar para sua distribuição, ou como os dados estão organizados ao longo do eixo. Por exemplo, talvez você gostaria de aprender sobre a distribuição geral, neste dataset, do máximo de envergadura (wingspan) ou máximo de massa corporal (body mass) das aves de Minnesota.
+
+Vamos descobrir alguns fatos sobre as distribuições de dados neste dataset. No arquivo _notebook.ipynb_, na raiz do diretório desta aula, importe Pandas, Matplotlib, e os dados:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+
+Geralmente, você pode olhar para a forma como os dados estão distribuídos usando um gráfico de dispersão (scatter plot) como fizemos na aula anterior:
+
+```python
+birds.plot(kind='scatter',x='MaxLength',y='Order',figsize=(12,8))
+
+plt.title('Max Length per Order')
+plt.ylabel('Order')
+plt.xlabel('Max Length')
+
+plt.show()
+```
+
+Isso nos dá uma visão geral da distribuição de comprimento do corpo por Ordem da ave, mas não é a melhor forma de mostrar a distribuição real. Esta tarefa geralmente é realizada usando um histograma.
+
+## Trabalhando com histogramas
+
+O Matplotlib oferece formas muito boas de visualizar distribuição dos dados usando histogramas. Este tipo de gráfico é parecido com um gráfico de barras onde a distribuição pode ser vista por meio da subida e descida das barras. Para construir um histograma, você precisa de dados numéricos e você pode plotar um gráfico definindo o tipo (kind) como 'hist' para histograma. Este gráfico mostra a distribuição de massa corporal máxima (MaxBodyMass) para todo o intervalo numérico dos dados. Ao dividir um certo vetor de dados em intervalos (bins) menores, vemos a distribuição dos valores:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
+plt.show()
+```
+
+
+
+Como você pode ver, a maior parte das mais de 400 aves cai no intervalo de menos de 2000 para a massa corporal máxima. Obtenha mais conhecimento dos dados mudando o parâmetro de intervalo (`bins`) para um número maior, como 30:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
+plt.show()
+```
+
+
+
+Este gráfico mostra a distribuição de forma mais detalhada. Um gráfico menos concentrado na esquerda pode ser criado garantindo que você só selecione os dados dentro de um certo intervalo:
+
+Filtre seus dados para obter somente as aves que possuem menos de 60 de massa corporal, e mostre 40 intervalos (`bins`):
+
+```python
+filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
+filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
+plt.show()
+```
+
+
+✅ Tente outros filtros e pontos de dados (data points). Para ver a distribuição completa dos dados, remova o filtro `['MaxBodyMass']` para mostrar as distribuições com labels (identificadores).
+
+O histograma também oferece algumas cores legais e labels (identificares) melhorados:
+
+Crie um histograma 2D para comparar a relação entre duas distribuições. Vamos comparar massa corporal máxima vs. comprimento máximo (`MaxBodyMass` vs. `MaxLength`). O Matplotlib possui uma forma integrada de mostrar convergência usando cores mais vivas:
+
+```python
+x = filteredBirds['MaxBodyMass']
+y = filteredBirds['MaxLength']
+
+fig, ax = plt.subplots(tight_layout=True)
+hist = ax.hist2d(x, y)
+```
+
+Aparentemente, existe uma suposta correlação entre estes dois elementos ao longo de um eixo esperado, com um forte ponto de convergência:
+
+
+
+Por definição, os histogramas funcionam para dados numéricos. Mas, e se você precisar ver distribuições de dados textuais?
+
+## Explore o dataset e busque por distribuições usando dados textuais
+
+Este dataset também inclui informações relevantes sobre a categoria de ave e seu gênero, espécie e família, assim como seu status de conservação. Vamos explorar mais a fundo esta informação sobre conservação. Qual é a distribuição das aves de acordo com seu status de conservação?
+
+> ✅ No dataset, são utilizados vários acrônimos para descrever o status de conservação. Estes acrônimos vêm da [IUCN Red List Categories](https://www.iucnredlist.org/), uma organização que cataloga os status das espécies.
+>
+> - CR: Critically Endangered (Criticamente em perigo)
+> - EN: Endangered (Em perigo)
+> - EX: Extinct (Extinto)
+> - LC: Least Concern (Pouco preocupante)
+> - NT: Near Threatened (Quase ameaçada)
+> - VU: Vulnerable (Vulnerável)
+
+Estes são valores textuais, então será preciso transformá-los para criar um histograma. Usando o dataframe filteredBirds, mostre seu status de conservação com sua envergadura mínima (MinWingspan). O que você vê?
+
+```python
+x1 = filteredBirds.loc[filteredBirds.ConservationStatus=='EX', 'MinWingspan']
+x2 = filteredBirds.loc[filteredBirds.ConservationStatus=='CR', 'MinWingspan']
+x3 = filteredBirds.loc[filteredBirds.ConservationStatus=='EN', 'MinWingspan']
+x4 = filteredBirds.loc[filteredBirds.ConservationStatus=='NT', 'MinWingspan']
+x5 = filteredBirds.loc[filteredBirds.ConservationStatus=='VU', 'MinWingspan']
+x6 = filteredBirds.loc[filteredBirds.ConservationStatus=='LC', 'MinWingspan']
+
+kwargs = dict(alpha=0.5, bins=20)
+
+plt.hist(x1, **kwargs, color='red', label='Extinct')
+plt.hist(x2, **kwargs, color='orange', label='Critically Endangered')
+plt.hist(x3, **kwargs, color='yellow', label='Endangered')
+plt.hist(x4, **kwargs, color='green', label='Near Threatened')
+plt.hist(x5, **kwargs, color='blue', label='Vulnerable')
+plt.hist(x6, **kwargs, color='gray', label='Least Concern')
+
+plt.gca().set(title='Conservation Status', ylabel='Max Body Mass')
+plt.legend();
+```
+
+
+
+Aparentemente não existe uma correlação forte entre a envergadura mínima e o status de conservação. Teste outros elementos do dataset usando este método. Você também pode tentar outros filtros. Você encontrou alguma correlação?
+
+## Gráfico de densidade (Estimativa de densidade kernel)
+
+Você pode ter percebido que até agora os histogramas são quebrados em degraus e não fluem de forma suave em uma curva. Para mostrar um gráfico de densidade mais 'fluido', você pode tentar usar a estimativa de densidade kernel (kde).
+
+Para trabalhar com gráficos de densidade, acostume-se com uma nova biblioteca de gráficos, o [Seaborn](https://seaborn.pydata.org/generated/seaborn.kdeplot.html).
+
+Após carregar o Seaborn, tente um gráfico de densidade básico:
+
+```python
+import seaborn as sns
+import matplotlib.pyplot as plt
+sns.kdeplot(filteredBirds['MinWingspan'])
+plt.show()
+```
+
+
+Você consegue ver como o gráfico reflete o anterior (de envergadura mínima); só é mais fluido/suave. De acordo com a documentação do Seaborn, "Em comparação com o histograma, o KDE pode produzir um gráfico que é menos confuso e mais legível, especialmente quando plotamos múltiplas distribuições. Mas pode potencialmente introduzir distorções se a distribuição usada é limitada ou não suave. Como um histograma, a qualidade da representação também depende na escolha de bons parâmetros suavizadores (smoothing parameters)." [créditos](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) Em outras palavras, dados discrepantes (outliers) vão fazer seus gráficos se comportarem mal, como sempre.
+
+Se você quer revisitar a linha irregular/dentada MaxBodyMass (massa corporal máxima) no segundo gráfico construído, você pode suavizá-la muito bem recriando o seguinte método:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'])
+plt.show()
+```
+
+
+Se você quer uma linha suave, mas não tão suave, mude o parâmetro `bw_adjust`:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
+plt.show()
+```
+
+
+✅ Leia sobre os parâmetros disponíveis para este tipo de gráfico e experimente!
+
+Este tipo de gráfico oferece visualizações bonitas e esclarecedoras. Com algumas linhas de código, por exemplo, você pode mostrar a densidade de massa corporal máxima por ave por Ordem:
+
+```python
+sns.kdeplot(
+ data=filteredBirds, x="MaxBodyMass", hue="Order",
+ fill=True, common_norm=False, palette="crest",
+ alpha=.5, linewidth=0,
+)
+```
+
+
+
+Você também pode mapear a densidade de várias variáveis em um só gráfico. Teste usar o comprimento máximo (MaxLength) e mínimo (MinLength) de uma ave comparado com seu status de conservação:
+
+```python
+sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
+```
+
+
+
+Talvez valha a pena pesquisar mais a fundo se o cluster de aves vulneráveis ('Vulnerable') de acordo com seus comprimentos têm significado ou não.
+
+## 🚀 Desafio
+
+Histogramas são um tipo mais sofisticado de gráfico em relação a simples gráficos de dispersão, barras ou linhas. Pesquise na internet bons exemplos de uso de histogramas. Como eles são usados, o que eles demonstram e em quais áreas ou campos de pesquisa eles são usados.
+
+## [Post-lecture quiz](https://red-water-0103e7a0f.azurestaticapps.net/quiz/19)
+
+## Revisão e autoestudo
+
+Nesta aula, você usou o Matplotlib e começou a trabalhar com o Seaborn para mostrar gráficos mais avançados. Pesquise sobre o `kdeplot` no Seaborn, uma "curva de densidade de probabilidade contínua em uma ou mais dimensões". Leia a [documentação](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) para entender como funciona.
+
+## Tarefa
+
+[Aplique seus conhecimentos](assignment.pt-br.md)
diff --git a/3-Data-Visualization/10-visualization-distributions/translations/assignment.pt-br.md b/3-Data-Visualization/10-visualization-distributions/translations/assignment.pt-br.md
new file mode 100644
index 00000000..07bbf7bb
--- /dev/null
+++ b/3-Data-Visualization/10-visualization-distributions/translations/assignment.pt-br.md
@@ -0,0 +1,11 @@
+# Aplique seus conhecimentos
+
+## Instruções
+
+Até agora, você trabalhou com o dataset de aves de Minnesota para descobrir informação sobre quantidades de aves e densidade populacional. Pratique essas técnicas usando outro dataset, talvez do [Kaggle](https://www.kaggle.com/). Faça um notebook que conta uma história sobre esse dataset, e lembre-se de usar histogramas para isso.
+
+## Rubrica
+
+Exemplar | Adequado | Precisa melhorar
+--- | --- | -- |
+O notebook tem anotações sobre o dataset, incluindo sua origem, e usa pelo menos 5 histogramas para descobrir fatos sobre os dados. | O notebook tem anotações incompletas ou bugs | O notebook não possui nenhuma anotação e contṕem bugs.
diff --git a/3-Data-Visualization/translations/README.pt-br.md b/3-Data-Visualization/translations/README.pt-br.md
new file mode 100644
index 00000000..80430b78
--- /dev/null
+++ b/3-Data-Visualization/translations/README.pt-br.md
@@ -0,0 +1,31 @@
+# Visualizações
+
+
+> Foto por Jenna Lee em Unsplash
+
+Visualizar dados é uma das tarefas mais importantes para um cientista de dados. Uma imagem vale mais que 1000 palavras, e uma visualização pode te ajudar a identificar todo tipo de coisa interessante nos seus dados, como picos, outliers, agrupamentos, tendências, e mais, que podem te ajudar a entender a história que seus dados estão tentando contar.
+
+Nessas cinco aulas, você irá explorar dados vindos da natureza e criar visualizações bonitas e interessantes usando várias técnicas.
+
+### Tópicos
+
+1. [Visualizando quantidades](../09-visualization-quantities/translations/README.pt-br.md)
+1. [Visualizando distribuições](../10-visualization-distributions/translations/README.pt-br.md)
+1. [Visualizando proporções](../11-visualization-proportions/README.md) (ainda não traduzido)
+1. [Visualizando relações](../12-visualization-relationships/README.md) (ainda não traduzido)
+1. [Criando visualizações relevantes](../13-meaningful-visualizations/README.md) (ainda não traduzido)
+
+### Créditos
+
+Essas aulas foram escritas com 🌸 por [Jen Looper](https://twitter.com/jenlooper)
+
+🍯 Os dados de produção de mel nos EUA são provenientes do projeto de Jessica Li no [Kaggle](https://www.kaggle.com/jessicali9530/honey-production). Eles são derivados dos [dados](https://usda.library.cornell.edu/concern/publications/rn301137d) disponibilizados pelo [Departamento de Agricultura dos Estados Unidos](https://www.nass.usda.gov/About_NASS/index.php).
+
+🍄 Os dados dos cogumelos também são provenientes do [Kaggle](https://www.kaggle.com/hatterasdunton/mushroom-classification-updated-dataset), e foram revisados por Hatteras Dunton. Esse dataset inclui descrições de amostras hipotéticas que correspondem a 23 espécies de cogumelos lamelados das famílias Agaricus e Lepiota. Os cogumelos foram retirados do livro The Audubon Society Field Guide to North American Mushrooms (1981). Esse dataset foi doado para a UCI ML 27 em 1987.
+
+🦆 Os dados de aves de Minnesota também são provenientes do [Kaggle](https://www.kaggle.com/hannahcollins/minnesota-birds), e foram raspados (scraped) da [Wikipedia](https://en.wikipedia.org/wiki/List_of_birds_of_Minnesota) por Hannah Collins.
+
+Todos esses datasets estão licenciados sob [CC0: Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/).
+
+
+