Codificação
As linguagens de programação e o seu funcionamento
Os participantes aprenderão os princípios e conceitos básicos das linguagens de programação. É dada uma visão geral das linguagens de programação de alto e baixo nível, sendo claramente realçadas as diferenças entre estes tipos. As linguagens de alto nível, como Python e Java, são consideradas em comparação com as linguagens orientadas para a máquina, como Assembly.
Da programação visual ao 0 e 1
Esta secção abrange a gama de programação, desde as linguagens de programação visual até às linguagens orientadas para a máquina. São apresentados exemplos de linguagens de programação visual, como o Scratch, e de linguagens orientadas para máquinas, como o Assembler. São explicados os diferentes níveis de programação e as suas aplicações.
Fundamentos da programação
Aqui são ensinados os conceitos básicos da programação. Estes incluem a sintaxe e a semântica das linguagens de programação, a declaração e utilização de variáveis e tipos de dados (como inteiro, flutuante, string, booleano), bem como a utilização de operadores aritméticos, lógicos e de comparação.
Padrões de conceção
Os padrões de conceção são padrões de solução comprovados para problemas recorrentes no desenvolvimento de software. Os participantes ficam a conhecer a definição e o objetivo dos padrões de conceção e recebem exemplos de padrões comuns, como singleton, factory e observer. A aplicação e as vantagens dos padrões de desenho no desenvolvimento de software também são discutidas.
Estruturas de controlo
Esta secção aborda as estruturas de controlo básicas da programação, incluindo condições e ramificações com instruções if, else e elif, bem como loops como os loops for e while. É também explicada a importância do controlo dos ciclos através das instruções break e continue.
Funções e modularidade
Os participantes aprenderão a definir e chamar funções, incluindo parâmetros, valores de retorno e reutilização de código. São também abordados os princípios básicos da modularidade e a divisão do código em módulos reutilizáveis e geríveis.
Estruturas de dados básicas
Esta secção fornece uma compreensão básica das estruturas de dados, como listas, arrays, dicionários, hashmaps, tuplas e conjuntos. Os alunos aprenderão a criar, aceder e modificar estas estruturas.
Algoritmos simples e resolução de problemasOs participantes são apresentados a algoritmos básicos de ordenação, como a ordenação por bolhas e a ordenação por seleção. Ficam também a conhecer algoritmos de pesquisa, como a pesquisa linear e binária. São abordadas estratégias sistemáticas de resolução de problemas e métodos de depuração.
Programação orientada para objectos (OOP)São ensinados os princípios básicos da programação orientada para objectos, incluindo classes, objectos, atributos e métodos. Conceitos como a herança, o polimorfismo e o encapsulamento são fundamentalmente explicados e ilustrados com exemplos simples.
Projectos simples e aplicações práticasOs participantes põem em prática os seus conhecimentos em pequenos projectos práticos, tais como o desenvolvimento de uma calculadora, uma lista de tarefas ou um jogo simples. Por último, são abordadas técnicas simples para verificar e melhorar o seu próprio código através de revisões de código.
