Certificações ProfissionaisCursos e Qualificações

15 projetos para iniciantes em programação

Veja uma lista com 15 projetos para iniciantes em programação, crie seu portfólio e conquiste vagas!



Em resumo:

  • Alguns dos melhores projetos para iniciantes em programação são: calculadora básica, lista de tarefas, gerador de senhas, jogo de adivinhação de números, relógio digital e conversor de moedas.
  • Também é possível construir um jokenpô, formulário com validação, aplicativo de previsão do tempo, quiz interativo, cronômetro pomodoro, jogo da velha, calculadora IMC, buscador de filmes e um portfólio pessoal.

Quando se trata de programação, a teoria é fundamental, mas é a prática que diferencia um profissional de elite de programadores generalistas.

A regra também vale para quem está dando os primeiros passos na área, afinal, passar meses apenas assistindo a videoaulas sem nunca abrir o editor de código pode cobrar um valor alto na hora de dar vida a projetos reais.

Para te ajudar a se destacar em processos seletivos e realmente absorver a sintaxe das linguagens, a Revista Quero preparou uma seleção com 15 projetos para iniciantes em programação. Confira!

Tela de computador mostrando código de programação em JavaScript com sugestões de funções do React em um editor de código, em referência a Ciência da Computação.

1. Calculadora básica

Um clássico obrigatório para qualquer iniciante. O objetivo é criar um programa que receba dois números do usuário e pergunte qual operação ele deseja realizar.

Teste vocacional

Qual carreira combina com o seu perfil?

Responda as perguntas e descubra o curso certo e as bolsas ideais para você!

O segredo para construir esse projeto é utilizar estruturas condicionais (if/else ou switch) para identificar a escolha do usuário e chamar funções separadas para a matemática, mantendo o código limpo.

Veja no exemplo abaixo como você pode isolar essa lógica usando funções:

# Exemplo de isolamento lógico usando funções (Python)
def somar(a, b):
    return a + b

def dividir(a, b):
    if b != 0:
        return a / b
    return "Erro: divisão por zero"

2. Lista de tarefas (To-Do List)

Toda aplicação moderna é, no fundo, baseada no conceito de CRUD (operações básicas de banco de dados).

Uma lista de tarefas é o projeto perfeito para treinar essa arquitetura no Front-end, manipulando listas (arrays) e o DOM do navegador.

Confira na tabela a seguir como as operações CRUD se aplicam na prática à sua lista de tarefas:

Operação CRUDComo se aplica na Lista de TarefasLógica necessária
Create (Criar)Adicionar nova tarefa.Capturar o texto do input e dar um .push() no array.
Read (Ler)Exibir as tarefas na tela.Iterar sobre o array e renderizar o HTML na página.
Update (Atualizar)Marcar como concluída.Alterar o status booleano da tarefa e riscar o texto.
Delete (Deletar)Remover item da lista.Criar um botão “X” que retira o item do array (.splice()).

3. Gerador de senhas aleatórias

Para criar um gerador de senhas, você precisará armazenar um “banco de caracteres” e utilizar um laço de repetição atrelado a uma função nativa de aleatoriedade para ir sorteando e juntando as letras.

Acompanhe um exemplo conceitual de como montar esse banco de caracteres no seu código:

JavaScript

// Exemplo conceitual do banco de caracteres (JavaScript)
const letras = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
const numeros = "0123456789";
const simbolos = "!@#$%^&*()";

// A lógica exigirá um loop (for) que use Math.random() para pinçar caracteres dessas strings.

4. Jogo de adivinhação de números

Um projeto divertido para treinar interações sucessivas. O computador deve gerar um número aleatório de 1 a 100.

O usuário faz um palpite, e você deve encapsular a verificação dentro de um laço de repetição.

A cada tentativa, o seu código deve usar operadores relacionais para guiar o jogador:

Se palpite > numeroSecreto: imprima “Tente um número menor.”

Se palpite < numeroSecreto: imprima “Tente um número maior.”

Se palpite == numeroSecreto: encerre o jogo e mostre a vitória.

5. Relógio digital

Se você está estudando Front-end, construir um relógio digital animado é um ótimo rito de passagem.

Após desenhar a interface, você precisará invocar o objeto de data nativo da sua linguagem para extrair hora, minuto e segundo.

O “pulo do gato” é forçar a tela a se atualizar automaticamente usando temporizadores. Veja como essa função funciona:

JavaScript

// A função nativa setInterval é quem faz o relógio "bater" a cada 1 segundo (1000ms)
setInterval(atualizarRelogio, 1000);

6. Conversor de medidas ou moedas

O projeto exige a criação de campos de entrada e menus suspensos. A lógica por trás consiste em multiplicar o valor inserido pelas taxas correspondentes.

Para não se perder em milhares de ifs, você pode guardar as taxas de conversão em um objeto ou dicionário estruturado.

Veja na tabela abaixo a lógica matemática esperada para cada conversão:

Moeda de OrigemMoeda de DestinoCálculo Matemático
Dólar (USD)Real (BRL)Valor * Taxa do Dólar
Euro (EUR)Real (BRL)Valor * Taxa do Euro
Real (BRL)Dólar (USD)Valor / Taxa do Dólar

7. Jogo pedra, papel e tesoura

O tradicional “Jokenpô” é excelente para treinar estruturas condicionais aninhadas e operadores lógicos do tipo “E” (&&).

O desafio técnico aqui é mapear corretamente todas as combinações de vitória em vez de escrever um código redundante.

Veja um exemplo de como estruturar essas regras lógicas:

Escolha do UsuárioEscolha do PCVencedorOperador Lógico Necessário
PedraTesouraUsuárioif (user == 'Pedra' && pc == 'Tesoura')
PapelPedraUsuárioif (user == 'Papel' && pc == 'Pedra')
TesouraPapelUsuárioif (user == 'Tesoura' && pc == 'Papel')

8. Formulário de cadastro com validação

Formulários são a base da captação de usuários na web, mas não podem aceitar dados incorretos. É para isso que existe a validação, e você pode criar esse processo.

Utilizando JavaScript, é preciso interceptar o clique no botão de envio para impedir que a página recarregue à toa.

Depois, crie regras lógicas: verificar se a senha tem mais de 8 caracteres e se o e-mail contém um “@”.

Confira no bloco abaixo um exemplo estrutural de como interceptar esse envio:

// Exemplo estrutural de interceptação de formulário
formulario.addEventListener('submit', function(event) {
    // Impede o envio para realizar a validação primeiro
    event.preventDefault(); 
    
    // Insira a lógica de if/else para validar os campos aqui
});

9. Aplicativo de previsão do tempo

Para colocar esse projeto em prática, você precisa conseguir uma chave gratuita na API do OpenWeatherMap. O seu código deverá fazer uma requisição de rede para buscar o clima de uma cidade.

É preciso saber lidar com o pacote de dados recebido (chamado JSON) e extrair apenas a informação necessária. Veja abaixo como a API devolve esses dados e como você deve acessá-los:

JSON

// Exemplo de como a API devolve os dados (JSON). 
// Você precisará acessar: resposta.main.temp
{
  "name": "São Paulo",
  "weather": [{"main": "Clouds", "description": "nuvens dispersas"}],
  "main": {
    "temp": 24.5,
    "humidity": 60
  }
}

10. Quiz interativo de perguntas e respostas

Crie um jogo de múltipla escolha com pontuação final. O segredo aqui é a organização.

Em vez de criar dezenas de variáveis soltas, crie uma estrutura de dados robusta, como uma lista de objetos, onde cada bloco guarda todas as informações de uma única pergunta.

O código apenas precisará percorrer essa lista dinamicamente.

11. Cronômetro pomodoro

A técnica Pomodoro (foco de 25 min, pausa de 5 min) introduz o conceito de “gerenciamento de estado”.

O seu código precisará de uma variável booleana (true ou false) atuando como uma chave, para que o sistema saiba qual é a cor e o tempo que devem ser renderizados na tela dependendo da fase atual:

  • Estado: isTrabalho = true ➔ Relógio inicia em 25:00. Fundo da tela vermelho.
  • Estado: isTrabalho = false ➔ Relógio inicia em 05:00. Fundo da tela verde.

12. Jogo da velha (Tic-Tac-Toe)

Um desafio clássico para o pensamento espacial. O tabuleiro é, na programação, uma matriz (um array bidimensional, ou seja, listas dentro de uma lista principal).

A lógica exige que você verifique as posições dos índices [linha][coluna] para saber se alguém fechou a fileira. Veja na tabela abaixo como essas posições funcionam dentro da grade:

Coluna 0Coluna 1Coluna 2
[0][0][0][1][0][2]
[1][0][1][1][1][2]
[2][0][2][1][2][2]

13. Calculadora de IMC (Índice de Massa Corporal)

Nesse projeto, o programador deve estruturar um sistema que considera o peso e altura inseridas pelo usuário para calcular seu Índice de Massa Corporal.

Para isso, use uma cadeia de if / else if para classificar o resultado. Mude as cores do texto dependendo da classificação médica oficial, como no esquema a seguir:

Resultado (IMC)ClassificaçãoAção visual sugerida
Menor que 18,5MagrezaTexto em amarelo
Entre 18,5 e 24,9NormalTexto em verde
Entre 25,0 e 29,9SobrepesoTexto em laranja
Acima de 30,0ObesidadeTexto em vermelho

14. Buscador de filmes

Semelhante ao aplicativo de clima, mas voltado para o consumo de imagens e dados de entretenimento.

A dinâmica começa com a interação do usuário: você precisará criar um campo de texto (input) onde ele digitará o nome do filme e um botão de busca.

Ao interceptar o clique desse botão, o seu código utilizará requisições assíncronas (async/await) para enviar o título digitado à API gratuita do OMDb.

Veja no exemplo abaixo como estruturar a captura do input e a chamada à API:

// Exemplo conceitual do fluxo de busca
async function buscarFilme() {
// 1. Captura o nome do filme digitado pelo usuário
const titulo = document.getElementById('inputFilme').value;

// 2. Faz a requisição na API enviando o título
const resposta = await fetch(`https://www.omdbapi.com/?t=${titulo}&apikey=SUA_CHAVE`);
const dados = await resposta.json();

// 3. Injeta a imagem devolvida pela API na tag  do HTML
document.getElementById('poster').src = dados.Poster; }

15. Portfólio Pessoal

O projeto definitivo: a sua casa na internet e o seu principal cartão de visitas. A construção começa pela estruturação semântica do HTML, dividindo a página em cabeçalho de apresentação, uma seção “Sobre mim”, uma galeria visual e os links de contato.

Em seguida, entra o CSS para personalizar a página com a sua identidade visual e garantir a responsividade.

Na seção da galeria, você deve criar cards para listar os 14 projetos anteriores, inserindo prints das telas e criando links diretos para os seus repositórios.

A etapa final é tirar o site da sua máquina local e hospedá-lo em um servidor, gerando uma URL pública para que os recrutadores possam acessar o seu trabalho.

Duas excelentes opções gratuitas para fazer isso são:

Plataforma GratuitaIndicaçãoComo funciona
GitHub PagesProjetos estáticos (HTML/CSS/JS)Puxa o site direto do seu repositório.
VercelProjetos modernos e FrameworksIdeal para hospedar aplicações em React, Vue e Next.js.

Construa sua carreira em tecnologia com formações alinhadas ao mercado

Se você quer ingressar ou crescer no mercado de tecnologia, a Allevo Tech oferece formações práticas em áreas de alta demanda, como Engenharia de Software, Ciência de Dados e Inteligência Artificial.

As trilhas são estruturadas para desenvolver competências técnicas e preparar você para os desafios do mercado de trabalho.

Clique no botão abaixo e conheça as formações da Allevo Tech que podem impulsionar a sua trajetória profissional.

Logo do Querobolsa

Gostando da matéria?

Inscreva-se e receba nossos principais posts no seu e-mail

Banner FOQA Últimas Notícias

Revista Vídeos

As profissões mais bem pagas em 2026

Postado em 31/03/2026

Como estudar pro ENEM 2026 do ZERO

Postado em 23/04/2026


Pronto para estudar pagando menos?

Bolsas de até 80% de desconto em milhares de faculdades por todo o Brasil.
Encontrar minha bolsa