Contextualização
Ao longo dessa semana, você e seu grupo se aventurarão em um mundo fascinante preenchido por códigos, estruturas e elementos que revolucionaram a maneira como vivemos no século XXI - o mundo da programação. Esse campo amplamente incrível é o fundamento de muitas soluções inteligentes que encontramos em nosso dia a dia, desde aplicativos que usamos no celular, até a infraestrutura de grandes empresas.
A programação é uma habilidade essencial na era digital. Ela nos permite criar softwares, construir websites e desenvolver aplicativos móveis. Por meio dela, somos capazes de resolver problemas complexos, otimizar processos e até mesmo criar novas tecnologias. Seja na ciência, na arte, na medicina ou nos negócios, a programação está em todos os lugares, moldando o futuro que nós esperamos.
Introdução
A introdução à programação é a etapa inicial para desenvolver essa habilidade, onde aprenderemos conceitos básicos como: sintaxe e semântica, variáveis e tipos de dados, operadores, controle de fluxo e muito mais. Durante esse estudo você não apenas aprenderá como estruturar um programa de computador, mas também será desafiado a pensar de maneira lógica e criativa para solucionar problemas e desenvolver soluções efetivas.
Programar é como construir um quebra-cabeças, onde temos que dispor cada linha de código de forma a fazer sentido como um todo. Além disso, a programação requer gerenciamento de tempo, comunicação eficaz, resolução de problema e pensamento criativo. Em suma, é um exercício completo que desenvolve habilidades fundamentais para o nosso tempo.
Essa jornada pelo mundo da programação será rica, desafiadora e, acima de tudo, divertida. Ao longo desse percurso, vocês utilizarão ferramentas de programação, aprenderão a escrever códigos limpos, testarão e depurarão programas, além de ganhar uma compreensão básica sobre estruturas de dados e algoritmos.
Como aprimoramento do aprendizado, seguem abaixo algumas dicas de materiais extras para instrumentalizar ainda mais seu conhecimento:
- Livro: "Pense em Python: Como pensar como um cientista da computação" por Allen B. Downey. É uma ótima introdução à programação Python, uma das linguagens mais utilizadas atualmente.
- Website: Codecademy (www.codecademy.com). Uma plataforma interativa online que oferece aulas gratuitas de codificação em várias linguagens de programação, tais como JavaScript, HTML/CSS, PHP, Python e Ruby.
- Vídeo: Canal do Youtube "Curso em Vídeo". O conteúdo é bastante didático e abrange diversos níveis de programação.
Siga respeitando o tempo, o ritmo e as singularidades de cada elemento desse grupo. Encoraje a participação e a inclusão de todos os membros do seu time. Colaborem, participem e acima de tudo, divirtam-se.
Atividade Prática
Jogo da Velha Automatizado
Objetivo do Projeto:
O objetivo deste projeto é desenvolver um jogo da velha automatizado em Python. O jogo da velha é um jogo popular que é simples de recriar com código. Isso tornará o aprendizado das fundações da programação mais agradável e interativo para os alunos.
Este projeto irá intensificar o entendimento dos alunos sobre conceitos chaves da programação como: estruturas de controle de fluxo (loops e condições), manipulação de listas (estruturas de dados), funções e a lógica da programação em si.
Materiais Necessários:
O projeto requer apenas um computador por grupo com um interpretador Python instalado e um ambiente de codificação como o PyCharm, Jupyter Notebook ou até mesmo um bloco de notas simples.
Descrição Detalhada do Projeto
O jogo da velha (Tic Tac Toe em inglês) é um jogo simples em que os jogadores alternam a marcação de espaços em uma grade de 3x3, tentando marcar três espaços em uma linha antes que o adversário possa. Para este projeto, os alunos irão programar um jogo da velha básico, onde o computador será o adversário.
Passo a Passo Detalhado para a Realização da Atividade
-
Entendendo as Regras do Jogo: Antes de começar a escrever qualquer código, vocês precisam entender as regras do jogo da velha. Como o jogo é ganho? Como é perdido? Quando é um empate?
-
Desenho do Tabuleiro: Use uma lista de listas em Python para representar o tabuleiro do jogo. Cada elemento interno da lista representa uma linha do tabuleiro.
-
Função de Visualização do Tabuleiro: Depois de criar o tabuleiro, crie uma função que receberá como parâmetro a lista representando o tabuleiro e a utilizará para imprimir o tabuleiro no console para que os jogadores possam vê-lo.
-
Função de Movimento do Jogador: Agora, crie uma função para permitir que o jogador insira sua jogada. A função deve perguntar ao jogador qual movimento eles gostariam de fazer, e então fazer esse movimento na lista do tabuleiro.
-
Função de Movimento do Computador: Crie uma função para simular o movimento do computador. Por agora, o computador só precisa fazer movimentos aleatórios.
-
Verificando o Vencedor: Crie uma função que verificará se o jogo foi ganho depois de cada movimento. A função verifica todas as possíveis combinações vencedoras: três em uma linha, três em uma coluna ou três em uma diagonal.
-
Loop Principal: Em seguida, crie um loop principal que continuará pedindo jogadas ao jogador e ao computador, alternadamente, e verificará se o jogo foi ganho após cada movimento até que o jogo termine (um jogador ganhe ou todos os espaços estejam marcados).
-
Melhorando a Função de Movimento do Computador: Depois de ter uma versão básica do jogo funcionando, volte e melhore a função que controla o movimento do computador. Em vez de fazer movimentos aleatórios, o computador deve tentar fazer o melhor movimento possível dado o estado atual do tabuleiro.
O tempo sugerido para a execução do projeto é de 2 a 4 horas por aluno, sendo que o projeto pode ser desenvolvido ao longo de uma semana. O grupo deve ser formado por 3 a 5 alunos.
Entregas do Projeto:
Após concluírem a parte prática, os alunos devem escrever um relatório. O relatório deve conter, mas não se limitar aos seguintes tópicos:
1. Introdução: Contextualizam o tema, sua relevância e aplicação no mundo real bem como o objetivo deste projeto.
2. Desenvolvimento: Explicitam a teoria por trás do tema central do projeto, explicam a atividade realizada com base nos passos seguidos, indicam a metodologia utilizada e por fim apresentam e discutem os resultados obtidos, principalmente destacando trechos de código e explicando a sua função no contexto do jogo.
3. Conclusões: Devem retomar seus pontos principais, explicitar os aprendizados obtidos e as conclusões retiradas a partir do projeto.
4. Bibliografia: Indicam as fontes em que se basearam para trabalhar no projeto como livros, páginas da web, vídeos, etc.
Os alunos devem tomar cuidado com a correção gramatical, clareza, coerência e concisão da redação. A norma culta da língua deve ser seguida e os textos de apoio utilizados devem ser corretamente citados e referenciados.