You are on page 1of 8

Introdução Aos Princípios Fundamentais da Computação - HackMD 11/03/2024 11:56

Introdução Aos Pri… Try ! HackMD (https://hackmd.io?utm_source=view-page&utm_medium=logo-nav)

VIV0003 PENSAMENTO
COMPUTACIONAL - Turma: Quinta-feira
19:30 às 22:10hs

Ementa

Introdução aos princípios fundamentais da computação


Fundamentos de softwares de computadores
Fundamentos de hardware. representação de imagens e computadores.
Noções de programação:
exemplos com manipulação de imagens digitais.
Pensamento computacional e aplicações nas áreas de conhecimento

.
.
.

Objetivos

Analisar a equação que representa a essência dos computadores,


alicerçada em sua altíssima velocidade de processamento de instruções
simples e total ausência de discernimento, para determinar o que os
computadores são ou não capazes de fazer;Examinar os principais
componentes físicos de computadores, baseado na sua arquitetura, para
amparar o seu uso mais consciente, efetivo e eficiente;
Examinar os principais componentes físicos de computadores, baseado na
sua arquitetura, para amparar o seu uso mais consciente, efetivo e
eficiente;
Distinguir elementos imateriais de computadores, baseado em
fundamentos de software, para elucidar como as instruções escritas por
pessoas são fundamentais para que o computador seja capaz de realizar
https://hackmd.io/@aulas/fundamentos1 Página 1 de 8
Introdução Aos Princípios Fundamentais da Computação - HackMD 11/03/2024 11:56

algo útil;
Descrever a representação de imagens em computadores, com base em
métodos comumente usados, para praticar a abstração e o
reconhecimento de padrões;
Solucionar problemas simples de programação com exemplos de
manipulação de imagens digitais, baseado na linguagem Javascript, para
praticar a decomposição de problemas, a abstração, o reconhecimento de
padrões, e a automação de tarefas através de algoritmos;
Investigar as aplicações do pensamento computacional, baseado nos
pilares abstração, decomposição, reconhecimento de padrões e
automação de tarefas através de algoritmos, para constituir sua atuação
como profissional do século XXI.
.
.
.

Temas:

1. INTRODUÇÃO AOS PRINCÍPIOS FUNDAMENTAIS DA COMPUTAÇÃO


1.1. A EQUAÇÃO QUE REPRESENTA A ESSÊNCIA DOS COMPUTADORES
1.2.O PROCESSO DE EXPLORAÇÃO DO POTENCIAL DOS COMPUTADORES
ATRAVÉS DE CÓDIGOS E ALGORITMOS
1.3 PRIMEIRO CONTATO COM CÓDIGOS DE COMPUTADORES
.
.
.

1. INTRODUÇÃO AOS PRINCÍPIOS FUNDAMENTAIS DA


COMPUTAÇÃO
.
.
.

1.1. A EQUAÇÃO QUE REPRESENTA A ESSÊNCIA DOS


COMPUTADORES

https://hackmd.io/@aulas/fundamentos1 Página 2 de 8
Introdução Aos Princípios Fundamentais da Computação - HackMD 11/03/2024 11:56

A essência dos computadores pode ser encapsulada em várias equações e


conceitos-chave, mas uma das equações mais fundamentais é a Lei de Moore.
Vamos explorar isso e algumas outras equações e conceitos relacionados que
ajudam a entender a essência dos computadores:

Lei de Moore: Gordon Moore, co-fundador da Intel, formulou a Lei de


Moore em 1965, que afirma que o número de transistores em um circuito
integrado (CPU) dobra aproximadamente a cada dois anos. Isso resulta em
um aumento exponencial na capacidade de processamento e,
consequentemente, no desempenho dos computadores ao longo do
tempo.

N = N0 * 2^(t/T)

onde:

N - é o número de transistores em um circuito integrado em um


determinado momento t.
N0 - é o número de transistores em um circuito integrado em um momento
inicial (normalmente, quando a observação foi feita por Gordon Moore).
t - é o tempo decorrido desde o momento inicial.
T - é o período de tempo em que o número de transistores dobra
(tipicamente cerca de 2 anos, de acordo com a Lei de Moore).

Essa equação expressa a ideia de que o número de transistores dobra a cada


período T. No entanto, vale ressaltar que essa é uma simplificação e não leva
em consideração todos os aspectos da Lei de Moore, como a diminuição do
tamanho dos transistores e outros avanços tecnológicos.

Lei de Amdahl: Gene Amdahl desenvolveu essa equação para descrever o


ganho de desempenho que pode ser alcançado através da melhoria de um
único componente em um sistema de computador. Ela destaca que, à
medida que um componente específico é aprimorado, o ganho de
desempenho global é limitado pelas partes não melhoradas do sistema.

https://hackmd.io/@aulas/fundamentos1 Página 3 de 8
Introdução Aos Princípios Fundamentais da Computação - HackMD 11/03/2024 11:56

Stotal=(1−P)+NP1

onde:

StotalStotal - é o ganho de desempenho total que você espera alcançar


com a paralelização do programa.
PP - é a fração do programa que pode ser paralelizada.
NN - é o número de processadores ou núcleos disponíveis.

Essa equação demonstra que o ganho de desempenho total é limitado pela


fração sequencial do programa, que não pode ser paralelizada. À medida que a
fração paralelizável PP aumenta ou o número de processadores NN aumenta, o
ganho de desempenho aumenta. No entanto, há um limite para o quanto o
desempenho pode ser melhorado com a paralelização, e esse limite é
determinado pela fração sequencial do programa.

Equação de Toda Computação: Esta é uma equação hipotética que


representa a essência dos computadores, combinando várias variáveis,
incluindo o poder de processamento, a capacidade de armazenamento, a
eficiência energética e a conectividade. Embora não exista uma única
equação universal que descreva a essência de todos os computadores,
essa é uma representação conceitual.

TC=PC+NC+EC+CC

onde:

TCTC - representa a "Toda Computação", ou seja, a complexidade geral da


computação.
PCPC - é a Potência de Cálculo, que se refere à capacidade de
processamento bruto de hardware, como processadores e GPUs.
NCNC - é a Conectividade, que envolve a capacidade de dispositivos se
comunicarem uns com os outros por meio de redes.
ECEC - é a Eficiência Computacional, que abrange a otimização de
algoritmos e códigos para realizar tarefas de forma mais eficiente.
CCCC - é a Capacidade de Armazenamento, que se refere à quantidade de
dados que podem ser armazenados e recuperados.

https://hackmd.io/@aulas/fundamentos1 Página 4 de 8
Introdução Aos Princípios Fundamentais da Computação - HackMD 11/03/2024 11:56

Equação de Desempenho: Pode-se criar uma equação de desempenho


personalizada para representar um determinado sistema ou aplicação de
computador. Ela leva em consideração variáveis como taxa de
processamento, latência, largura de banda e eficiência para calcular o
desempenho relativo.

Equação de Complexidade: A complexidade de um algoritmo ou problema


computacional pode ser expressa em uma equação que descreve o número
de operações necessárias para resolvê-lo. A complexidade é fundamental
para entender como os computadores lidam com tarefas de diferentes
dificuldades.

Lei de Shannon: A Lei de Shannon, formulada por Claude Shannon,


descreve a capacidade de transmissão de informações de um canal de
comunicação em relação à largura de banda e ao ruído. Isso é fundamental
para a comunicação entre computadores e dispositivos.

Lei de Entropia: A entropia é uma medida da incerteza ou desordem em


um sistema. A Lei de Entropia de Claude Shannon está relacionada à
compressão de dados e à eficiência na representação e transmissão de
informações.

Equação de Turing: A máquina de Turing, proposta por Alan Turing, é uma


formulação conceitual que representa a capacidade de um dispositivo de
realizar qualquer cálculo que possa ser descrito por um algoritmo. Embora
não seja uma equação no sentido tradicional, é uma representação
fundamental da computação.
.
.
.

1.2. O PROCESSO DE EXPLORAÇÃO DO POTENCIAL DOS


COMPUTADORES ATRAVÉS DE CÓDIGOS E ALGORITMOS

https://hackmd.io/@aulas/fundamentos1 Página 5 de 8
Introdução Aos Princípios Fundamentais da Computação - HackMD 11/03/2024 11:56

Esse tema abrange como os programadores e desenvolvedores utilizam


códigos e algoritmos para aproveitar ao máximo a capacidade dos
computadores. Vamos abordar os principais pontos desse processo:

Compreensão de Problemas: Antes de começar a escrever códigos, é


essencial entender completamente o problema que se deseja resolver. Isso
envolve a análise dos requisitos, a identificação dos desafios e a definição
dos objetivos.
Algoritmos: Os algoritmos são instruções passo a passo para resolver um
problema específico. Eles servem como o plano de ação para o
computador. Criar algoritmos eficientes é crucial para a resolução de
problemas de forma rápida e precisa.
Linguagens de Programação: As linguagens de programação são usadas
para escrever códigos que o computador pode entender. Diferentes
linguagens têm diferentes finalidades e níveis de abstração. Escolher a
linguagem certa para um projeto é importante.
Codificação: Escrever códigos é a parte prática do processo. Isso envolve
traduzir o algoritmo em uma linguagem de programação específica. Os
códigos consistem em instruções detalhadas que dizem ao computador o
que fazer.
Testes e Depuração: Após escrever os códigos, é necessário testá-los
para garantir que funcionem conforme o esperado. A depuração é o
processo de encontrar e corrigir erros nos códigos.
Otimização: A otimização visa melhorar o desempenho dos programas.
Isso pode envolver a redução do uso de recursos, a aceleração do
processamento ou a redução do tempo de execução.
Utilização de Recursos: Os computadores modernos possuem uma
variedade de recursos, como processadores múltiplos, memória grande e
dispositivos de armazenamento rápidos. Programadores devem saber
como aproveitar esses recursos para tornar seus programas mais
eficientes.
Aprendizado de Máquina e Inteligência Artificial: Algoritmos de
aprendizado de máquina e inteligência artificial exploram o potencial dos
computadores para análise de dados, reconhecimento de padrões e
tomada de decisões autônomas.
Segurança da Informação: Programadores também devem considerar a
segurança ao explorar o potencial dos computadores. Isso envolve a

https://hackmd.io/@aulas/fundamentos1 Página 6 de 8
Introdução Aos Princípios Fundamentais da Computação - HackMD 11/03/2024 11:56

proteção de dados sensíveis e a prevenção de vulnerabilidades.


Aplicação Prática: Por fim, os códigos e algoritmos são aplicados em
diversas áreas, desde desenvolvimento de software, análise de dados,
jogos, automação industrial até pesquisa científica e muito mais.
.
.
.

1.3.PRIMEIRO CONTATO COM CÓDIGOS DE COMPUTADORES


Este é um tópico importante, especialmente para iniciantes que estão
começando a explorar o mundo da programação e da codificação. Aqui estão
algumas diretrizes sobre como explicar esse assunto:

https://hackmd.io/@aulas/fundamentos1 Página 7 de 8
Introdução Aos Princípios Fundamentais da Computação - HackMD 11/03/2024 11:56

Introdução à Programação:
Comece explicando o conceito básico de programação. Diga que a programação

Importância da Programação:
Explique por que a programação é importante. Você pode mencionar como os pr

Linguagens de Programação:
Introduza o conceito de linguagens de programação. Explique que existem mui

Primeiro Código Simples:


Mostre um exemplo muito simples de código para ilustrar como os programas s

Editores de Código:
Fale sobre as ferramentas que as pessoas usam para escrever códigos, como e

Execução do Código:
Explique como os códigos são executados pelos computadores. Mencione que os

Experimentação e Erros:
Encoraje a experimentação e explique que é normal cometer erros ao escrever

Recursos de Aprendizado:
Sugira recursos para quem deseja começar a aprender a programar, como tutor

Projetos Pequenos:
Incentive a criação de pequenos projetos para aplicar os conceitos aprendid

Persistência e Prática:
Lembre que a programação é uma habilidade que melhora com a prática constan

Comunidade e Colaboração:
Destaque que a programação frequentemente envolve colaboração com outras pe

Futuro da Programação:
Mencione que a programação é uma habilidade altamente valorizada e que cont

https://hackmd.io/@aulas/fundamentos1 Página 8 de 8

You might also like