Logo

JavaScript

JavaScript

Sumário

Introdução

Programação é o processo de escrita, teste e manutenção de um programa. Um programa é escrito em uma linguagem de programação, como Javascript, C, C#, Python e PHP, que permite ao programador instruir o computador como dados são processados, armazenados ou transmitidos através de algoritmos.

Um algoritmo é uma sequência lógica finita de passos para realizar uma tarefa ou resolver um problema. Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. Uma receita culinária é um tipo de algoritmo.

Javascript é a principal linguagem de programação para navegadores web, mas também presente em diversas outras aplicações, como servidores e programas desktop.

Relevância profissional

A capacidade de resolver problemas usando linguagens de programação é a competência primordial e indispensável de um programador. Javascript foi a linguagem escolhida por ter uma sintaxe simples e porque virtualmente todas as aplicações web possuem uma parte escrita nesta linguagem.

Os recursos e as atividades abordam conceitos como manipulação de arrays, strings, números e de elementos HTML. Estes conceitos, que isoladamente geram pouco valor de negócio, ao serem combinados são capazes de criar páginas e sistemas complexos, como o sistema que você construirá no próximo projeto, seu primeiro sistema de cadastros.

Pré-requisitos

Nenhum, porém ter estudado pelo menos parte do projeto #1 te ajudará com os projetos 2, 3 e 4.

*Esse projeto é pré-requisito dos projetos #3, #4 e #5.

Meta de tempo de estudos

  • Invista 40 horas estudando os conteúdos (recomendamos o famoso curso do Guanabara que tem duração anunciada de 40 horas)
  • Realize o projeto 1 (Beecrowd 1) em cerca de 50 horas.
  • Invista outras 20 horas estudando os artigos listados abaixo.
  • Realize o projeto 2 (Leitura de codebases) em cerca de 10 horas.
  • Realize o projeto 3 (Interações no DOM) em cerca de 20 horas.

Projetos

  1. Desafios Beecrowd

    O objetivo do primeiro projeto é te introduzir à criação e estruturação de pequenos códigos.
    Crie uma conta no Beecrowd e resolva os seguintes problemas:

    Neste repositório do GitHub você encontrará, além das respostas dos desafios propostos, códigos de outros desafios que são úteis de serem lidos antes mesmo de iniciar a resolução da lista de exercícios, e ainda uma lista de outros desafios opcionais a serem resolvidos.

  2. Leitura de codebases

    O objetivo desse projeto é te trazer familiaridade com os comandos Javascript e como eles são estruturados em um site real.

    Para isso, você deverá baixar o seguinte repositório que contém os seguintes projetos: calculadora, jogo da memória, jogo da velha, truco e jokenpo. Execute os projetos em seu computador e leia todos seus arquivos.

  3. Interações no DOM

    O objetivo desse projeto é reproduzir as interações mais comuns em diferentes páginas web.

    Essas interações se repetem nos diversos sistemas, não importando se são blogs, lojas ou jogos.

    Resolva os exercícios contidos nessa página.

Sugestões de recursos para estudo

Cursos completos

Todos os cursos à seguir têm conteúdo semelhante, portanto, ao se sentir seguro com o conteúdo, prossiga para as atividades e/ou os artigos.

Artigos

Estude todos os artigos!

Funcionamento do JavaScript

Funções do JavaScript

Document Object Model

Outros

Aprofundamento

  • Extender as codebases visitadas no projeto 2, adicionando as seguintes funcionalidades:

    • jogo da memória:
      • arrumar no firefox;
      • input para colocar nome do jogador atual e manter nome no record.
    • truco 1x1:
      • melhorar visualmente a pontuação e as jogadas feitas;
      • contar número de partidas;
      • trocar alerts.
    • truco game:
      • melhorar a aparência e as jogadas feitas;
      • responsividade;
      • trocar o alert.
    • jokenpo:
      • aceitar também as palavras pedra, papel e tesoura.
    • vanilla-jokenpo:
      • criar um input que troca o número de rounds para vencer.
    • calculadora:
      • (invente algo)
    • jogo da velha:
      • (invente algo)
  • Estude sobre algoritmos e estruturas de dados. Este é um tópico imenso no mundo da computação, mas o conhecimento, ainda que raso, te beneficiará de inúmeras formas.
    • Estrutura de Dados
    • Curso de Algoritmos e Estrutura de Dados
    • Outra opção, é estudar algoritmos e estruturas de dados através de livros como:
      • Entendendo Algoritmos: Um Guia Ilustrado Para Programadores e Outros Curiosos por Aditya Y. Bhargava
      • Cracking the Coding Interview por Gayle Laakmann McDowell
  • Resolva problemas sobre estruturas de dados e algoritmos, de preferência, usando uma outra linguagem de programação, como: C#, Java, PHP, Python, Go ou C.

    Você pode utilizar uma plataforma de exercícios, similar ao Beecrowd, chamada LeetCode. É uma ótima oportunidade para se ambientar com as palavras comuns em programação em Inglês. Existe uma quantidade absurda de exercícios na plataforma, por isso, alguns sites te fornecem uma lista de exercícios separadas por tema como o NeetCode e repositórios como o Awesome LeetCode Resources, que também contém links de recursos de aprendizagem relativos aos desafios.