Você está na página 1de 21

LICENCIATURA EM

TECNOLOGIAS BIOMÉDICAS

UC: PROGRAMAÇÃO
AULA 0 : AP R E S E N TA ÇÃO
(Curso: 2023 -2024)

P r o f . D r. M i g u e l A . G u e v a r a L o p e z
(Email: miguel.lopez@estsetubal.ips.pt)
Programação

Sumário:
o Enquadramento e Âmbito da UC, Linguagem, Paradigmas
o ETCS, Aulas e Apoios
o Plataformas: Moodle, MS Teams, etc.
o Avaliação
o Bibliografia

Aula 0: Apresentação
Programação

Enquadramento e Âmbito da UC, linguagem


Paradigmas:

▪ 1º Ano / 1º Semestre
o Programação (Python)

▪ Paradigmas de Programação
o Programação procedimental e imperativa, e orientada por objetos.

▪ Plataforma, IDE, e Ferramentas de Aprendizagem


o Plataforma Anaconda-Python (Individual Edition).
o Ferramentas de Apoio ao aprendizagem: Jupiter, Google Colab.
o IDE: Visual Studio Code

Aula 0: Apresentação
Programação

Tipologia das Aulas:

▪ Teórico – Praticas (45 horas):


o 3 horas semanais ( 2 aulas teórico-práticas, exemplos simples)

▪ Praticas de Laboratório (30 horas):


o 2 horas semanais (1 aula - eminentemente pratica, solução de problemas mais complexos).

▪ Docente:
o Prof. Dr. Miguel Guevara Lopez
o E-mail: miguel.lopez@estsetubal.ips.pt

Aula 0: Apresentação
Programação

Âmbito da UC:

Adquirir conhecimentos, aptidões e competências na:


▪ Aprendizagem dos fundamentos concetuais ao desenvolvimento e codificação de
algoritmos em linguagens de programação;
▪ Desenvolvimento de aplicações informáticas em linguagens de alto nível;
▪ Aplicação prática dos conteúdos programáticos em problemas reais utilizando os
paradigmas de programação procedimental e imperativa, e programação orientada
por objetos;
▪ Desenvolvimento da capacidade de raciocínio lógico e formal na resolução de
problemas complexos.

Aula 0: Apresentação
Programação

Conteúdos Programáticos (Parte 1):


Parte 1:
1. Enquadramento da programação (5%)
1.1. Descrição básica de um computador.
1.2. Representação de Informação.
1.3. A programação e a resolução de problemas.
2. Algoritmos (5%)
2.1. Algoritmos e programas.
2.2. Conceito / definição de Algoritmo, abordagens bottom-up e top-down.
3. Linguagens de programação (5%)
3.1. Conceitos Básicos: linguagem natural, pseudocódigo, linguagem de programação.
3.2. Linguagens de baixo-nível vs linguagens de alto-nível.
3.3. Linguagens tipificadas vs não-tipificadas, compiladas e interpretadas.
3.4. Fases do desenvolvimento de programas.

Aula 0: Apresentação
Programação

Conteúdos Programáticos (Parte 2):


Parte 2:
4. Programação numa linguagem de alto nível, orientada ao exemplo: Python (85%)
4.1. Princípios de programação em Python:
4.1.1. Estrutura de um programa.
4.1.2. Expressões, Tipos de dados.
4.1.3. Instruções de entrada e saída:
4.1.4. Estruturas de controlo.
4.1.5. Funções / Subprogramas
4.2. Tipos de dados estruturados:
4.2.1. Arrays, Listas, dicionários, tuplas, sets.

Aula 0: Apresentação
Programação

Conteúdos Programáticos (Parte 2):


Parte 2 (continuação):
4.3. Introdução a programação orientada por objetos:
4.3.1. Noção de classe, objeto e atributos
4.3.2. Noções de visibilidade e encapsulamento
4.3.3. A noção de herança e polimorfismo
4.4. Introdução às exceções.
4.5. Utilização de bibliotecas externas.
4.6. Abordagens às ferramentas de desenvolvimento (IDEs, Jupyter Notebooks, etc.)
4.7. Processamento de sequências de dados (e.g.,ficheiros texto, Excel).
4.8. Introdução à criação de interfaces gráficas simples.

Aula 0: Apresentação
Programação

Linguagem PYTHON:

▪ Linguagem de alto nível interpretada, imperativa e procedimental, e orientado por


objetos;

▪ Sintaxe de fácil leitura e escrita para principiantes, mas também oferece bibliotecas
poderosas que fornecem funcionalidades adicionais;

▪ Suportado pelos principais tipos de sistemas operativos, como o Windows, Linux e


MacOs;

▪ Atualmente é uma linguagem de eleição, muito utilizada para aplicações práticas em


Engenharia, Ciências de Dados, e Inteligência Artificial.

Aula 0: Apresentação
Programação

ECTS, Aulas e Apoios:

▪ Programação: 6ECTS (> 120h de input / aluno);


o (1 ECTS = 20 ~25h input/aluno)
o Pressupõe 45h~75h de dedicação extra de aulas

▪ Aulas semanais (15 semanas = 75h)


o 2 TP (Total: 3 horas, 1.5h/cada)
o 1 PL – Laboratório (2h/cada)

▪ Horário de Apoio / Atendimento aos alunos


o Será publicado no Moodle.
o As respostas as comunicações dos alunos serão feitas apenas dentro destes horários.

Aula 0: Apresentação
Programação

Moodle:
▪ Repositório de materiais pedagógicos e enunciados;

▪ Anúncios relativos à UC;


o é importante garantir a consulta de e-mail frequente.

▪ Submissão de projetos;

▪ Outras atividades, por exemplo, a realização de minitestes, testes e exercícios de


autoavaliação;

▪ Dados de acesso (inscrição por parte do docente).

Aula 0: Apresentação
Programação

MS Teams:
▪ Possíveis sessões de aulas online (método alternativo);

▪ Sessões remotas dos horários de apoio ao aluno;

Aula 0: Apresentação
Programação

Metodologia de Ensino:
▪ Essencialmente baseada em aulas teórico-práticas e laboratórios. Pretende-se que os alunos
apliquem diretamente os conhecimentos que vão adquirindo e ao mesmo tempo estimulem a
criatividade e o raciocínio com desafios reais. Adicionalmente, os alunos têm suporte extra-
aulas, efetuado através da plataforma de e-Learning (Moodle, Teams).

▪ Será utilizada a linguagem de programação Python. Para tal, são ministrados os conceitos
fundamentais da linguagem, com recurso aos paradigmas de programação (i) procedimental e
imperativa, e (ii) orientada por objetos.

▪ Elementos de avaliação:
o Minitestes (questionários de escolha simples e múltipla, respostas de desenvolvimento livre);
o Testes e/ou Exame;
o Laboratórios avaliados e Projetos.

Aula 0: Apresentação
Programação

Métodos de Avaliação:
A aprovação parcial nas componentes TP e PL são independentes:
▪ e.g., obtendo aprovação na PL em Época Normal e não na TP, só a última tem de ser
repetida em Época de Recurso (o mesmo se aplica no inverso);
▪ Não há "congelamento" de notas entre anos letivos;

Importante
▪ Todas as avaliações carecem de inscrição (no Moodle) até uma data limite. A não
inscrição atempada impede o aluno de a efetuar. Não serão abertas exceções a esta
regra.

Aula 0: Apresentação
Programação

Métodos de Avaliação (Av. Contínua):


Elementos de avaliação:
▪ MT - (MiniTestes);
▪ T - (Testes ou Exame);
▪ L - (Laboratórios avaliados)
▪ P - Projeto.

Metodologia de Avaliação: - 50% TP + 50% PL (média >= 9.5, em cada componente da


avaliação)
▪ Avaliação TP(50%) = 2MT (20%, 10% cada) + 1T (30%)
▪ Avaliação PL(50%): 4L (20%, 5% cada) + 1P (30%)

Aula 0: Apresentação
Programação

Métodos de Avaliação (Av. Contínua):


Projeto:
A nota da componente de projeto será ponderada (na discussão) pela capacidade de
cada aluno do grupo (3 a 4 estudantes) "defender" o respetivo trabalho desenvolvido.

Considerações:
A discussão é obrigatória, pelo que a não-comparência resulta em nota = 0 no projeto
para o aluno em falta.

Aula 0: Apresentação
Programação

Época de Recurso:
TP = 1 Exame

PL = 1 Projeto (com enunciado diferente)

Nota final = (50% TP) + (50% PL)


o TP = ( 100% * E) | com E ≥9.5
o PL = (100% * P) | com P ≥9.5

Aula 0: Apresentação
Programação

Melhoria de nota:
Mediante inscrição valida:

▪ A componente TP só pode ser melhorada através de exame de recurso.

▪ A componente PL só pode ser melhorada através de projeto de recurso elaborado


individualmente.

Aula 0: Apresentação
Programação

Avaliação remota:

No caso de ser necessária e devidamente aprovada, nas avaliações remotas poderá ser
solicitada uma discussão oral para validação de competências.

Aula 0: Apresentação
Programação

Plagio:

▪ Todos os projetos são submetidos à verificação de plágio (cópias), simultaneamente;

▪ Qualquer situação de plágio detetada levará à anulação dos projetos envolvidos (não
interessa fonte/destino) e levantamento de processo disciplinar a nível Escola.

Aula 0: Apresentação
Programação

Bibliografia:
Primária:
▪ Andrew Bird. The Python Workshop: Learn to code in Python and kickstart your career in software
development or data science. 1st Edition.
▪ John V. Guttag. Introduction to Computation and Programming Using Python. With Application to
Computational Modeling and Understanding Data. 3rd Edition.
▪ Steven F. Lott y Dusty Phillips. Python Object-Oriented Programming: Build robust and maintainable
object-oriented Python applications and libraries. 4th Edition.
▪ Mark Lutz. Programming Python: Powerful Object-Oriented Programming. 4th Edition.
▪ The Python Tutorial. https://docs.python.org/3/tutorial/index.html

Secundária:
▪ Behrouz Forouzan, Foundations of Computer Science, 4th Edition. © 2018, Cengage Learning EMEA
▪ CS105: Introduction to Python. Sailor.org Academy. https://learn.saylor.org/course/view.php?id=439
▪ CS101: Introduction to Computer Science I. Sailor.org Academy.
https://learn.saylor.org/course/view.php?id=6

Aula 0: Apresentação

Você também pode gostar