Learn to code · Aprender a programar
Code · Código
Write real code and see it run — HTML, CSS, Python, Java, C, SQL, LaTeX, and Linux — with nothing to install. · Escreva código real e veja-o rodar — HTML, CSS, Python, Java, C, SQL, LaTeX e Linux — sem precisar instalar nada.
17 coursesHTML/CSS · Python · Java · C · SQL · LaTeX · LinuxRuns in your browser · Roda no seu navegador
Today's work · Trabalho de hoje
Foundations · Fundamentos
Python Basics · Noções Básicas de Python
Your very first steps in programming — no experience needed. · Seus primeiros passos na programação — nenhuma experiência necessária.
22 Lessons · Lições
Python Basics · Noções Básicas de Python
Your very first steps in programming — no experience needed. · Seus primeiros passos na programação — nenhuma experiência necessária.
Course overview and progress →
00
Run it! · Execute!
Your first program · Seu primeiro programa
Variables · Variáveis
Numbers & operators · Números & operadores
Getting input · Obtendo entrada
Working with strings · Trabalhando com strings
Project: Mad Libs · Projeto: Mad Libs
Making decisions · Tomando decisões
Counting loops · Laços de contagem
While loops · Laços While
Project: Guess the number · Projeto: Adivinhe o número
Lists (1-D arrays) · Listas (arrays 1-D)
Project: Quiz with a score · Projeto: Quiz com pontuação
Functions · Funções
Project: Rock, paper, scissors · Projeto: Pedra, papel, tesoura
Scope & arguments · Escopo e argumentos
Dictionaries (records) · Dicionários (registros)
Project: Text adventure · Projeto: Aventura de texto
Planning & pseudocode · Planejamento e pseudocódigo
Errors & testing · Erros e testes
Putting it all together · Juntando tudo
Project: Hangman · Projeto: Forca
A short history of Python · Uma breve história do Python
What Python is used for · Para que Python é usado
Where to learn more · Onde aprender mais
Set up your computer · Configure seu computador
Where to learn more · Onde aprender mais
- freeCodeCamp — Learn Python · freeCodeCamp — Aprenda Python Free, hands-on Python certification · Certificação gratuita e prática de Python
- PyChallenger Learn Python by solving bite-size challenges · Aprenda Python resolvendo desafios curtos
- CodeCombat Learn to code by playing a real game · Aprenda a programar jogando um jogo real
- Official Python Tutorial · Tutorial Oficial do Python The clear, free, step-by-step intro from python.org · A introdução clara, gratuita e passo a passo do python.org
- Python for Everybody (free course) · Python for Everybody (curso gratuito) A beloved beginner course by Dr. Chuck · Um curso querido para iniciantes do Dr. Chuck
- Visual Studio Code The free editor for writing Python on your own computer · O editor gratuito para escrever Python no seu próprio computador
- A-Level Computer Science (this site) · A-Level Computer Science (este site) Take Python further, toward the Cambridge exam · Aprofunde-se em Python, rumo ao exame Cambridge
- AP CS Principles (this site) · AP CS Principles (este site) The big ideas of computing, in Python · As grandes ideias da computação, em Python
JavaScript
The language of the web. Make things happen — runs right in your browser. · A linguagem da web. Faça coisas acontecerem — roda direto no seu navegador.
15 Lessons · Lições
JavaScript
The language of the web. Make things happen — runs right in your browser. · A linguagem da web. Faça coisas acontecerem — roda direto no seu navegador.
Course overview and progress →
A short history of JavaScript · Uma breve história do JavaScript
What JavaScript is used for · Para que JavaScript é usado
Where to learn more · Onde aprender mais
Run JavaScript anywhere · Execute JavaScript em qualquer lugar
console.log and comments · console.log e comentários
Variables — let and const · Variáveis — let e const
Numbers and maths · Números e matemática
Strings
Template literals
Booleans and comparisons · Booleans e comparações
if / else
for loops · loops for
while loops · loops while
Functions · Funções
Arrow functions · Funções de seta
Arrays · Matrizes
Array methods · Métodos de Matriz
Objects · Objetos
Putting it together · Juntando tudo
Where to learn more · Onde aprender mais
- Web Basics — HTML & CSS (this site) · Noções Básicas Web — HTML & CSS (este site) Build the page; JavaScript makes it move · Construa a página; JavaScript a faz se mover
- MDN — JavaScript The reference every web developer uses · A referência que todo desenvolvedor web usa
C Programming · Programação em C
From printf to pointers, memory, and data structures — compile and run in your browser. · De printf a ponteiros, memória e estruturas de dados — compile e execute no seu navegador.
23 Lessons · Lições
C Programming · Programação em C
From printf to pointers, memory, and data structures — compile and run in your browser. · De printf a ponteiros, memória e estruturas de dados — compile e execute no seu navegador.
Course overview and progress →
A short history of C · Uma breve história do C
What C is used for · Para que o C é usado
Where to learn more · Onde aprender mais
Set up your computer · Configure seu computador
C basics: main, printf, and functions · Básicos de C: main, printf e funções
Variables, types, and arithmetic · Variáveis, tipos e aritmética
Booleans and selection: if, else, switch · Booleans e seleção: if, else, switch
Loops: while, for, and accumulation · Laços: while, for e acumulação
Functions, parameters, and return values · Funções, parâmetros e valores de retorno
Nested loops and patterns · Loops aninhados e padrões
1-D arrays: store, index, and traverse · Arrays 1-D: armazenar, indexar e percorrer
Pointers: &, *, and pass-by-pointer · Ponteiros: &, *, e passed-by-pointer
Strings: char arrays and the null terminator · Strings: arrays de chars e terminador nulo
Array algorithms: max, count, search, average · Algoritmos de array: max, count, search, average
2-D arrays: working with a grid · Arrays 2-D: trabalhando com uma grade
Searching: linear and binary · Busca: linear e binária
Sorting: bubble, selection, and insertion · Ordenação: bubble, selection e insertion
Recursion: base case and recursive case · Recursão: caso base e caso recursivo
Structs and typedef: . vs -> · Structs e typedef: . vs ->
Dynamic memory: malloc, free, and realloc · Memória dinâmica: malloc, free e realloc
Linked lists · Listas ligadas
Stacks and queues (array-backed) · Pilhas e filas (backed por array)
Text files: write then read · Arquivos de texto: escrever depois ler
Error handling with return codes · Tratamento de erros com códigos de retorno
Bits, binary, and bitwise operators · Bits, binário e operadores bitwise
Run-length encoding (compression) · Codificação por repetição (compressão)
Preprocessor, const, static, and enum · Pré-processador, const, static e enum
Where to learn more · Onde aprender mais
- Learn-C.org Free, hands-on C lessons you run in the browser · Lições gratuitas e práticas de C que você executa no navegador
- Exercism — C track · Exercism — trilha C Small exercises with friendly mentor feedback · Pequenos exercícios com feedback amigável de mentores
- HackerRank — C Practice problems, from easy to hard · Problemas de prática, do fácil ao difícil
- cppreference — C The careful, free reference for every C function · A referência cuidadosa e gratuita para toda função C
- The C Programming Language (K&R) The classic book by the makers of C · O livro clássico dos criadores do C
- Visual Studio Code The free editor for writing C on your own computer · O editor gratuito para escrever C no seu próprio computador
- C practice problems (this site) · Problemas de prática em C (este site) Extra C challenges to test yourself · Desafios extras de C para testar seus conhecimentos
- AP CS A (this site) · AP CS A (este site) Learn Java, another close cousin of C · Aprenda Java, outro primo próximo do C
Web Basics — HTML & CSS · Noções de Web — HTML & CSS
Start from zero. Short steps. Build a real web page. · Comece do zero. Passos curtos. Construa uma página web real.
21 Lessons · Lições
Web Basics — HTML & CSS · Noções de Web — HTML & CSS
Start from zero. Short steps. Build a real web page. · Comece do zero. Passos curtos. Construa uma página web real.
Course overview and progress →
A short history of the web · Uma breve história da web
What a web page is made of · Do que uma página web é composta
Where to learn more · Onde aprender mais
What you need (almost nothing) · O que você precisa (quase nada)
Your first web page · Sua primeira página web
Headings and paragraphs · Títulos e parágrafos
Bold, italic and line breaks · Negrito, itálico e quebras de linha
Lists · Listas
Links
Images · Imagens
Make it a real page · Torne isso uma página real
Comments and neat nesting · Comentários e aninhamento limpo
Tables · Tabelas
Forms · Formas
Boxes and sections · Caixas e seções
Add some style · Adicione algum estilo
Selectors — class and id · Selectores — class e id
Colours and backgrounds · Cores e fundos
Styling text · Estilizando texto
The box model · O modelo de caixa
Spacing — margin and padding · Espaçamento — margin e padding
Showing and hiding (display) · Mostrando e ocultando (display)
Width and centering · Largura e centralização
Rows with Flexbox · Linhas com Flexbox
Mini-project: a profile card · Mini-projeto: um card de perfil
Where to learn more · Onde aprender mais
- MDN — Learn web development · MDN — Aprenda desenvolvimento web The clear, free reference from Mozilla · A referência clara e gratuita da Mozilla
- web.dev — Learn HTML · web.dev — Aprenda HTML A free, modern HTML course from Google · Um curso gratuito e moderno de HTML do Google
- web.dev — Learn CSS · web.dev — Aprenda CSS A free, modern CSS course from Google · Um curso gratuito e moderno de CSS do Google
- freeCodeCamp — Responsive Web Design · freeCodeCamp — Design Web Responsivo Free, hands-on HTML + CSS certification · Certificação gratuita prática de HTML + CSS
- W3Schools — HTML Tutorial · W3Schools — Tutorial de HTML Try-it-yourself examples for every tag · Exemplos tente-e-faça para cada tag
- Python Basics (this site) · Noções de Python (este site) New to coding? Try Python next · Novo em programação? Tente Python agora
Exam courses · Cursos de Exame
Python for IGCSE CS · Python para IGCSE CS
Programming, algorithms, databases and logic for Cambridge IGCSE 0478. · Programação, algoritmos, bancos de dados e lógica para Cambridge IGCSE 0478.
14 Lessons · Lições
Python for IGCSE CS · Python para IGCSE CS
Programming, algorithms, databases and logic for Cambridge IGCSE 0478. · Programação, algoritmos, bancos de dados e lógica para Cambridge IGCSE 0478.
Course overview and progress →
Sequence, input & output · Sequência, entrada e saída
Variables, constants & data types · Variáveis, constantes e tipos de dados
Selection — IF and CASE · Seleção — IF e CASE
Iteration — loops · Iteração — laços
Totalling & counting · Somatório e contagem
Procedures & functions · Procedimentos e funções
Validation & verification · Validação e verificação
1-D arrays (lists) · Arrays 1-D (listas)
2-D arrays · Arrays 2-D
Searching & max / min · Busca & max / min
Bubble sort · Ordenação por bolha
Text files · Arquivos de texto
Databases & SQL · Bancos de dados e SQL
Boolean logic & truth tables · Lógica booleana e tabelas-verdade
Where to learn more · Onde aprender mais
- IGCSE CS handouts (this site) · Materiais de apoio IGCSE CS (este site) Read the theory behind these topics — exam revision · Leia a teoria por trás destes tópicos — revisão de exame
- IGCSE CS Pseudocode (this site) · Pseudocódigo IGCSE CS (este site) The 0478 exam writes algorithms in pseudocode — practise it here · O exame 0478 escreve algoritmos em pseudocódigo — pratique aqui
- Cambridge IGCSE Computer Science 0478 The official syllabus and past papers · O programa oficial e provas anteriores
IGCSE CS Pseudocode · Pseudocódigo IGCSE CS
Write and run the pseudocode in the Cambridge IGCSE 0478 syllabus for 2026, 2027 and 2028. · Escreva e execute o pseudocódigo no currículo Cambridge IGCSE 0478 para 2026, 2027 e 2028.
19 Lessons · Lições
IGCSE CS Pseudocode · Pseudocódigo IGCSE CS
Write and run the pseudocode in the Cambridge IGCSE 0478 syllabus for 2026, 2027 and 2028. · Escreva e execute o pseudocódigo no currículo Cambridge IGCSE 0478 para 2026, 2027 e 2028.
Course overview and progress →
OUTPUT and sequence · SAÍDA e sequência
Variables, DECLARE and CONSTANT · Variáveis, DECLARE e CONSTANT
INPUT and data types · INPUT e tipos de dados
Arithmetic, DIV and MOD · Aritmética, DIV e MOD
Selection: IF · Seleção: IF
Selection: CASE · Seleção: CASE
Iteration: FOR · Iteração: FOR
Iteration: WHILE and REPEAT · Iteração: WHILE e REPEAT
String handling · Manipulação de strings
1-D arrays · Arrays 1-D
2-D arrays · Arrays 2-D
Procedures · Procedimentos
Functions · Funções
Putting it together · Juntando tudo
Text files · Arquivos de texto
16
Logic: AND, OR, NOT · Lógica: AND, OR, NOT
17
Nested decisions · Decisões aninhadas
18
ROUND, RANDOM and a trace · ROUND, RANDOM e uma traçagem
19
Bubble sort · Ordenação por bolha
Where to learn more · Onde aprender mais
- Pseudocode handout (this site) · Folha de pseudocódigo (este site) The 0478 appendix for 2026–2028, with every example runnable · O apêndice 0478 para 2026–2028, com cada exemplo executável
- Python for IGCSE CS (this site) · Python para IGCSE CS (este site) The same ideas, written in Python you can run · As mesmas ideias, escritas em Python para você executar
- IGCSE CS handouts (this site) · Materiais de apoio IGCSE CS (este site) Algorithm design and programming theory · Teoria de projeto de algoritmos e programação
- AS-level CS Pseudocode (this site) · Pseudocódigo de CS Nível AS (este site) The 9618 guide, for the AS paper — different rules · O guia 9618, para a prova AS — regras diferentes
Python for A-Level CS · Python para CS Nível A
Data structures, algorithms, and OOP for Cambridge 9618. · Estruturas de dados, algoritmos e POO para Cambridge 9618.
15 Lessons · Lições
Python for A-Level CS · Python para CS Nível A
Data structures, algorithms, and OOP for Cambridge 9618. · Estruturas de dados, algoritmos e POO para Cambridge 9618.
Course overview and progress →
Nested loops & 2-D lists · Loops aninhados & Listas 2-D
Text files · Arquivos de texto
Exceptions · Exceções
Stacks · Pilhas
Queues · Filas
Linked lists · Listas ligadas
Searching · Busca
Sorting · Ordenação
Recursion · Recursão
Classes & objects · Classes e objetos
Inheritance & encapsulation · Herança e encapsulamento
Programming paradigms · Paradigmas de programação
Hash tables · Tabelas hash
Binary search trees · Árvores binárias de busca
Graphs · Grafos
Where to learn more · Onde aprender mais
- AS-level CS Pseudocode (this site) · Pseudocódigo de CS Nível AS (este site) The 9618 exam writes algorithms in pseudocode — practise it here · Os exames 9618 escrevem algoritmos em pseudocódigo — pratique aqui
- Pseudocode handout (this site) · Folha de pseudocódigo (este site) Every construct, and where 9618 differs from 0478 · Todas as construções, e onde 9618 difere do 0478
- A-Level CS handouts (this site) · Folhas de trabalho de CS Nível A (este site) Read the theory behind these topics — exam revision · Leia a teoria por trás destes tópicos — revisão de exame
AS-level CS Pseudocode · Pseudocódigo CS nível AS
Write and run the pseudocode in the Cambridge 9618 guide for exams in 2026, and for 2027, 2028 and 2029. · Escreva e execute o pseudocódigo no guia Cambridge 9618 para exames de 2026, e para 2027, 2028 e 2029.
19 Lessons · Lições
AS-level CS Pseudocode · Pseudocódigo CS nível AS
Write and run the pseudocode in the Cambridge 9618 guide for exams in 2026, and for 2027, 2028 and 2029. · Escreva e execute o pseudocódigo no guia Cambridge 9618 para exames de 2026, e para 2027, 2028 e 2029.
Course overview and progress →
OUTPUT and sequence · SAÍDA e sequência
Variables and DECLARE · Variáveis e DECLARE
Types and constants · Tipos e constantes
Arithmetic, DIV and MOD · Aritmética, DIV e MOD
Selection: IF · Seleção: IF
Selection: CASE · Seleção: CASE
Iteration: FOR · Iteração: FOR
Iteration: WHILE and REPEAT · Iteração: WHILE e REPEAT
String handling · Manipulação de strings
1-D arrays · Arrays 1-D
2-D arrays · Arrays 2-D
Procedures and BYREF · Procedimentos e BYREF
Functions · Funções
Records · Registros
Text files · Arquivos de texto
Putting it together · Juntando tudo
17
Linear search and bubble sort · Busca linear e ordenação bolha
18
Built-in functions from the insert · Funções embutidas do insert
19
Logic: AND, OR, NOT · Lógica: AND, OR, NOT
Where to learn more · Onde aprender mais
- Pseudocode handout (this site) · Folha de pseudocódigo (este site) Topic 11 is where the 9618 guide differs from IGCSE 0478 · Tópico 11 é onde o guia 9618 difere do IGCSE 0478
- Python for A-Level CS (this site) · Python para A-Level CS (este site) The same ideas, written in Python you can run · As mesmas ideias, escritas em Python para você executar
- A-Level CS handouts (this site) · Folhas de trabalho de CS Nível A (este site) Programming and data structures for 9618 · Programação e estruturas de dados para 9618
- IGCSE CS Pseudocode (this site) · Pseudocódigo IGCSE CS (este site) The 0478 rules for 2026–2028 — they are not the same · As regras 0478 para 2026–2028 — elas não são as mesmas
Python for AP CS Principles · Python para AP CS Principles
Big ideas of computing — data, algorithms, the Internet, and impact. · Grandes ideias da computação — dados, algoritmos, Internet e impacto.
15 Lessons · Lições
Python for AP CS Principles · Python para AP CS Principles
Big ideas of computing — data, algorithms, the Internet, and impact. · Grandes ideias da computação — dados, algoritmos, Internet e impacto.
Course overview and progress →
What computing is · O que é computação
Bits and binary · Bits e binário
Data compression · Compressão de dados
Variables and expressions · Variáveis e expressões
Lists and data abstraction · Listas e abstração de dados
Selection · Seleção
Iteration · Iteração
Procedures and abstraction · Procedimentos e abstração
Algorithms: searching · Algoritmos: busca
Randomness and simulation · Aleatoriedade e simulação
Algorithmic efficiency · Eficiência algorítmica
The Internet and how data travels · A Internet e como os dados viajam
Parallel and distributed computing · Computação paralela e distribuída
Impact of computing · Impacto da computação
The Create Performance Task (guided) · Tarefa de Criação de Desempenho (orientada)
Java for AP CS A · Java para AP CS A
Java programming for the AP Computer Science A exam. · Programação Java para o exame AP Computer Science A.
19 Lessons · Lições
Java for AP CS A · Java para AP CS A
Java programming for the AP Computer Science A exam. · Programação Java para o exame AP Computer Science A.
Course overview and progress →
A short history of Java · Uma breve história do Java
What Java is used for · Para que Java é usado
Where to learn more · Onde aprender mais
Set up your computer · Configure seu computador
Java basics: classes, main, and output · Básicos de Java: classes, main e saída
Using objects: String, Math, and wrappers · Usando objetos: String, Math e wrappers
Booleans and selection: if/else and logic · Booleans e seleção: if/else e lógica
Loops: while, for, and accumulation · Laços: while, for e acumulação
Strings and nested loops · Strings e laços aninhados
Writing a class: fields, constructor, methods · Escrevendo uma classe: campos, construtor, métodos
Encapsulation: private fields, getters, setters · Encapsulamento: campos privados, getters, setters
1-D arrays: store, index, and traverse · Arrays 1-D: armazenar, indexar e percorrer
Array algorithms: max, count, search, average · Algoritmos de array: max, count, search, average
ArrayList: a list that grows · ArrayList: uma lista que cresce
ArrayList algorithms: filter and the remove bug · Algoritmos de ArrayList: filtro e o bug de remove
2-D arrays: working with a grid · Arrays 2-D: trabalhando com uma grade
Searching: linear and binary · Busca: linear e binária
Sorting: selection and insertion sort · Ordenação: selection sort e insertion sort
Recursion: base case and recursive case · Recursão: caso base e caso recursivo
Text files: write and read with Scanner · Arquivos de texto: escrever e ler com Scanner
Inheritance: extends, super, and overriding · Herança: extends, super, e overriding
Polymorphism: dynamic dispatch and toString() · Polimorfismo: dispatch dinâmico e toString()
FRQ workshop: the 4 question types · Workshop FRQ: os 4 tipos de questões
Where to learn more · Onde aprender mais
- Exercism — Java track · Exercism — trilha Java Free coding exercises with friendly feedback · Exercícios de codificação gratuitos com feedback amigável
- CodinGame Learn Java by solving fun coding games · Aprenda Java resolvendo jogos de codificação divertidos
- HackerRank — Java Short challenges, from easy to hard · Desafios curtos, do fácil ao difícil
- dev.java (official) · dev.java (oficial) The official Java site, with clear guides for learners · O site oficial do Java, com guias claros para aprendizes
- The Java Tutorials · Os Tutoriais do Java Oracle's step-by-step lessons · Lições passo a passo da Oracle
- Visual Studio Code The free editor for writing Java on your own computer · O editor gratuito para escrever Java no seu próprio computador
- Java practice problems (this site) · Problemas de prática Java (este site) Exam-style questions to test your Java · Questões estilo exame para testar seu Java
- AP CS Principles (this site) · AP CS Principles (este site) The big ideas of computing, in Python · As grandes ideias da computação, em Python
Topics & tools · Tópicos e ferramentas
Databases & SQL · Bancos de dados e SQL
Query, design, and change relational databases — right in your browser, no setup. · Consulte, desenhe e altere bancos de dados relacionais — direto no seu navegador, sem configuração.
17 Lessons · Lições
Databases & SQL · Bancos de dados e SQL
Query, design, and change relational databases — right in your browser, no setup. · Consulte, desenhe e altere bancos de dados relacionais — direto no seu navegador, sem configuração.
Course overview and progress →
A short history of SQL · Uma breve história do SQL
What SQL is used for · Para que o SQL é usado
Where to learn more · Onde aprender mais
Set up your computer · Configure seu computador
Databases and SELECT · Bancos de dados e SELECT
Choosing columns · Escolhendo colunas
Filtering with WHERE · Filtrando com WHERE
AND, OR, NOT
Sorting with ORDER BY · Ordenação com ORDER BY
Counting and averaging · Contagem e média
LIKE, IN and BETWEEN · LIKE, IN e BETWEEN
Grouping with GROUP BY · Agrupamento com GROUP BY
Tables, keys and relationships · Tabelas, chaves e relacionamentos
INNER JOIN
Joins with grouping · Junções com agrupamento
Creating tables · Criando tabelas
Changing the schema · Alterando o esquema
Inserting rows · Inserindo linhas
Updating rows · Atualizando linhas
Deleting rows · Apagando linhas
Normalisation · Normalização
Where to learn more · Onde aprender mais
- SQLBolt Learn SQL step by step with interactive exercises · Aprenda SQL passo a passo com exercícios interativos
- SQLZoo Practice real queries on real tables in your browser · Pratique consultas reais em tabelas reais no seu navegador
- Mode SQL Tutorial A friendly, hands-on tutorial from basic to advanced · Um tutorial amigável e prático, do básico ao avançado
- W3Schools SQL Short, clear pages for every SQL keyword · Páginas curtas e claras para cada palavra-chave SQL
- PostgreSQL Tutorial A thorough guide using a popular database · Um guia completo usando um banco de dados popular
- SQLite documentation · Documentação do SQLite The official docs for the database this course uses · Os documentos oficiais do banco de dados usado neste curso
- A-Level Computer Science (this site) · A-Level Computer Science (este site) Includes a unit on databases and SQL · Inclui uma unidade sobre bancos de dados e SQL
Linux & the command line · Linux e a linha de comando
Drive a computer by typing. Practise real shell commands in a safe in-browser terminal. · Controle um computador digitando. Pratique comandos reais de shell em um terminal seguro no navegador.
14 Lessons · Lições
Linux & the command line · Linux e a linha de comando
Drive a computer by typing. Practise real shell commands in a safe in-browser terminal. · Controle um computador digitando. Pratique comandos reais de shell em um terminal seguro no navegador.
Course overview and progress →
What is Linux? · O que é Linux?
Why learn the command line? · Por que aprender a linha de comando?
Helpful resources · Recursos úteis
Get a real terminal · Obtenha um terminal real
01
The shell and the prompt · O shell e o prompt
02
Moving around · Navegando
03
Reading files · Lendo arquivos
04
Creating and removing · Criando e removendo
05
Wildcards · Coringas
06
Saving output to files · Salvando saída em arquivos
07
Pipes — joining commands · Pipes — unindo comandos
08
Searching with grep · Buscando com grep
09
Finding files with find · Encontrando arquivos com find
10
Sorting and columns · Ordenando e colunas
11
File permissions · Permissões de arquivo
12
Users and sudo · Usuários e sudo
13
Programs and processes · Programas e processos
14
Software, settings, next steps · Software, configurações, próximos passos
Where to learn more · Onde aprender mais
- explainshell Paste a command, see what every part does · Cole um comando, veja o que cada parte faz
- The man pages · As páginas man The official manual for every command · O manual oficial para cada comando
- tldr pages · páginas tldr Short, practical examples instead of long manuals · Exemplos curtos e práticos em vez de manuais longos
- OverTheWire: Bandit Learn the shell by playing a hacking game · Aprenda o shell jogando um jogo de hacking
- Linux Journey A friendly, free Linux course · Um curso amigável e gratuito de Linux
LaTeX
Typeset beautiful documents and maths — write LaTeX, compile on our servers, see the PDF. · Componha belos documentos e expressões matemáticas — escreva LaTeX, compile em nossos servidores, veja o PDF.
14 Lessons · Lições
LaTeX
Typeset beautiful documents and maths — write LaTeX, compile on our servers, see the PDF. · Componha belos documentos e expressões matemáticas — escreva LaTeX, compile em nossos servidores, veja o PDF.
Course overview and progress →
What is LaTeX? · O que é LaTeX?
Where LaTeX is used · Onde o LaTeX é usado
Helpful resources · Recursos úteis
Use LaTeX on your own computer · Use LaTeX no seu próprio computador
01
Your first document · Seu primeiro documento
02
Sections and titles · Seções e títulos
03
Bold, italic and emphasis · Negrito, itálico e ênfase
04
Bulleted and numbered lists · Listas com marcadores e numeradas
05
Maths — your first formula · Matemática — sua primeira fórmula
06
Fractions, roots and sums · Frações, raízes e somas
07
Aligning equations · Alinhamento de equações
08
Tables · Tabelas
09
Drawing with TikZ · Desenhando com TikZ
10
Labels and cross-references · Rótulos e referências cruzadas
11
Citations and bibliography · Citações e bibliografia
12
Page layout and margins · Layout de página e margens
13
Colour and links · Cor e links
14
Capstone: a one-page report · Capstone: um relatório de uma página
Where to learn more · Onde aprender mais
- Overleaf Write and compile LaTeX in your browser — no install · Escreva e compile LaTeX no seu navegador — sem instalação
- Learn LaTeX in 30 minutes · Aprenda LaTeX em 30 minutos Overleaf's friendly getting-started guide · Guia amigável de introdução do Overleaf
- Detexify Draw a symbol, get its LaTeX command · Desenhe um símbolo, obtenha seu comando LaTeX
- CTAN The archive of LaTeX packages · O arquivo de pacotes LaTeX
Cyber security · Segurança cibernética
How attacks work and how to stop them — ciphers, hashing, and safe computing, hands-on. · Como ataques funcionam e como pará-los — cifra, hashing e computação segura, mão na massa.
16 Lessons · Lições
Cyber security · Segurança cibernética
How attacks work and how to stop them — ciphers, hashing, and safe computing, hands-on. · Como ataques funcionam e como pará-los — cifra, hashing e computação segura, mão na massa.
Course overview and progress →
What is cyber security? · O que é segurança cibernética?
Why it matters · Por que importa
Helpful resources · Recursos úteis
Nothing to install · Nada para instalar
01
Security, privacy and integrity · Segurança, privacidade e integridade
02
Malware
03
Attacks and brute force · Ataques e força bruta
04
Social engineering · Engenharia social
05
Defending a system · Defendendo um sistema
06
Passwords and authentication · Senhas e autenticação
07
Storing passwords safely · Armazenando senhas com segurança
08
Encoding is not encryption · Codificação não é criptografia
09
Symmetric encryption · Criptografia simétrica
10
Asymmetric encryption · Criptografia assimétrica
11
Hashing and digital signatures · Hashing e assinaturas digitais
12
HTTPS, SSL/TLS and certificates · HTTPS, SSL/TLS e certificados
13
Data integrity · Integridade de dados
14
SQL injection
15
Access control and least privilege · Controle de acesso e privilégio mínimo
16
Ethics, law and staying safe · Ética, lei e segurança pessoal
Where to learn more · Onde aprender mais
- A-Level CS security handouts (this site) · Materiais de apoio de Segurança Nível A (este site) Topics 6 Security, 7 Ethics, 17 Encryption — exam revision · Tópicos 6 Segurança, 7 Ética, 17 Criptografia — revisão para exames
- IGCSE CS handouts (this site) · Materiais de apoio IGCSE CS (este site) Topics 2.3 Encryption and 5.3 Cyber security · Tópicos 2.3 Criptografia e 5.3 Segurança cibernética
- OWASP Top 10 The most common web security risks, explained · Os riscos mais comuns de segurança web, explicados
- picoCTF Learn security by solving fun challenges · Aprenda segurança resolvendo desafios divertidos
- Have I Been Pwned Check if your email appeared in a data breach · Verifique se seu email apareceu em um vazamento de dados
Practice · Prática
Sharpen your skills with challenges from 1★ to 5★. Pick a language. · Aprimore suas habilidades com desafios de 1★ a 5★. Escolha um idioma.
01
Print a word · Imprimir uma palavra
★☆☆☆☆
02
Print another word · Imprimir outra palavra
★☆☆☆☆
03
Print a sentence · Imprimir uma frase
★☆☆☆☆
04
Print with a ! · Imprimir com um !
★☆☆☆☆
05
Print two lines · Imprimir duas linhas
★☆☆☆☆
06
Print three lines · Imprimir três linhas
★☆☆☆☆
07
Print a number · Imprimir um número
★☆☆☆☆
08
Print a bigger number · Imprimir um número maior
★☆☆☆☆
09
Add two numbers · Somar dois números
★☆☆☆☆
10
Add bigger numbers · Somar números maiores
★☆☆☆☆
11
Subtract · Subtrair
★☆☆☆☆
12
Multiply · Multiplicar
★☆☆☆☆
13
Divide · Dividir
★☆☆☆☆
14
Remainder · Resto
★☆☆☆☆
15
Use a variable · Usar uma variável
★☆☆☆☆
16
A number variable · Uma variável numérica
★☆☆☆☆
17
Change a variable · Alterar uma variável
★☆☆☆☆
18
Add two variables · Somar duas variáveis
★☆☆☆☆
19
Multiply two variables · Multiplicar duas variáveis
★☆☆☆☆
20
Join two words · Juntar duas palavras
★☆☆☆☆
21
Greet a name · Saudar um nome
★☆☆☆☆
22
Repeat text · Repetir texto
★☆☆☆☆
23
Ask for a name · Perguntar um nome
★☆☆☆☆
24
Echo a number · Ecoar um número
★☆☆☆☆
105
Call a function · Chamar uma função
★☆☆☆☆
106
Use what it gives back · Usar o que ela devolve
★☆☆☆☆
107
Finish the function · Finalizar a função
★☆☆☆☆
108
Write one yourself · Escrever uma você mesmo
★★☆☆☆
25
Your first function · Sua primeira função
★☆☆☆☆
26
Is it positive? · É positivo?
★☆☆☆☆
27
The bigger one · O maior deles
★☆☆☆☆
28
The last item · O último item
★☆☆☆☆
29
Is it even? · É par?
★☆☆☆☆
30
Sum a list · Somar uma lista
★☆☆☆☆
31
Reverse a string · Inverter uma string
★★☆☆☆
32
Count the vowels · Contar vogais
★★☆☆☆
33
FizzBuzz
★★★☆☆
34
Letter frequencies · Frequência de letras
★★★☆☆
35
Remove duplicates · Remover duplicatas
★★★☆☆
36
Second largest · Segundo maior
★★★☆☆
37
Group anagrams · Agrupar anagramas
★★★★☆
38
Flatten a nested list · Achatamento de lista aninhada
★★★★☆
39
RPN calculator · Calculadora RPN
★★★★★
40
Run-length encoding · Codificação por comprimento de corrida
★★★★★
41
Count to ten · Contar até dez
★★☆☆☆
42
Even numbers · Números pares
★★☆☆☆
43
Liftoff · Decolagem
★★☆☆☆
44
Star triangle · Triângulo de estrelas
★★☆☆☆
45
The 3 times table · A tabela do 3
★★☆☆☆
46
Running total · Total acumulado
★★★☆☆
47
Largest without max · Maior sem max
★★★☆☆
48
Smallest without min · Menor sem min
★★★☆☆
49
Count the positives · Contar os positivos
★★☆☆☆
50
Average of a list · Média de uma lista
★★★☆☆
51
Add up 1 to 100 · Somar de 1 a 100
★★☆☆☆
52
Upside-down triangle · Triângulo invertido
★★☆☆☆
53
FizzBuzz with 4 and 6 · FizzBuzz com 4 e 6
★★★☆☆
54
Until you type stop · Até digitar stop
★★★☆☆
55
A list of squares · Uma lista de quadrados
★★☆☆☆
56
Count a value · Contar um valor
★★☆☆☆
57
Keep the evens · Manter os pares
★★☆☆☆
58
Find the position · Encontrar a posição
★★★☆☆
59
Smallest and largest · Menor e maior
★★★☆☆
60
Above average · Acima da média
★★★☆☆
61
Binary to denary · Binário para decimal
★★★★☆
62
Denary to binary · Decimal para binário
★★★★☆
63
Digital root · Raiz digital
★★★★☆
64
Caesar cipher · Cifra César
★★★★☆
65
Bank account · Conta bancária
★★★★☆
66
Transpose a grid · Transpor uma grade
★★★★☆
67
Most common word · Palavra mais comum
★★★★★
68
Sieve of Eratosthenes · Crivo de Eratóstenes
★★★★★
69
A row of Pascal's triangle · Uma linha do triângulo de Pascal
★★★★★
70
Tic-tac-toe winner · Vencedor do Jogo da Velha
★★★★★
71
Is it big? · É grande?
★☆☆☆☆
72
Pass or fail · Aprovado ou reprovado
★☆☆☆☆
73
Positive, negative or zero · Positivo, negativo ou zero
★☆☆☆☆
74
The bigger number · O número maior
★☆☆☆☆
75
Even or odd · Par ou ímpar
★☆☆☆☆
76
Is it in range? · Está no intervalo?
★★☆☆☆
77
Free entry · Entrada livre
★★☆☆☆
78
Grade letter · Nota em letra
★★☆☆☆
79
Divisible by both · Divisível por ambos
★★☆☆☆
80
Ticket price · Preço do ingresso
★★☆☆☆
81
Finish the countdown · Finalizar a contagem regressiva
★☆☆☆☆
82
The loop that never ends · O loop que nunca termina
★☆☆☆☆
83
Count up to five · Contar até cinco
★☆☆☆☆
84
Add up to five · Somar até cinco
★☆☆☆☆
85
Double until it passes 100 · Dobrar até passar de 100
★★☆☆☆
86
Stop at the first over fifty · Parar no primeiro acima de cinquenta
★★☆☆☆
87
Count down in twos · Contar regressivamente de dois em dois
★★☆☆☆
88
Until they type stop · Até digitarem stop
★★☆☆☆
89
How many halvings? · Quantas divisões por dois?
★★☆☆☆
90
A row of the times table · Uma linha da tabela de multiplicar
★★☆☆☆
91
The first letter · A primeira letra
★☆☆☆☆
92
The last letter · A última letra
★☆☆☆☆
93
The first three letters · As primeiras três letras
★☆☆☆☆
94
How long is it? · Qual é o tamanho?
★☆☆☆☆
95
Shout it · Gritar
★☆☆☆☆
96
Initials · Iniciais
★★☆☆☆
97
Ask for a name · Perguntar um nome
★☆☆☆☆
98
Ask for two things · Pedir duas coisas
★☆☆☆☆
99
A number from input · Um número da entrada
★☆☆☆☆
100
Add two numbers you were given · Somar dois números fornecidos
★★☆☆☆
101
Each letter on its own line · Cada letra em sua própria linha
★☆☆☆☆
102
Zero to four · De zero a quatro
★☆☆☆☆
103
Count the letters · Contar as letras
★☆☆☆☆
104
Add up one to five · Somar de um a cinco
★☆☆☆☆
01
Print a word · Imprimir uma palavra
★☆☆☆☆
02
Print another word · Imprimir outra palavra
★☆☆☆☆
03
Print a sentence · Imprimir uma frase
★☆☆☆☆
04
Print with a ! · Imprimir com um !
★☆☆☆☆
05
Print two lines · Imprimir duas linhas
★☆☆☆☆
06
Print a number · Imprimir um número
★☆☆☆☆
07
Add two numbers · Somar dois números
★☆☆☆☆
08
Subtract · Subtrair
★☆☆☆☆
09
Multiply · Multiplicar
★☆☆☆☆
10
Divide · Dividir
★☆☆☆☆
11
Remainder · Resto
★☆☆☆☆
12
A number variable · Uma variável numérica
★☆☆☆☆
13
A text variable · Uma variável de texto
★☆☆☆☆
14
Add two variables · Somar duas variáveis
★☆☆☆☆
15
Your first method · Seu primeiro método
★☆☆☆☆
16
Is it positive? · É positivo?
★☆☆☆☆
17
Cube a number · Elevar ao cubo um número
★☆☆☆☆
18
The smaller one · O menor
★☆☆☆☆
19
Square a number · Elevado ao quadrado
★☆☆☆☆
20
Largest of three · Maior de três
★☆☆☆☆
21
Count the vowels · Contar vogais
★★☆☆☆
22
Reverse the word order · Inverter a ordem das palavras
★★☆☆☆
23
Palindrome check · Verificação de palíndromo
★★★☆☆
24
Running sum · Soma acumulada
★★★☆☆
25
Most frequent character · Caractere mais frequente
★★★☆☆
26
Binary search · Busca binária
★★★☆☆
27
Factorial (mind the size) · Fatorial (cuidado com o tamanho)
★★★★☆
28
Count primes below n · Contar primos abaixo de n
★★★★☆
29
Roman numerals · Números romanos
★★★★★
30
Longest common prefix · Maior prefixo comum
★★★★★
01
Print a word · Imprimir uma palavra
★☆☆☆☆
02
Print another word · Imprimir outra palavra
★☆☆☆☆
03
Print a sentence · Imprimir uma frase
★☆☆☆☆
04
Print with a ! · Imprimir com um !
★☆☆☆☆
05
Print two lines · Imprimir duas linhas
★☆☆☆☆
06
Print three lines · Imprimir três linhas
★☆☆☆☆
07
Print a number · Imprimir um número
★☆☆☆☆
08
Add two numbers · Somar dois números
★☆☆☆☆
09
Subtract · Subtrair
★☆☆☆☆
10
Multiply · Multiplicar
★☆☆☆☆
11
Remainder · Resto
★☆☆☆☆
12
A number variable · Uma variável numérica
★☆☆☆☆
13
Add two variables · Somar duas variáveis
★☆☆☆☆
14
Multiply two variables · Multiplicar duas variáveis
★☆☆☆☆
15
Your first function · Sua primeira função
★☆☆☆☆
16
Is it positive? · É positivo?
★☆☆☆☆
17
Cube a number · Elevar ao cubo um número
★☆☆☆☆
18
The smaller one · O menor
★☆☆☆☆
19
Square a number · Elevado ao quadrado
★☆☆☆☆
20
Sign of a number · Sinal de um número
★☆☆☆☆
21
Largest of three · Maior de três
★★☆☆☆
22
Factorial · Fatorial
★★☆☆☆
23
Greatest common divisor · Máximo divisor comum
★★☆☆☆
24
Count the 1-bits · Contar os bits 1
★★☆☆☆
25
Sum an array · Soma de um array
★★★☆☆
26
Swap two values · Trocar dois valores
★★★☆☆
27
String length · Comprimento de string
★★★☆☆
28
Count a character · Contar um caractere
★★★☆☆
29
Reverse in place · Inverter in-place
★★★★☆
30
Palindrome · Palíndromo
★★★★☆
31
Bubble sort · Ordenação por bolha
★★★★☆
32
Points with a struct · Pontos com struct
★★★★☆
33
Binary search · Busca binária
★★★★★
34
Parse an integer · Analisar um inteiro
★★★★★
All courses, one page each · Todos os cursos, uma página cada
- Python Basics · Noções Básicas de Python
- Python for IGCSE CS · Python para IGCSE CS
- IGCSE CS Pseudocode · Pseudocódigo IGCSE CS
- Python for A-Level CS · Python para CS Nível A
- AS-level CS Pseudocode · Pseudocódigo CS nível AS
- Databases & SQL · Bancos de dados e SQL
- Python for AP CS Principles · Python para AP CS Principles
- Java for AP CS A · Java para AP CS A
- C Programming · Programação em C
- Web Basics — HTML & CSS · Noções de Web — HTML & CSS
- JavaScript
- LaTeX
- Linux & the command line · Linux e a linha de comando
- Cyber security · Segurança cibernética
- Python Practice · Prática em Python
- Java Practice · Prática Java
- C Practice · Prática em C