Prévia do material em texto
FENÔMENOS DIGITAIS E PENSAMENTO COMPUTACIONAL Olá! Atualmente, os computadores estão por toda parte, de forma que seu poder de processamento se tornou indispensável para a transmissão de dados. A revolução da tecnologia vem transformando a forma como se transmite informações, substituindo os humanos em muitas de suas tarefas operacionais. Quando se fala sobre a capacidade dos computadores de automatizar tarefas e conduzir processos, fala-se do pensamento computacional. Neste capítulo, vamos conceituar pensamento computacional e descrever os aspectos que caracterizam sua funcionalidade. Além disso, veremos de que forma pode-se aplicar o pensamento computacional e quais são as limitações que ainda existem em relação a suas habilidades. Bons estudos! AULA 4 – CONCEITO DE PENSAMENTO COMPUTACIONAL Ao final dessa unidade você deve apresentar os seguintes aprendizados: Conceituar pensamento computacional. Identificar o uso do pensamento computacional. Descrever as principais limitações em pensamento computacional. 4 PENSAMENTO COMPUTACIONAL: DEFINIÇÃO E CONCEITOS As primeiras ideias sobre o pensamento computacional geralmente estão relacionadas ao poder de processamento dos computadores e como eles são usados, mas o pensamento computacional é sobre projetar soluções e usar a tecnologia para resolver problemas de computador de outras maneiras. Ele pode ser definido como uma estratégia baseada no uso da tecnologia para solucionar problemas. Na realidade, o pensamento computacional descreve como executar tarefas com mais eficiência sem usar os recursos associados à programação de computadores e à ciência da computação (WING, 2014 apud BEECHER, 2019). Múltiplos métodos e modelos computacionais podem ser usados para resolver problemas de vários níveis de complexidade, projetar sistemas que não podem ser executados por humanos e derivar inteligência de cada componente envolvido no processo. O pensamento computacional pode, portanto, ser definido como a habilidade básica que todos possuímos para realizar todas as tarefas: a atividade mental de abstrair problemas e formular soluções que possam ser automatizadas (WING, 2014 apud BEECHER, 2019). Um conceito-chave para explicar o pensamento computacional é a capacidade de abstrair problemas e formular soluções automaticamente. Além disso, geralmente são aplicadas algumas técnicas e ferramentas que permitem resultados favoráveis do ponto de vista humano. O pensamento computacional também pode ser definido com base em três etapas: 1. Formulação de um problema, também chamada de fase de abstração; 2. Uma representação da solução aplicada, também chamada de fase de automação; 3. Realização da solução e uma avaliação, definido como fase de análise. Cada estágio representa como as tarefas são combinadas originando o pensamento computacional, e por consequência, facilita a execução de diversas tarefas, desde os problemas mais simples aos mais complexos. O pensamento computacional não deve ser visto como um recurso usado apenas por cientistas da computação. O pensamento computacional abrange, portanto, múltiplas tarefas relacionadas não apenas à solução de problemas e ao projeto de sistemas, mas também à capacidade de extrair conceitos fundamentais da ciência da computação e compreender o comportamento humano. Há ainda algumas outras considerações que podem ser apontadas sobre o conceito de pensamento computacional (BEECHER, 2019): Compreensão da forma de como as informações são utilizadas em um determinado contexto para a solução de um problema complexo; Reformulação de um problema complicado par algo que seja mais simples de solucionar; Capacidade de julgamento de um programa por sua estética e um sistema simples. De acordo com Beecher (2019), para que as fases supracitadas se realizem, o pensamento computacional deve conter algumas características que descrevem seu funcionamento conforme a seguir. Decomposição Esse processo divide um problema em partes menores que são mais fáceis de resolver e gerenciar. Dessa forma, a análise de cada parte do problema é realizada separadamente e as soluções encontradas são reconstruídas para formar a solução final do problema inicial. Possibilita resolver problemas complexos de forma mais simples e projetar sistemas de grande porte sem que as ações necessárias se tornem um gargalo para o processamento computacional. Reconhecimento de padrões Padrões é qualquer recurso que causa problemas semelhantes entre si, características iguais que são compartilhadas. Reconhecê-los simplifica a resolução de problemas, construindo uma base de soluções possíveis para cada cenário identificado, tornando o processo mais gerenciável. Representação de dados/abstração Consiste em criar mecanismos que nos permitam filtrar classificações de dados, isolando apenas os elementos essenciais de um determinado problema e ignorando detalhes irrelevantes. Permite que seja criado uma expressão, uma ideia do que está tentando resolver. Esse processo é a base para selecionar os detalhes a serem ignorados. Isso facilita a compreensão do problema sem perder informações importantes. Porque se essa informação não existir, o raciocínio pode ser quebrado. Esse processo é bastante importante, e utilizado em diferentes momentos como: Iterações da escrita do algoritmo; Na seleção de dados; Na realização de uma pergunta; Da relação entre indivíduo e robô; Da organização dos módulos de um sistema. A fase de abstração envolve também as seguintes características (RIBEIRO; FOSS; CAVALHEIRO, 2017). Dados: Uma parte da abstração que permite descrever as informações, como dados de entrada e de saída, que são necessárias para resolver um problema. Processo: Permite a definição de algoritmos que descrevem a solução de um problema, a abstração deve ser suficiente para o entendimento do leitor. Tecnologia de construção de algoritmos: oferece maneiras mais fáceis de resolver problemas complexos e representa o nível de pensamento computacional. O pensamento computacional pode ser utilizado em diferentes contextos. Uma máquina pode ser muito mais rápida e eficiente do que um ser humano ao realizar uma tarefa, apesar disso, pode-se destrinchar um problema em partes utilizando-se da representação de dados para determinação das variáveis envolvidas, ou ainda, criar um algoritmo para identificar um problema específico e solucioná-lo. Ambas as formas de aplicar o pensamento computacional levam a soluções gerais que são úteis em muitos casos, generalização ou abstração (RIBEIRO; FOSS; CAVALHEIRO, 2017). Denning e Tedre (2019) salientam que os humanos dão apenas um passo, enquanto os computadores podem se mover mais de um trilhão de vezes no mesmo período de tempo. No entanto, para compreender mais profundamente o conceito de pensamento computacional, é preciso levar em consideração que os computadores realizam operações que seguem instruções de operações lógicas e aritméticas. Da mesma foram os humanos são capazes de fazê-lo, embora muito mais lentos e com maior possibilidade de erros em relação às máquinas. Essa diferença defino a base do pensamento computacional. Os computadores podem executar várias tarefas ao mesmo tempo, portanto, os programas são a ponte para todas as comunicações. A comunicação é feita pela aplicação de algoritmos que são codificados em uma linguagem especial e traduzidos em instruções de máquina que controlam o computador. Os humanos também podem simular esse tipo de processo e interpretar informações, realizando as mesmas tarefas com base nos recursos utilizados na computação (DENNING e TEDRE, 2019). Definindo o pensamento computacional, não é exagero dizer que o conceito está fortemente associado a áreas afins, como ciência da computação e programação, e a atividadesque envolvem tomada de decisão, resolução de problemas e criatividade. Todos os processos estabelecidos pelo pensamento computacional usam recursos computacionais, ou pelo menos métodos que se assemelham a processos técnicos, para apoiar a execução de tarefas (BRACKMANN, 2017). Compreender os limites da computação nos ajuda a entender como a criatividade e a habilidade humana podem ser usadas para resolver problemas e usar a tecnologia de computação como uma ferramenta dedicada para resolver problemas. Claramente, projetar um programa ou máquina que faça tantas coisas em tão pouco tempo é uma tarefa que exige que as pessoas passem mais tempo pensando, o que acaba sendo um grande desafio (BRACKMANN, 2017). 4.1 Aplicação do Processamento Computacional A aplicação principal para o processamento computacional se relaciona com qualquer contexto que seja necessário criar uma solução para um problema e que como intermediador dessa resolução esteja um computador desempenhando este papel. Desse modo, é importante recordar que o processamento computacional está ligado também a outros seguimentos como matemática, por exemplo, além da computação em si (DENNING e TEDRE, 2019). Atualmente, o pensamento computacional é muito aplicável na área do Direto, sendo um recurso que fornece assistência para os agentes da lei. Para possibilitar esse cenário, é aplicado um conjunto de regras lógicas de modo a automatizar os processos de obtenção de informação, reduzindo a atuação humana. Beecher (2017) afirma que essa ação, amplia a expectativa dos resultados obtidos, em desenvolvimento de pesquisas como a investigação de Joseph Bell Center que pretendeu construir um sistema que colaborasse com a elaboração de hipóteses para elucidar as evidências da cena de um crime. Para a educação, o pensamento computacional aplicado gera grande impacto e transformação, exprimindo um meio de divulgar informações, produzir conhecimentos e solucionar obstáculos através de processos que amparem as decisões que precisam ser tomadas, produzindo assim, resultados mais eficientes. Isso se dá pelo fato de que a criatividade é permanentemente desenvolvida, o que aprimora o raciocínio em relação a forma como os problemas podem ser solucionados (SCHLOGL et al., 2017). Alguns países como os Estados Unidos, Reino Unido, Israel, Alemanha, Dinamarca, entre outros, acataram estratégias de adicionar o pensamento computacional à educação básica. As definições que orientam essas estratégias são parecidas, no entanto, cada um produz as adaptações de acordo com o seu principal objetivo, utilizando-se de ferramentas específicas, técnicas de programação e princípios computacionais aplicados à cada disciplina (SCHLOGL et al., 2017). A cultura digital e a tecnologia suportam o pensamento computacional através de vários meios de comunicação, tecnologia e recursos. Isso permite que os alunos se aprofundem no conteúdo e, consequentemente, desenvolvam melhor as habilidades esperadas. Verifica-se, portanto, que a educação assimila o pensamento computacional como um recurso de grande importância para a didática e aprendizagem, orientando sobre a aplicabilidade dos princípios da computação. Apesar da minha forte associação com a ciência da computação, é uma habilidade cotidiana. Nesse caso, o objetivo final não é ensinar a todos como pensar como um cientista da computação, mas sim aplicar esses elementos comuns para resolver problemas e criar novos problemas a serem explorados dentro e entre as disciplinas. Trata-se de ensiná-lo a identificar problemas (BEECHER, 2017). Dessa maneira, o pensamento computacional na educação configura um processo de obtenção de conhecimento com base no pensamento, experiências, representação e memória. O desenvolvimento cognitivo se relaciona às melhorias das capacidades de raciocínio e para tomada de decisões, apesar de estar relacionada também à prática básica da programação (SCHLOGL et al., 2017). Mais um exemplo de utilidade para o pensamento computacional é para o setor de eventos, qual Beecher (2017) cita um caso aplicado do pensamento computacional em cerimoniais, onde o reitor buscava uma forma de tornar mais ágil o processo de entrega de diplomas. Foi optado por posicionar os estudantes e por um canal eficiente, projetar os nomes para que o reitor assistente entregasse os diplomas. No entanto, para tornar o procedimento ainda mais organizado e mais ágil, foram envolvidas mais pessoas na cerimônia para auxiliar na condução do evento, garantindo a descentralização das demandas em uma única pessoa, e desse maneira, evitar o afunilamento do fluxo de alunos. A Figura 1 nos traz ilustrado como o pensamento computacional se relaciona com as áreas e subáreas da computação e programação de dados. Nota-se que o pensamento computacional é superior à aplicação dessas tecnologias, uma vez que se utiliza, em sua base, da forma de raciocínio aplicada pelos recursos computacionais (BRACKMANN, 2017). Figura 1 – Pensamento computacional e sua relação com outras áreas Fonte: Brackmann, 2017. Ainda que haja muitos conceitos, existe ainda uma dificuldade em identificar em quais momentos deve-se aplicar o pensamento computacional. Para tal, é apresentado a seguir, considerações para elucidar como isso pode ser assimilado. O pensamento computacional não se refere ao uso exclusivo da ciência da computação. Isso significa que a capacidade de pensar do indivíduo não depende do uso de recursos tecnológicos para que um problema seja solucionado. Pelo contrário, desenvolver técnicas que possibilitem a execução de processos e aplicar soluções é possível utilizando capacidade de aprendizagem, planejamento e autonomia. Enquanto a computação associa a programação e a ação de programar com a aprendizagem de produção de um software, o pensamento computacional é bem mais descrito como uma conduta objetivada na solução de problemas, apesar de compartilhar alguns aspectos tecnológicos. Não se acata que sempre o computador será utilizado para a solução de um problema, mas em algumas situações. O ponto final é sempre apresentar uma solução. Para a educação, o conceito principal envolvendo o pensamento computacional é o conhecimento transferível, que assume que as capacidades aprendidas podem ser aplicadas em vários contextos do dia a dia sem depender de uma máquina. Nota-se que todo conceito envolvido no desenvolvimento do pensamento computacional inicia-se nos princípios do desenvolvimento de diversas capacidades, bem como de diferentes tecnologias, resoluções e recursos utilizados por diversificados métodos e meios computacionais. 4.2 Limitações do Pensamento Computacional Deve-se considerar que qualquer máquina se baseia em um conjunto de orientações para solucionar os problemas e que cada contexto é definido por restrições e limitações que se relacionam com o ambiente operacional. Imperialismo Os conceitos nutridos sobre o pensamento computacional estão arriscados a se tornarem imperialistas ao afirmar que seu foco é fazer com que humanos pensem como computadores. Há uma visão endurecida sobre o pensamento computacional ser apenas aquilo que foi aprovado por cientistas ou em cada área, da forma como se decide definir seu significado (BEECHER, 2017). Progressivamente nota-se que diversas formas de dar conceito ao pensamento computacional não se relacionam com a forma original e que nem tudo está conectado à ciência da computação, mas sim, com as atividades diárias. Todavia, isso leva à imaturidade do pensamento computacional, uma vez que os recursos que baseiam sua aplicabilidade estão já bem estabelecidos, como a lógica, algoritmos e a decomposição (BEECHER, 2017). Maturidade Quando a funcionalidade de um recurso está totalmente desenvolvida, pode-se dizer que ele atingiu a maturidade. No entanto, de acordocom Beecher (2017), em se tratando de pensamento computacional, algumas situações precisam ainda ser desenvolvidas acerca das fases que as definem para garantir que o conceito não seja atribuído com frequência à tecnologia avançada e que qualquer indivíduo se sinta capacitado para desenvolver as habilidades básicas. Beecher (2017) ainda afirma que, com o passar do tempo, o conceito de pensamento computacional tem sido estudado para que tenha cada vez mais um melhor alinhamento entre a proposta e as melhorias, no sentido de solucionar problemas, agregando processos que aprimorem a técnica. Eficácia A eficácia do pensamento computacional ainda não é tão robusta quando poderia ser, no entanto, quanto mais experimentos forem sendo realizados, cada vez mais, melhores serão os resultados. Mas também há críticas dirigidas ao conceito do pensamento computacional, pois alguns afirmam que ele, o pensamento computacional, é muito vago e dificilmente distingue-se de outras formas de pensamento devidamente. Como o pensamento computacional é apenas uma pequena parte do campo, alguns pesquisadores estão preocupados em promover o pensamento computacional como um substituto para a educação científica mais ampla. Há ainda mais uma preocupação, que ele influencie de a limitar o pensamento sobre os problemas que se pode resolver, desconsiderando o impacto social, ético e/ou ambiental. Comparando o pensamento do computador com a inteligência humana em termos de como os computadores executam as mesmas tarefas, os recursos de computação podem agilizar qualquer processo, automatizando-o de maneiras mais simples. Portanto, o pensamento computacional ainda não representa uma eficácia perfeita, tornando-se uma clara limitação quando se fala em tecnologia disponível atualmente. Além do mais, nem tudo que é feito pelo pensamento computacional está totalmente livre de erros. O pensamento computacional auxilia na resolução de problemas em diversos contextos sociais, o que permite que qualquer pessoa inclua e aplique cálculos em suas atividades cotidianas. E ainda, também adiciona uma variada quantidade de ferramentas psicológicas capazes de refletir a dimensão do campo da ciência da computação através da compreensão, do uso e criação de tecnologias digitais, permitindo comunicação, acesso e propagação de informação. Dessa forma, o pensamento computacional gera conhecimento, soluciona problemas e se mostra um importante ator no desenvolvimento de habilidades, e também na evolução do pensamento. REFERÊNCIAS BIBLIOGRÁFICAS BEECHER, K. Computational thinking a beginner's guide to problem-solving and programming. Swindon: BCS, 2017. BRACKMANN, C. H. Desenvolvimento do Pensamento Computacional através de atividades desplugadas na computação básica. 2017. 266 f. Tese (Mestrado em Informática na Educação) — Programa de Pós-Graduação em Informática na Educação, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2017. DENNING, P. J.; TEDRE, M. Computational thinking. Cambridge, MA: MIT Press, 2019. RIBEIRO, L.; FOSS, L.; CAVALHEIRO, S. C. Entendendo o pensamento computacional. arXiv. org, 2017. SCHLOGL, L. E. et al. Ensino do Pensamento Computacional na educação básica. Revista de Sistemas e Computação, v. 7, n. 2, p. 304-322, 2017.