UC info
Pensamento Computacional
Código: | CINF050 | Sigla: | PC |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Ciência de Computadores |
Ocorrência: 2023/2024 - 1S
Ativa? | Sim |
Unidade Responsável: | Departamento de Engenharia Informática |
Curso/CE Responsável: | Licenciatura em Ciência da Informação |
Ciclos de Estudo/Cursos
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
CINF | 76 | Plano Oficial em vigor (2022) | 1 | - | 6 | 41 | 162 |
Língua de trabalho
PortuguêsObjetivos
- Estabelecer as bases do pensamento computacional, desenvolver a abstração e relacionar com os problemas no mundo natural.- Desenvolver a capacidade de conceber programas, compreendê-los e explicá-los, detetar e corrigir erros.
- Estabelecer a ponte entre os mundos analógico e digital e para desenvolver o pensamento crítico relativamente ao significado dos dados, as implicações sociais da privacidade e a ciência dos dados.
Resultados de aprendizagem e competências
Os estudantes terão as seguintes competências:
- Reconhecer aspetos da computação no mundo à sua volta;
- Aplicar ferramentas e técnicas da computação para compreender e raciocinar sobre sistemas e processos tanto naturais como artificiais;
- Abstração, em diversas modalidades: modelação, decomposição, generalização e classificação;
- Compreender e explicar programas;
- Conceber e escrever programas;
- Encontrar e corrigir erros no código;
- Refletir aprofundadamente sobre o programa, incluindo avaliar a sua correção e adequação ao propósito;
- Compreender a eficiência do programa;
- Descrever o sistema a outras pessoas;
- Discutir aspetos como a inteligência e a consciência naturais e artificiais, a criatividade e a propriedade intelectual e as implicações morais e éticas da utilização de computadores.
Modo de trabalho
PresencialPrograma
Algoritmos. O algoritmo como uma sequência de passos definidos para resolver um dado problema. Um mesmo problema pode ser resolvido por vários algoritmos diferentes. Critérios de escolha. Precisão tanto do algoritmo como dos dados. Algoritmos principais, ordenação e pesquisa. Conceção de algoritmos para re-utilização, validação, teste e correção.
Programas. Programar dispositivos físicos, instruções e ações. Sequenciação. Seleção. Repetição. Variáveis e atribuição. Dados de tipos diferentes: inteiros, carateres, cadeias. Operadores relacionais e lógica para controlar a execução das instruções do programa. Manipulação de expressões lógicas, tabelas de verdade variáveis booleanas. Abstração usando funções e procedimentos com parâmetros. Documentação de programas. Erros na sintaxe do programa e erros no seu significado. Estruturas de dados simples como variáveis, registos, matrizes, listas, árvores, tabelas de dispersão. Procedimentos que chamam procedimentos, em vários níveis. Programas que lêem e escrevem dados persistentes em ficheiros. Padrões de desenho: divisão e conquista, oleoduto, caching, ordenação, pesquisa, retrocesso, recursão, cliente/servidor, modelo/vista/controlador.
Dados. Introdução à manipulação binária. Representação de inteiros sem sinal, texto, som (tanto envolvendo conversão analógico-digital, e. g. WAV, como sem conversão, e. g. MIDI), fotografias e vídeo. Múltiplas representações de uma mesma coisa num computador. Hexadecimal. Inteiros com sinal em complemento para dois. Manipulação de cadeias. Compressão de dados; algoritmos de compressão sem e com perdas e. g. JPEG. Problemas da utilização de representações binárias discretas: quantificação, frequência de amostragem. Representação de números fracionários.
Aspetos sociais da computação.Bibliografia Obrigatória
John Guttag. ; Introduction to Computation and Programming Using Python: With Application to Understanding Data Second Edition. MIT Press, 2016. ISBN: 9780262529624Peter J. Denning, Matti Tedre. ; Computational Thinking, MIT Press, 2019.
Métodos de ensino e atividades de aprendizagem
As metodologias de estudo são baseadas em problemas e usam diversas ferramentas desde as simulações em papel e lápis e a programação de robots infantis até à escrita e correção de programas com um IDE para Python.Tipo de avaliação
Avaliação distribuída com exame finalComponentes de Avaliação
Designação | Peso (%) |
---|---|
Participação presencial | 0,00 |
Exame | 50,00 |
Teste | 50,00 |
Total: | 100,00 |
Componentes de Ocupação
Designação | Tempo (Horas) |
---|---|
Estudo autónomo | 70,00 |
Frequência das aulas | 30,00 |
Total: | 100,00 |
Obtenção de frequência
-
Cumprimento do limite de faltas legalmente estabelecido.
- Obtenção de um mínimo de 10 (dez) valores na classificação final
Fórmula de cálculo da classificação final
-
Nota Final = (Teste+Exame)/2;
se Teste >= 6,0 e Exame >= 6,0