• EN
  • Facebook
  • Instagram
  • Youtube
  • Linkedin
Você está em: Início > Ensino > Unidades Curriculares > TSPRSI105
Autenticação
ATENÇÃO: Este site utiliza cookies. Ao navegar no site estará a consentir a sua utilização.

Introdução à Programação

Código: TSPRSI105    Sigla: IP
Área Científica: Ciências Informáticas

Ocorrência: 2023/24 - 1S

Área de Ensino: Informática

Cursos

Sigla Nº de Estudantes Plano de Estudos Ano Curricular Créditos Horas Contacto Horas Totais
TSPRSI 23 Despacho n.º 8313/2021, de 20 de agosto 7

Horas Efetivamente Lecionadas

TRSI-1-STR

Teórico-Práticas: 68,00

Docência - Horas Semanais

Teórico-Práticas: 5,00

Tipo Docente Turmas Horas
Teórico-Práticas Totais 1 5,00
Cristina Maria Costa Rodrigues - ESGT   5,00

Docência - Responsabilidades

Docente Responsabilidade
Cristina Maria Costa Rodrigues - ESGT Responsável

Língua de Ensino

Português

Objetivos de Aprendizagem (conhecimento, aptidões e competências a desenvolver pelos estudantes)

  1. Discutir a importância dos algoritmos no processo de resolução de problemas e identificar as propriedades básicas de bons algoritmos;
  2. Utilizar pseudocódigo/ fluxogramas para a descrição de algoritmos;
  3. Compreender a representação de dados, conversão de tipos de dados, e como a precisão e arredondamentos afetam cálculos;
  4. Discutir o uso de tipo de dados e primitivos e estruturas de dados simples;
  5. Analisar e explicar o comportamento de programas simples;
  6. Modificar e expandir pequenos programas utilizando as estruturas de controlo condicionais, repetitivas e funções;
  7. Escolher as estruturas de controlo adequadas a uma dada tarefa;
  8. Aplicar técnicas de decomposição estrutural/ funcional para organizar programas em pequenos subprogramas e descrever técnicas de passagem de parâmetros;
  9. Descrever o conceito de recursão e compreender os casos de aplicação;
  10. Desenhar, implementar, testar e depurar programas utilizando uma linguagem de programação de alto nível;

Conteúdos programáticos

  1. Introdução às ciências da Computação
  2. Princípios de resolução de problemas
    • Conceitos e estratégias de resolução de problemas
    • Decomposição estruturada de problemas
    • Algoritmos e o processo de resolução de problemas
  3. Algoritmia
    • Estratégias de Implementação/descrição de algoritmos
    • Variáveis e constantes
    • Entrada/saída (E/S) de dados e atribuição
    • Operadores e precedências
    • Estruturas de controlo condicionais e iterativas
    • Propriedades de algoritmos
    • Depuração de algoritmos
  4. Linguagens Java
    • Conceitos base, sintaxe e semântica da linguagem e convenções de codificação
    • Variáveis e constantes
    • Tipos de dados primitivos e cadeias de caracteres
    • Operadores, precedências e conversão de tipos
    • Expressões e atribuição
    • E/S de dados simples
    • Estruturas de controlo condicionais e iterativas
    • Funções, passagem de parâmetros e recursividade
    • Vetores e vetores de vetores.
    • Algoritmos de ordenação, seleção e de pesquisa em vetores

Demonstração da Coerência dos Conteúdos Programáticos com os Objetivos de Aprendizagem da Unidade Curricular

No primeiro módulo os estudantes têm oportunidade de compreender o surgimento dos computadores, das linguagens de programação e respetivos paradigmas.

Os segundo e terceiro módulos são uma sequência natural do anterior onde são fornecidas as competências (a), (b), (e) (g) e(h)(em parte).
O quarto módulo fornece aos estudantes a primeira abordagem a uma linguagem de programação de alto nível, utilizando a linguagem Java como ferramenta. Este módulo fornece as competências estabelecidas em (c), (d) (e), (f), (g), (h), (i). No final deste módulo os estudantes deverão estar aptos para desenhar, implementar, testar e depurar programas utilizando uma linguagem de programação de alto nível(j);

Metodologia de Ensino (Avaliação incluída)

A metodologia de ensino assenta em aulas teóricas e teórico-práticas ou experimental. Nas aulas teóricas o docente apresenta os conteúdos de forma oral, com apoio de apresentações eletrónicas e ilustração de casos de estudo, fomentando a participação crítica dos alunos. As aulas de cariz mais prático e prático-experimental, visam a aplicação e o treino dos conhecimentos adquiridos e a descoberta de novas problemáticas.
Serão usados o  IDE Eclipse como ferramentas de trabalho e todos os conteúdos a lecionar estarão disponíveis na plataforma Moodle;

Sistema de avaliação:

  1. Um testes teóricos (E) (min 8 valores)
  2. Um trabalho prático (TP) (min 10 valores);

Nota final: 0.50* E+ 0.50 * TP

O método de avaliação de conhecimentos é avaliação contínua. Serão dispensados de exame final os alunos que obtenham a classificação mínima de 10 (dez) valores. Não estão contempladas avaliações por prova oral em qualquer um dos momentos de avaliação.


Demonstração da Coerência das Metodologias de Ensino com os Objetivos de Aprendizagem da Unidade Curricular

A organização da UC promove uma abordagem sintética dos conteúdos programáticos e a definição da experimentação como componente privilegiada do processo de aprendizagem. Este tipo de abordagem sugere que o aluno realize, de forma autónoma, um estudo teórico para aprofundamento dos temas abordados e experimentação prática para consolidação das aprendizagens. Neste contexto, a plataforma Moodle e o horário de atendimento extra letivo são importantes instrumentos de trabalho à disposição do aluno.

No contexto da experimentação e aplicação de saberes que permitam a construção dos conhecimentos pretendidos, a componente prática/experimental promove a aquisição das aptidões ligadas ao saber-fazer e a prática das atitudes definidas como objetivos de aprendizagem.

O sistema de avaliação engloba a avaliação individual (1 teste) e coletiva (1 trabalho de grupo). Os testes consideram a avaliação nas dimensões teórica e prática. O trabalho de grupo faz a avaliação nas dimensões prática e experimental.

Bibliografia de consulta (existência obrigatória)

Savitch, W. (2017). Java: An Introduction to Problem Solving and Programming (8th Edition). Addison-Wesley Publishing Company, ISBN-13: 978-0134462035;

Schildt, H. (2017). Java: A Beginner's Guide, Seventh Edition 7th Edition. McGraw-Hill Education, ISBN-13: 9978-1259589317;

Dean, J, Dean, R. (2013). Introduction to Programming with Java: A Problem Solving Approach 2nd Edition. McGraw-Hill Education, ISBN-13: 978-0073376066;

Manzano, J., Oliveira, J. (2008). Algoritmos: Lógica para Desenvolvimento de Programação de Computadores. 21ª edição, S. Paulo, Editora Erica;

Sun (2018). Java Language and Virtual Machine Specifications, available at: http://docs.oracle.com/javase/specs

Chan, P. (2006), Summary of Basic Java Syntax, available at: http://www.cs.fit.edu/~pkc/classes/cse1001/syntax.pdf

Observações