Pensamento Computacional e Computação
Mirella M. Moro, Maio de 2013.
Projeto FAPEMIG PerCEba
Pensamento computacional envolve a resolução de problemas, a capacidade de projetar sistemas e a compreensão do comportamento humano. Recorrendo aos conceitos fundamentais da Ciência da Computação, o pensamento computacional utiliza uma variedade de ferramentas mentais que refletem a amplitude do campo da ciência da computação [ALLAN 2010]. Uma outra definição apresenta o pensamento computacional como uma maneira de pensar que utiliza conceitos e metodologias da computação para resolver questões em um amplo espectro de assuntos oferecendo, então, um conjunto de habilidades importantes para qualquer das ciências modernas [QIN 2009].
É importante notar que pensamento computacional é uma competência fundamental para todas as pessoas, não apenas para os cientistas da computação. Além da competência para a leitura, escrita e aritmética, devemos adicionar pensamento computacional à capacidade analítica que a escola deve formar cada criança. Além disso, da mesma forma como a invenção da imprensa facilitou a propagação da capacidade de leitura, a computação e os computadores facilitam a propagação do pensamento computacional.
Diante da necessidade de se resolver um problema particular, poderíamos perguntar: Qual é dificuldade em se obter uma resposta? Qual é o melhor maneira de se resolver esse problema? Esses tipos de perguntas estão relacionados à computação da resposta para um problema. De maneira complementar, é possível afirmar que a Ciência da Computação repousa sobre sólidos fundamentos teóricos baseados na lógica, filosofia e matemática em geral para responder a perguntas como estas com precisão.
Especificamente, é possível calcular, com certa precisão, o grau de complexidade que um programa deverá enfrentar para se obter a solução. Em alguns casos, é possível obter uma solução aproximada inclusive com garantia de grau de aproximação, ou mesmo com o uso de randomização, ou soluções estocásticas. Tais cálculos estão na base da área de Ciência da Computação.
De maneira mais abrangente e independente do processo de computação per se, as técnicas do pensamento computacional oferecem estratégias e ferramentas para a reformulação de um problema cuja solução é difícil em um outro problema mais simples. Uma vez obtida a resposta desse problema simplificado é possível obter a resposta do problema original através de técnicas como redução, incorporação, transformação ou simulação.
Além disso, pensamento computacional é pensar de forma recursiva; é pensar de forma paralela. É interpretar o código fonte como os dados e dados como código fonte. É se utilizar da possibilidade de ver um código binário como vários tipos distintos, permitindo generalização da análise dimensional. É se utilizar do poder do endereçamento indireto e da utilização de procedimentos e rotinas. Podemos avaliar um programa não apenas por sua correção e eficiência, mas também por sua estética, fruto de um projeto que incorpora simplicidade e elegância.
A capacidade de pensar computacionalmente, de uma pessoa que tem a competência do pensamento computacional, é fator essencial para o sucesso da atução de um profissional que atua em praticamente todas as áreas do conhecimento. Novamente, a habilidade de exercer o pensamento computacional aparece nos mais diversos tipos de profissão, do pedreiro (o qual precisa realizar as mais diversas escolhas enquanto constroi um muro) ao engenheiro civil (o qual precisa seguir processos pré-definidos e tomar decisões em relação à construção de um condomínio inteiro).
Como exemplo prático de atividades que podem ser desenvolvidas facilmente por professores do ensino médio e que incluem conceitos de pensamento computacional, considere o seguinte. Na aula de matemática, é relativamente simples mostrar que vários conceitos que os alunos vêm aprendendo desde o primário são, na verdade, procedimentos computacionais. Para comprovar tal afirmação, o professor pode propor o seguinte desafio: discuta em duplas (ou grupos) as diferentes formas que existem de produzir um resultado para a soma (ou outra operação) dos números 3 e 5. A resposta para tal questão inclui pelo menos cinco soluções, a saber: (i) contar 3 objetos = 1 2 3, contar 5 objetos = 1 2 3 4 5, contar todos os objetos = 1 2 3 4 5 6 7 8; (ii) contar a partir do primeiro número = 3 4 5 6 7 8; (iii) contar a partir do segundo número = 5 6 7 8; (iv) derivar o resultado = 3 + 5 é dois a mais do que 3 + 3, então é 8, ou 3 + 5 é igual a 4 + 4 = 8; e (v) saber decorado que 3 + 5 = 8 é um fato. Esse é apenas um exemplo de como o pensamento computacional pode auxiliar na resolução de problemas dos mais simples aos mais complexos.
Mesmo utilizando o exemplo matemático, é importante notar que Pensamento Computacional não é Matemática, é mais e não é tudo. Em outras palavras, existe uma interseção entre Computação e Matemática bem como grandes diferenças. Por exemplo, uma grande diferença está na facilidade de usar alguns dos resultados: uma criança pode usar produtos da computação (como navegar em uma página Web) mas a mesma não pode usar produtos da matemática tão facilmente (como ler e entender um teorema matemático). Igualmente, a mesma criança pode usar noções de Pensamento Computacional para definir, questionar e resolver diferentes problemas.
Pensamento Computacional no Mundo
A importância do pensamento computacional tem ganhado reconhecimento em vários países do mundo e existem várias referências importantes deste material. A primeira etapa para realização deste projeto prevê o estudo de conceitos e técnicas existentes, de maneira que um estudo aprofundado do estado-da-arte deverá ser realizado. Desse modo, esta subseção cita apenas um conjunto pequeno de trabalhos que mostram a relevância de definir um projeto para incluir Pensamento Computacional nas escolas brasileiras.
Primeiramente, existem vários projetos que preveem a inclusão de pensamento computacional nas escolas. Por exemplo, um trabalho extremamente recente apresenta o projeto para inserção imediata de conceitos de pensamento computacional às escolas de ensino médio do estado do Alabama, EUA [JENKINS 2012]. Esse estado tem uma iniciativa para melhorar o ensino de matemática, ciências e tecnologia no seu currículo através do incentivo de atividades práticas nas disciplinas de matemática e ciências. Os exercícios são baseados no computador e “empurram” os estudantes a formar a fundação mental necessária para abstração e generalização.
Iniciativa similar é apresentada em [HOWELL 2011], o qual descreve a primeira fase de um projeto multi-disciplinar entre os professores de computação e língua inglesa. Esse projeto visa explorar como as habilidades de pensamento computacional, tais como abstração, modelagem e iteração, podem auxiliar professores de língua inglesa a ensinar seus estudantes a escreverem corretamente. A fase inicial do projeto focou no desenvolvimento e aplicação de um modelo para capturar conceitos fundamentais para o ensino de composição, com ênfase especial aos conceitos relacionados à clareza da escrita.
Ainda no ensino de línguas, o trabalho [WOLZ 2011] mostra como conceitos de jornalismo foram utilizados para incluir pensamento computacional no currículo de turmas de 7º e 8º ano do ensino básico. Os resultados indicam que foi possível desenvolver uma atitude positiva em relação ao pensamento computacional em estudantes e professores que não se consideravam do tipo “matemático”.
Além de poder auxiliary no ensino de matemática, ciências e línguas, o pensamento computacional também pode auxiliar no ensino das ciências biológicas. Especificamente, o trabalho [QIN 2009] discute como a biologia moderna tem se transformado em uma ciência multidisciplinar que, por sua vez, demanda treinamento interdisciplinar para a futura força de trabalho em biológicas e ciências humanas. Esse projeto prevê o ensino de pensamento computacional para alunos de bioinformática. Apesar de considerar alunos do nível superior, esse projeto apresenta exemplos e estudos de caso que podem ser facilmente adaptados para o ensino de biologia no nível de ensino médio.
Pensamento Computacional no Brasil
É importante notar que Pensamento Computacional está extremamente relacionado à Tecnologia da Informação. Especificamente, Tecnologia da Informação e Comunicação (TIC) engloba todas as áreas que estudam a automatização do processamento e da comunicação de informação, incluindo todas as ferramentas necessárias para tal automatização. Para o Brasil, o desenvolvimento da Tecnologia da Informação é essencial não apenas do ponto de vista político, mas também econômico e social. Nesse contexto, a seguir estão dois trechos fundamentais do Livro Azul [MCT 2010], os quais definem a importância da tecnologia da informação e comunicação para o País bem como salientam a urgência de levar maior conhecimento sobre tecnologia da informação às escolas e instituições públicas.
As tecnologias da informação e comunicação (TICs) estão na base de produtos e serviços de crescimento excepcional, com altíssimas taxas de inovação, que geram empregos qualificados e geralmente têm baixo impacto ambiental. Sua utilização vem penetrando e transformando progressivamente todas as atividades humanas, desde os setores econômicos tradicionais até as utilidades domésticas, o entretenimento, a segurança, a defesa, a educação, a saúde e a administração pública. O domínio das TICs passou a ser condição necessária tanto para o sucesso em qualquer uma dessas atividades quanto para a própria vida cotidiana e profissional dos cidadãos e mesmo para o avanço e a difusão do conhecimento científico e tecnológico. [ ... ]
A efetiva exploração do potencial apresentado pelas TICs também depende da universalização de habilidades ou da cultura digital entre trabalhadores e cidadãos, assim como do acesso a uma eficiente infraestrutura de comunicações por parte de indivíduos, empresas, escolas e instituições públicas. Avançar simultaneamente em todas essas frentes é condição necessária para que o País possa vir a efetivamente usufruir das potencialidades dessas tecnologias, que muitos chegam a identificar como a base de uma emergente sociedade ou economia do conhecimento. Nenhum país que aspire a ser moderno e desenvolvido pode abrir mão de investir seriamente na área de TICs. Fazê-lo poderia ser comparado metaforicamente a um país que quisesse desenvolver-se em séculos passados sem se alfabetizar.
De modo geral, é possível dizer que a inclusão de conceitos de Pensamento Computacional na Escola Brasileira é uma ação concreta na busca do desenvolvimento de TICs no Brasil. O desenvolvimento do Pensamento Computacional na Escola, entre outras vantagens, deverá aproximar os estudantes da realidade das TICs, fomentando a discussão e a conscientização para os problemas atuais do país. Desse modo, as novas gerações de estudantes ao ingressarem na sua formação superior, terão uma maior consciência sobre inovação e tecnologia, a qual é fundamental para a evolução do país. Além disso, a mencionada “cultura digital” também poderá ser trabalhada juntamente com a discussão prática sobre as possibilidades que o pensamento computacional define.
Referências
[ALLAN 2010] Vicki Allan, Valerie Barr, Dennis Brylow, Susanne Hambrusch. Computational thinking in high school courses. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education, pages 390-391, 2010.[HOWELL 2011] Linda Howell, Lisa Jamba, A. Samuel Kimball, Arturo Sanchez-Ruiz . Computational thinking: modeling applied to the teaching and learning of English. In Proceedings of the 49th Annual Southeast Regional Conference, pages 48-53, 2011.
[JENKINS 2012] Janet T. Jenkins, James A. Jerkins, Cynthia L. Stenger. A plan for immediate immersion of computational thinking into the high school math classroom through a partnership with the Alabama math, science, and technology initiative. In Proceedings of the 50th Annual Southeast Regional Conference, pages 148-152, 2012.
[MCT 2010] Ministério da Ciência e Tecnologia. Livro Azul, 2010.
[QIN 2009] Hong Qin. Teaching computational thinking through bioinformatics to biology students. ACM SIGCSE Bulletin (41)1: 188-191, 2009.
[WING 2006] Jeannette M. Wing. Computational Thinking. Communications of the ACM, 49(3):33-35, 2006.
[WOLZ 2011] Ursula Wolz, Meredith Stone, Kim Pearson, Sarah Monisha Pulimood, Mary Switzer. Computational Thinking and Expository Writing in the Middle School. ACM Transactions on Computing Education (11)2: article number 9, 2011.