We may earn an affiliate commission when you visit our partners.
Course image
Vinícius Pereira de Oliveira

Obtenha o conhecimento da poderosa e eficiente linguagem de programação Scala

Twitter, AirBnb, Linkedin, Nubank e outras milhares de empresas no mundo inteiro confiam na alta performance e poder de escalabilidade desta tecnologia. Desde a tarefa de filtrar e transformar dados até a criação de API's REST com comunicação assíncronas, Scala é uma linguagem versátil e confiável.

Read more

Obtenha o conhecimento da poderosa e eficiente linguagem de programação Scala

Twitter, AirBnb, Linkedin, Nubank e outras milhares de empresas no mundo inteiro confiam na alta performance e poder de escalabilidade desta tecnologia. Desde a tarefa de filtrar e transformar dados até a criação de API's REST com comunicação assíncronas, Scala é uma linguagem versátil e confiável.

Neste curso tenho como objetivo fazer uma introdução sobre os fundamentos da linguagem Scala começando do básico mostrando como declarar variáveis e funções, bem como, mostrando como Scala embora seja concebida para programação funcional é também perfeitamente uma linguagem Orientada a Objetos, ou seja... O melhor de dois mundos.

No conteúdo deste curso, depois de aprender alguns conceitos e funcionalidades básicas da linguagem, criamos um script que mostra como é simples usar Scala para fazer transformação de dados, neste caso, a partir de um arquivo .csv vamos filtrar dados que são úteis e gerar um novo arquivo com as informações filtradas.

Por fim, vamos ter uma introdução ao uso da biblioteca Akka que vai permitir criar endpoints REST (GET e POST) que vão trabalhar com o conceito de Akka Actors (permitindo comunicação http rest assíncrona).

Seja você um desenvolvedor iniciante que quer aprender os fundamentos da linguagem Scala ou um desenvolvedor mais experiente que deseja iniciar os estudos com Scala, este curso vai te passar um sólido panorama quanto a esta linguagem de programação.

Enroll now

What's inside

Syllabus

Introdução

Descrição geral sobre o conteúdo deste curso.

Uma introdução sobre casos de uso e objetivos gerais em relação a linguagem Scala.

Read more

Nesta aula, vamos instalar os arquivos necessários para executar a linguagem Scala em nossa máquina local bem como o SBT para gerenciar nossas dependências e fazer build dos códigos.

Arquivo necessário para aulas de transformação de dados disponível para download nos recursos.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Introduces Akka, a toolkit for building concurrent and distributed applications, which is valuable for creating scalable systems
Covers both object-oriented and functional programming paradigms in Scala, offering a versatile approach to software development
Demonstrates practical data transformation using Scala with CSV files, providing hands-on experience with real-world applications
Uses Akka Actors, which enables asynchronous HTTP REST communication, a common pattern in modern web services

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Introdução sólida ao scala prático

Segundo os estudantes, o curso Scala - Compreendendo o Poder da Linguagem oferece uma boa introdução aos fundamentos e paradigmas da linguagem Scala, sendo adequado para iniciantes. Os exemplos práticos apresentados, como a transformação de dados utilizando arquivos CSV e a criação de uma API REST simples com a biblioteca Akka, são frequentemente mencionados como pontos altos, por demonstrarem a aplicabilidade real da linguagem. No entanto, a seção sobre Akka é uma introdução, e embora o curso forneça uma base sólida, os alunos indicam que é necessário estudo adicional para alcançar proficiência e explorar tópicos mais avançados.
Tópico relevante, mas introdutório.
"A seção de Akka é uma boa primeira olhada, mas bem básica."
"Mostra o potencial do Akka, mas não se aprofunda muito."
"Fiquei curioso para aprender mais sobre Akka Actors depois dessa intro."
Explica a combinação dos paradigmas.
"Gostei de ver como Scala mistura orientação a objetos e funcional."
"Entender o uso de map e filter junto com classes foi esclarecedor."
"A abordagem de 'o melhor de dois mundos' foi bem mostrada."
Boa base para começar com a linguagem.
"Me ajudou a entender o básico de variáveis e funções em Scala."
"A explicação sobre classes e traits foi muito útil para começar."
"Para quem nunca viu Scala, é um bom ponto de partida."
Aplicações reais com dados e API.
"O script de transformação de CSV foi direto ao ponto e útil."
"A parte de criar uma API REST simples com Akka foi interessante de ver."
"Pude aplicar o que aprendi nos exemplos fornecidos."
Base sólida, mas precisa ir além.
"O curso dá um bom panorama, mas para ser proficiente preciso estudar mais."
"Sinto que preciso de outros recursos para me aprofundar nos tópicos."
"É um bom começo, mas não me sinto pronto para usar Scala em projetos complexos."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Scala - Compreendendo o Poder da Linguagem with these activities:
Revisar conceitos de programação funcional
Scala é uma linguagem que combina paradigmas de programação orientada a objetos e funcional. Revise os conceitos de programação funcional para melhor compreender o poder de Scala.
Browse courses on Higher-Order Functions
Show steps
  • Leia um artigo sobre os princípios da programação funcional.
  • Explore exemplos de código funcional em Haskell ou Lisp.
  • Tente resolver um problema simples usando recursão.
Praticar declaração de variáveis e funções em Scala
Reforce a sintaxe de declaração de variáveis e funções em Scala para evitar erros comuns durante o curso.
Show steps
  • Escreva diferentes tipos de declarações de variáveis (val e var).
  • Crie funções com e sem parâmetros, com e sem tipo de retorno explícito.
  • Compile e execute o código para verificar se está correto.
Criar um guia rápido de sintaxe Scala
Compile um guia de referência rápida com a sintaxe básica de Scala para ter à mão durante o curso.
Show steps
  • Reúna exemplos de código para declarações, funções, classes e traits.
  • Organize os exemplos em um documento bem formatado.
  • Adicione explicações concisas para cada exemplo.
  • Compartilhe o guia com outros alunos para feedback.
Three other activities
Expand to see all activities and additional details
Show all six activities
Ler 'Programação em Scala'
Aprofunde seus conhecimentos com um livro de referência sobre Scala.
Show steps
  • Leia os capítulos iniciais sobre os fundamentos da linguagem.
  • Experimente os exemplos de código do livro.
  • Anote os conceitos mais importantes.
Ler 'Scala com Apache Spark para Análise de Dados'
Explore o uso de Scala no contexto de análise de dados com Apache Spark.
Show steps
  • Leia os capítulos sobre integração de Scala com Spark.
  • Execute os exemplos de código para entender o fluxo de dados.
  • Pesquise sobre casos de uso de Scala e Spark em projetos reais.
Criar uma API REST simples com Akka HTTP
Aplique os conhecimentos adquiridos no curso criando uma API REST simples usando Akka HTTP.
Show steps
  • Defina os endpoints da API e os dados que serão expostos.
  • Implemente os handlers para cada endpoint usando Akka HTTP.
  • Escreva testes unitários para garantir o funcionamento correto da API.
  • Implante a API em um ambiente de teste.

Career center

Learners who complete Scala - Compreendendo o Poder da Linguagem will develop knowledge and skills that may be useful to these careers:
Desenvolvedor Scala
Um desenvolvedor Scala cria aplicações usando a linguagem Scala, conhecida por sua alta performance e escalabilidade. Este curso ajuda a construir uma base sólida nos fundamentos da linguagem Scala, desde a declaração de variáveis e funções até a compreensão dos paradigmas de orientação a objetos e programação funcional. Ao aprender a usar Scala para transformar dados a partir de arquivos CSV e criar APIs REST com Akka, você estará melhor preparado para as tarefas diárias de um desenvolvedor Scala. Para quem deseja se tornar um desenvolvedor Scala, este curso fornece um panorama completo da linguagem e suas aplicações práticas.
Desenvolvedor de API
Um desenvolvedor de API cria interfaces que permitem que diferentes sistemas de software se comuniquem entre si. Este curso ajuda a entender como criar APIs REST simples com Akka, uma habilidade essencial para desenvolvedores de API. Ao aprender a construir endpoints GET e POST com Akka Actors, você estará melhor preparado para criar APIs eficientes e escaláveis. Para quem deseja se especializar em desenvolvimento de APIs, este curso oferece uma introdução prática ao uso de Scala e Akka.
Engenheiro de Software
Um engenheiro de software desenvolve, testa e mantém aplicações de software. Este curso ajuda a construir uma base sólida na linguagem Scala, desde os fundamentos até a criação de APIs REST com Akka. Ao aprender a usar Scala para transformar dados e criar aplicações orientadas a objetos e funcionais, você estará melhor preparado para as diversas tarefas de um engenheiro de software. Para quem deseja se tornar um engenheiro de software, este curso fornece um panorama completo da linguagem Scala e suas aplicações práticas.
Desenvolvedor Backend
Um desenvolvedor backend foca na lógica do lado do servidor, bancos de dados e APIs. Este curso te ajuda a entender como Scala pode ser usada para construir aplicações backend de alta performance. Com uma introdução à biblioteca Akka e criação de APIs REST, este curso pode ser relevante para desenvolvedores backend que precisam projetar servidores distribuídos e assíncronos. O curso pode ajudar desenvolvedores backend a explorar as capacidades de Scala na criação de soluções robustas e eficientes.
Engenheiro de Dados
Um engenheiro de dados projeta, constrói e mantém sistemas de processamento de dados. Este curso pode ser útil para aprender a transformar dados usando Scala, uma habilidade crucial para engenheiros de dados que trabalham com grandes volumes de informações. O curso aborda a criação de um script para transformar dados de um arquivo CSV e introduz a biblioteca Akka para criar APIs REST, o que pode ser útil para construir pipelines de dados eficientes e escaláveis. Quem busca se tornar engenheiro de dados pode se beneficiar deste curso para aprender a manipular e transformar dados de forma eficaz com Scala.
Desenvolvedor Full-Stack
Um desenvolvedor full stack trabalha tanto no front-end quanto no back-end de aplicações web. Este curso pode ser útil para aprimorar as habilidades de back-end, especialmente na criação de APIs REST com Scala e Akka. Ao aprender a construir endpoints e manipular dados com Scala, você estará mais preparado para desenvolver a parte do servidor de aplicações web. Este curso pode ajudar desenvolvedores full stack a expandir seus conhecimentos e criar aplicações mais robustas e escaláveis.
Arquiteto de Software
Um arquiteto de software define a estrutura e o design de sistemas de software complexos. Este curso pode ser útil para entender como Scala pode ser usada para criar aplicações escaláveis e de alta performance. A introdução à biblioteca Akka e a criação de APIs REST podem ser especialmente relevantes para arquitetos que precisam projetar sistemas distribuídos e assíncronos. Este curso pode ajudar arquitetos de software a explorar as capacidades de Scala na criação de soluções robustas e eficientes.
Engenheiro de DevOps
Um engenheiro de DevOps automatiza e melhora os processos de desenvolvimento e implantação de software. Este curso pode ser útil para aprender a usar Scala para criar scripts e ferramentas de automação. A criação de APIs REST com Akka abordada no curso pode ser útil para integrar diferentes sistemas e automatizar tarefas. Este curso pode ajudar engenheiros de DevOps a criar pipelines de desenvolvimento mais eficientes e escaláveis com Scala.
Cientista de Dados
Um cientista de dados analisa grandes volumes de dados para extrair insights e tomar decisões informadas. Este curso pode ser útil para aprender a transformar dados usando Scala, uma habilidade importante para cientistas de dados que trabalham com dados complexos. O curso aborda a criação de um script para transformar dados de um arquivo CSV, o que pode ser útil para preparar dados para análise. Este curso pode ajudar cientistas de dados a manipular e preparar dados de forma eficaz com Scala.
Analista de Dados
Um analista de dados examina dados para identificar tendências, padrões e anomalias. Este curso pode ser útil para aprender a manipular e transformar dados usando Scala, uma habilidade valiosa para analistas de dados que precisam preparar dados para análise. A criação de um script para transformar dados de um arquivo CSV abordada no curso pode ser especialmente útil para analistas que trabalham com dados brutos. Este curso pode ajudar analistas de dados a automatizar e otimizar o processo de preparação de dados com Scala.
Consultor de Tecnología
Um consultor de tecnologia assessora empresas sobre como usar a tecnologia para melhorar seus negócios. Este curso pode ser útil para entender como Scala pode ser aplicada em diferentes contextos, desde a transformação de dados até a criação de APIs REST. Ao aprender sobre as capacidades de Scala e Akka, você estará melhor preparado para recomendar soluções tecnológicas baseadas em Scala. Este curso pode ajudar consultores de tecnologia a expandir seu conhecimento e oferecer soluções mais inovadoras aos seus clientes.
Analista de Sistemas
Um analista de sistemas analisa os sistemas de informação de uma organização e recomenda melhorias. Este curso pode te ajudar a entender como Scala pode ser aplicada para criar sistemas mais eficientes e escaláveis. Ao aprender sobre Scala e Akka, você estará melhor preparado para avaliar e melhorar os sistemas de informação de uma organização. Se você busca ser um analista de sistemas, este curso te capacita a tomar decisões técnicas mais acertadas.
Gerente de Produto
Um gerente de produto define a estratégia, o roteiro e as características de um produto. Este curso pode ser útil para entender as capacidades técnicas de Scala e Akka, o que pode ajudar na tomada de decisões sobre o desenvolvimento de produtos. Ao aprender sobre as funcionalidades da linguagem, você estará melhor preparado para comunicar as necessidades técnicas aos desenvolvedores. Este curso pode ajudar gerentes de produto a tomar decisões técnicas mais informadas e a comunicar melhor com as equipes de desenvolvimento.
Administrador de Banco de Dados
Um administrador de banco de dados garante a integridade, segurança e disponibilidade dos dados. Este curso *may* ser útil para compreender como Scala pode interagir com bancos de dados, especialmente no contexto de transformação de dados. Ao aprender sobre a manipulação de dados com Scala, você pode otimizar a forma como os dados são processados e armazenados. Este curso *may* ser útil para administradores de banco de dados que buscam automatizar tarefas e melhorar o desempenho dos bancos de dados.
Testador de Software
Um testador de software garante a qualidade do software através da criação e execução de testes. Este curso *may* ser útil para aprender a usar Scala para automatizar testes, pois a linguagem oferece flexibilidade e poder para criar testes complexos e eficientes. Ao se familiarizar com os fundamentos da linguagem, você pode utilizá-la para criar testes automatizados. Este curso *may* ser útil para testadores de software que buscam automatizar testes e melhorar a cobertura de testes.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Scala - Compreendendo o Poder da Linguagem.
Este livro é considerado a bíblia da linguagem Scala, escrito pelo próprio criador da linguagem, Martin Odersky. Ele cobre todos os aspectos da linguagem em profundidade, desde os fundamentos até os tópicos mais avançados. É uma leitura essencial para qualquer desenvolvedor Scala sério, e serve como um excelente livro de referência. Este livro fornece uma base sólida para entender os conceitos e a filosofia por trás da linguagem.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser