We may earn an affiliate commission when you visit our partners.
Course image
Carl Edwin

Este curso é indicado para todos (as) aqueles (as) que desejam conhecer a Scala Lang. Abaixo estão listados os tópicos que serão abordados no curso:

Read more

Este curso é indicado para todos (as) aqueles (as) que desejam conhecer a Scala Lang. Abaixo estão listados os tópicos que serão abordados no curso:

  • Contextualizar o que é Scala

  • Configurar o ambiente Windows com JAVA_HOME e SCALA_HOME adicionando no PATH do sistema

  • Conhecer as principais IDEs para Scala: REPL, Scala IDE, Scala Fiddle, Visual Studio Code e IntelliJ

  • Utilizar o REPL

  • Configurar o IntelliJ

  • Conhecer Tipos Básicos em Scala

  • Declarar functions

  • Fluxos de Controle if, else, match

  • Loopings for, for-expressions, while e do While

  • Worksheet

  • Class

  • Objects

  • Package Object

  • Herança

  • Case Class

  • Trait

  • Collections List, Array, Set, Tuple, Map e Iterator com métodos toString, toList, filter, map, size, length

  • Recursion

  • try/catch e finally

  • Exception e Exception Customizada

  • O que é Scala Lang?

  • É uma linguagem de programação de propósito geral

  • Ela roda em cima da JVM (Java Virtual Machine)

  • Scala foi criada em 2001

  • Scala é multiparadigma

  • Programação Funcional

  • Programação Orientada a Objetos

Principais características:

  • Scala combina programação orientada a objetos e funcional em uma linguagem concisa e de alto nível. 

  • Permite Herança Multipla

  • Possui Funções de Ordem Superior

  • Opensource

  • Possui integração com a linguagem Java

  •   Inferência de Tipos

  •   Não é necessário declarar explicitamente o tipo de uma váriável, o compilador irá inferir o tipo adequado no momento do uso

  • Em Scala tudo é considerado um objeto.

Quem utiliza a Scala Lang?

  • Twitter

  • Foursquare

  • NETFLIX

  • GitHub

  • Apache Spark

Vamos começar?

Enroll now

What's inside

Syllabus

Introdução
O que é Scala Lang?
O que é Scala?
Configuração do Ambiente
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers setting up the development environment on Windows, which is helpful for those new to Scala and may not be familiar with the setup process
Explores various IDEs like REPL, Scala IDE, Scala Fiddle, Visual Studio Code, and IntelliJ, allowing learners to choose the one that best suits their preferences
Introduces fundamental concepts like data types, functions, control flows, and loops, providing a solid foundation for understanding Scala programming
Explores object-oriented programming (OOP) concepts in Scala, including classes, objects, inheritance, case classes, and traits, which are essential for building complex applications
Covers collections like List, Array, Set, Tuple, and Map, along with methods for manipulating them, which are crucial for data processing in Scala
Includes topics like recursion and exception handling, which are important for writing robust and efficient Scala code

Save this course

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

Reviews summary

Primeiros passos práticos em scala

De acordo com os alunos, este curso é um excelente ponto de partida para quem deseja aprender Scala Lang do zero. Muitos destacam que ele oferece uma base sólida nos conceitos fundamentais da linguagem. As explicações do instrutor são frequentemente mencionadas como muito claras e didáticas, facilitando a compreensão. A abordagem prática com exemplos e exercícios é um ponto forte, ajudando a fixar o conteúdo. Alguns alunos mencionam que a configuração do ambiente pode apresentar algumas dificuldades, mas no geral, a experiência é vista como muito positiva e recomendada para iniciantes.
Cobre os tópicos básicos importantes.
"O curso aborda os tópicos essenciais como tipos, funções, estruturas de controle, OOP e coleções."
"Sinto que ao final do curso tenho uma boa noção dos fundamentos da linguagem Scala."
"Aborda os principais conceitos necessários para começar a desenvolver em Scala, como classes, objetos e traits."
Foco em exemplos e exercícios práticos.
"Gostei dos exemplos práticos e da criação de um executável, isso ajuda muito a visualizar o código funcionando."
"Os exercícios propostos e a forma como são resolvidos ajudaram muito a fixar os conceitos teóricos."
"A parte prática, utilizando REPL e IntelliJ, é essencial para quem quer realmente aprender a codificar em Scala."
O conteúdo é apresentado de forma didática.
"As explicações sobre funções, estruturas de controle e orientação a objetos em Scala são fáceis de seguir."
"O instrutor demonstra um bom domínio do conteúdo e explica de maneira clara e objetiva."
"Entendi os conceitos mais importantes de forma simples, graças à didática utilizada no curso."
Ótimo ponto de partida para aprender Scala.
"Este curso me deu uma base muito boa para começar com Scala, cobrindo os pontos essenciais de forma clara."
"Ideal para quem nunca viu a linguagem e quer entender os fundamentos e as principais ferramentas."
"Como iniciante em Scala, achei o ritmo e o conteúdo perfeitos para dar os primeiros passos."
Setup pode ser um pouco desafiador.
"Tive alguns problemas para configurar o ambiente no meu sistema operacional, levei um tempo para resolver."
"A parte de instalação do Java e Scala e configuração das IDEs, especialmente o IntelliJ, poderia ser mais detalhada."
"Configurar tudo corretamente foi a parte mais chata, precisei procurar algumas soluções por fora do curso."

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 Dê os Primeiros Passos à Scala Lang de Forma Prática with these activities:
Revisar Conceitos de Programação Orientada a Objetos (OOP)
Refresque seus conhecimentos sobre os princípios da Programação Orientada a Objetos (OOP) para entender melhor os conceitos de classes, objetos, herança e traits em Scala.
Browse courses on OOP
Show steps
  • Leia artigos ou tutoriais sobre OOP.
  • Revise exemplos de código OOP em Java ou outra linguagem.
  • Faça um pequeno quiz online sobre OOP.
Crie um Guia de Referência Rápida para Sintaxe Scala
Compile um guia de referência rápida com os principais elementos da sintaxe Scala, como declaração de variáveis, funções, classes e collections.
Show steps
  • Revise os materiais do curso e outras fontes sobre sintaxe Scala.
  • Organize as informações em um formato fácil de consultar.
  • Adicione exemplos de código para ilustrar cada elemento da sintaxe.
Leitura Complementar: Programação Scala
Leia este livro para obter uma compreensão mais profunda da linguagem Scala e seus recursos.
Show steps
  • Leia os capítulos introdutórios sobre a sintaxe e os conceitos básicos da Scala.
  • Explore os capítulos sobre programação funcional e orientação a objetos em Scala.
  • Experimente os exemplos de código fornecidos no livro.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Scala Cookbook
Use este livro como um guia prático para resolver problemas específicos de programação em Scala.
Show steps
  • Procure receitas para os tópicos que você está tendo dificuldade.
  • Adapte as receitas para seus próprios projetos.
  • Experimente diferentes abordagens para resolver o mesmo problema.
Pratique a Criação de Funções Recursivas
Domine a recursão escrevendo várias funções recursivas para resolver problemas como cálculo de fatorial, busca em listas e árvores.
Show steps
  • Escreva uma função recursiva para calcular o fatorial de um número.
  • Implemente uma função recursiva para encontrar o maior elemento em uma lista.
  • Crie uma função recursiva para percorrer uma árvore binária.
Crie um Blog Post sobre Collections em Scala
Escreva um artigo de blog explicando os diferentes tipos de collections em Scala (List, Array, Set, Map) e como usá-los de forma eficaz.
Show steps
  • Escolha um tópico específico sobre collections em Scala.
  • Escreva um rascunho do seu post, incluindo exemplos de código.
  • Revise e publique seu post em um blog ou plataforma de mídia social.
Desenvolva um Pequeno Projeto Scala
Aplique seus conhecimentos de Scala desenvolvendo um pequeno projeto, como um conversor de moeda, um gerenciador de tarefas ou um jogo simples.
Show steps
  • Escolha um projeto que seja interessante e desafiador.
  • Planeje a arquitetura do seu projeto e divida-o em tarefas menores.
  • Implemente o projeto usando Scala e teste-o cuidadosamente.
  • Documente seu projeto e compartilhe-o com outros.

Career center

Learners who complete Dê os Primeiros Passos à Scala Lang de Forma Prática will develop knowledge and skills that may be useful to these careers:
Desenvolvedor Scala
Um Desenvolvedor Scala cria aplicações robustas e escaláveis utilizando a linguagem Scala. Este curso, que aborda desde a contextualização do que é Scala até a criação de executáveis e o conhecimento das principais IDEs, ajuda a construir uma base sólida para quem deseja seguir essa carreira. O aprendizado dos tipos de dados, functions, fluxos de controle e loopings em Scala facilita a escrita de código eficiente. A compreensão dos conceitos de Programação Orientada a Objetos (OOP) como classes, objetos, herança e traits, juntamente com o tratamento de exceções e o uso de collections, permite o desenvolvimento de soluções complexas e bem estruturadas. Para alguém que busca se tornar um Desenvolvedor Scala, este curso é um excelente ponto de partida.
Engenheiro de Dados
Um Engenheiro de Dados projeta, constrói, testa e mantém arquiteturas de dados, permitindo que as organizações transformem dados em insights acionáveis. Este curso, ao apresentar Scala, uma linguagem utilizada em ferramentas como Apache Spark, ajuda a iniciar o desenvolvimento de habilidades cruciais para essa função. O conhecimento de collections como List, Array, Set, Tuple e Map, além da compreensão de recursion, são importantes para manipular e processar grandes volumes de dados. O curso também aborda a integração com a Java Virtual Machine (JVM), que é fundamental para o ecossistema de big data. Dominar os fundamentos de Scala com este curso é um passo significativo para se tornar um Engenheiro de Dados de sucesso.
Desenvolvedor Back-End
O Desenvolvedor Back-End está envolvido na criação e manutenção da lógica do lado do servidor, das APIs (Application Programming Interfaces) e dos bancos de dados que alimentam as aplicações. Este curso, ao introduzir Scala, pode ser útil para a construção de back-ends robustos. O conhecimento dos conceitos de programação orientada a objetos (OOP), incluindo classes, objetos, herança e traits, juntamente com o tratamento de exceções e o uso eficiente de collections, permite criar sistemas escaláveis e de fácil manutenção. Este curso pode ajudar a compreender como a Scala pode ser integrada em diferentes arquiteturas de back-end, especialmente aquelas que utilizam a JVM, devido à sua integração com Java.
Arquiteto de Software
Um Arquiteto de Software define a estrutura e o design de sistemas de software complexos. Este curso, com sua introdução abrangente à Scala, pode ser útil para entender como essa linguagem se encaixa em diversas arquiteturas. O conhecimento de programação orientada a objetos (OOP) com classes, objetos, herança, traits e case classes, juntamente com a capacidade de lidar com exceções e usar collections de forma eficiente, permite criar sistemas escaláveis e de fácil manutenção. O curso também menciona a integração com Java, o que é crucial para arquiteturas que utilizam a JVM. Dominar os conceitos fundamentais de Scala ajuda a tomar decisões de design mais informadas. Um diploma de bacharel em ciência da computação é normalmente necessário para essa função.
Cientista de Dados
Um Cientista de Dados analisa dados para extrair insights e prever tendências. Este curso, ao introduzir Scala, uma linguagem usada em frameworks de análise de dados como Apache Spark, ajuda a começar a construir um conjunto de habilidades valiosas para esta área. O conhecimento de collections como List, Array, Set, Tuple e Map, junto com a compreensão de recursion, pode ajudar a manipular e processar dados de forma eficiente. Além disso, saber como trabalhar com funções e fluxos de controle em Scala ajuda a escrever scripts de análise de dados mais complexos. O curso aborda a integração com a Java Virtual Machine (JVM), um importante componente em soluções de big data. Este curso é um ótimo ponto de partida para quem deseja se tornar um Cientista de Dados.
Analista de Dados
Como Analista de Dados seu trabalho envolve coletar, tratar e analisar dados para responder a perguntas de negócio. Este curso apresenta a linguagem Scala, o que pode ser útil porque ela é utilizada em frameworks de análise de dados como o Apache Spark, o que ajuda a construir um conjunto de habilidades valiosas. O conhecimento de collections (List, Array, Set, Tuple e Map) junto com recursion, pode ajudar a manipular e tratar dados de forma mais eficiente. Além disso, este curso te ensina functions e fluxos de controle, habilidades que ajudam a escrever scripts de análises de dados mais complexos. O curso também aborda a JVM, um importante componente em soluções de big data.
Desenvolvedor Full-Stack
Um Desenvolvedor Full Stack trabalha tanto no front-end quanto no back-end de aplicações web. Este curso, ao apresentar Scala, que pode ser usada no back-end, ajuda a expandir o leque de tecnologias dominadas. O conhecimento de programação orientada a objetos (OOP) com classes, objetos, herança, traits e case classes, juntamente com a capacidade de lidar com exceções e usar collections de forma eficiente, permite criar aplicações web escaláveis e de fácil manutenção. O curso também menciona a integração com Java, o que é útil para back-ends que utilizam a JVM. Este curso é uma ótima maneira de aprender uma nova linguagem para adicionar ao seu conjunto de ferramentas de desenvolvimento web.
Consultor de Tecnología
O Consultor de Tecnologia oferece orientação estratégica e técnica a empresas para melhorar seus processos e sistemas de tecnologia. Este curso, ao apresentar a linguagem Scala, pode ser útil para entender como essa linguagem pode ser aplicada em diferentes contextos empresariais. O conhecimento das características de Scala, como a combinação de programação orientada a objetos e funcional, a concisão do código e a integração com Java, pode ajudar a recomendar soluções mais eficientes e inovadoras para os clientes. O curso também aborda tópicos como configuração de ambiente, IDEs e tipos de dados, o que permite ter uma visão geral da linguagem e suas aplicações. Este curso pode ser um diferencial para um Consultor de Tecnologia que busca oferecer soluções baseadas em Scala.
Analista de Sistemas
O Analista de Sistemas estuda os sistemas de informação de uma empresa, identificando necessidades e propondo soluções. Este curso, pode ser interessante para entender como Scala pode ser utilizada no desenvolvimento de sistemas e aplicações. O conhecimento das principais características de Scala, como a combinação de programação orientada a objetos e funcional, a capacidade de integração com Java e a concisão do código, pode ajudar a avaliar a viabilidade e o impacto da adoção dessa linguagem em projetos de software. Além disso, o curso aborda tópicos como configuração de ambiente, IDEs e tipos de dados, o que permite ter uma visão geral da linguagem e suas aplicações. Este curso pode ser um diferencial para um Analista de Sistemas que busca propor soluções inovadoras e eficientes.
Engenheiro de Qualidade de Software
O Engenheiro de Qualidade de Software garante a qualidade do software através de testes e validações. Este curso, ao apresentar a linguagem Scala, pode ser útil para criar testes automatizados e frameworks de teste mais eficientes. O conhecimento das características de Scala, como a concisão do código, a capacidade de programação funcional e a integração com Java, pode ajudar a escrever testes mais claros e fáceis de manter, bem como ferramentas para auxiliar no processo de teste. Este curso pode ser útil para um Engenheiro de Qualidade de Software que busca aprimorar suas habilidades e contribuir para a criação de software de alta qualidade.
Especialista em DevOps
Um Especialista em DevOps automatiza e otimiza o ciclo de vida do desenvolvimento de software. Este curso, ao apresentar a linguagem Scala, pode ser útil para criar ferramentas e scripts de automação mais eficientes. O conhecimento das características de Scala, como a concisão do código, a capacidade de programação funcional e a integração com Java, pode ajudar a escrever scripts mais claros e fáceis de manter, bem como ferramentas para integrar diferentes etapas do processo de desenvolvimento. Este curso pode ser útil para um Engenheiro de DevOps que deseje aprimorar suas habilidades e acelerar o desenvolvimento e a entrega de software.
Consultor de Inovação
Um Consultor de Inovação ajuda empresas a implementar novas tecnologias e abordagens para melhorar seus negócios. Este curso, ao apresentar a linguagem Scala, pode ser útil para entender como aplicar essa tecnologia para resolver problemas de negócios. O conhecimento das características de Scala, como a programação orientada a objetos e funcional, a concisão do código e a integração com Java, pode ajudar a identificar oportunidades de inovação e a desenvolver soluções personalizadas. Este curso pode pode ser útil para um Consultor de Inovação que busca estar atualizado com as últimas tecnologias e a oferecer soluções inovadoras.
Administrador de Banco de Dados
O Administrador de Banco de Dados é responsável por instalar, configurar, manter e otimizar bancos de dados. Este curso, ao apresentar a linguagem Scala, pode ser útil entender como interagir com bancos de dados a partir de aplicações desenvolvidas nessa linguagem. O conhecimento das características de Scala, como a capacidade de integração com Java e a concisão do código, pode ajudar a escrever scripts e ferramentas para automatizar tarefas de administração de bancos de dados. Este curso pode ser útil para um Administrador de Banco de Dados que busca expandir suas habilidades e aprender como utilizar Scala para facilitar o gerenciamento de bancos de dados.
Gerente de Projetos de TI
Um Gerente de Projetos de TI supervisiona projetos de tecnologia, garantindo que sejam concluídos no prazo, dentro do orçamento e com os resultados esperados. Este curso, ao apresentar a linguagem Scala, pode ser útil para entender o escopo técnico de projetos que envolvem essa linguagem. O conhecimento das características de Scala, como a combinação de programação orientada a objetos e funcional, a concisão do código e a integração com Java, pode ajudar a avaliar o esforço necessário e os riscos envolvidos em projetos que utilizam essa tecnologia. Este curso pode auxiliar o Gerente de Projetos de TI a tomar decisões mais informadas e a gerenciar projetos com Scala de forma mais eficiente.
Analista de negocios
O Analista de Negócios identifica as necessidades de uma empresa e propõe soluções de tecnologia para atendê-las. Este curso, ao apresentar a linguagem Scala, pode ser útil para entender as possibilidades de utilização dessa tecnologia no desenvolvimento de novas soluções. O conhecimento das características de Scala, como a combinação de programação orientada a objetos e funcional, a concisão do código e a integração com Java, pode ajudar a avaliar o potencial de Scala para atender às necessidades específicas de cada projeto. Este curso pode pode ser útil para um Analista de Negócios que busca estar atualizado com as últimas tecnologias e oferecer soluções mais inovadoras.

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 Dê os Primeiros Passos à Scala Lang de Forma Prática.
Este livro é um guia abrangente da linguagem Scala, escrito por um dos criadores da linguagem. Ele cobre todos os aspectos da Scala, desde os fundamentos até os tópicos mais avançados. É uma excelente referência para entender os detalhes da linguagem e aprofundar seus conhecimentos. Este livro é frequentemente usado como um livro texto em cursos universitários.

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