Ir para o conteúdo principal

Programação: da abstração à implementação em Python

O curso Programação: da abstração à implementação apresenta os fundamentos de programação de forma simples, não requerendo conhecimentos prévios.
Detalhes do Curso
Período de Inscrições:11/03/2025 - 31/08/2025
Data de Início:11/03/2025
Data de Fim:31/08/2025
Horas de Esforço: 40 horas

Detalhes do Curso

Descrição Geral

O curso "Programação: da abstração à implementação" é projetado para introduzir estudantes aos conceitos essenciais de programação, utilizando a linguagem Python como ferramenta principal.

Este curso visa introduzir todas as pessoas interessadas ao pensamento computacional, desenvolvendo a sua capacidade de compreender e aplicar conceitos fundamentais de programação, como são a abstração procedimental e de dados, explicando os conceitos fundamentais e apresentando um conjunto de boas práticas nesta atividade.

Público-Alvo

Todas as pessoas que queiram compreender os fundamentos de programação e desenvolver as suas capacidades nesta atividade, em particular utilizando a linguagem de programação Python.

Objetivos de Aprendizagem

Espera-se que quem siga este curso até ao final consiga programar algoritmos simples. Especificamente, no final devem ser capazes de:

  • Conhecer e saber aplicar os comandos de controlo elementares;
  • Conhecer e saber aplicar os tipos de dados elementares;
  • Perceber os conceitos de abstração procedimental e de abstração de dados;
  • Conhecer e saber aplicar os tipos de dados listas, dicionários e ficheiros;
  • Conseguir desenvolver programas muito simples em Python.

Pré-requisitos

Nenhuns.

Conteúdos abordados

O curso organiza-se à volta de cinco tópicos principais:

  • A Arte de Programar: introdução aos conceitos básicos, como abstração, algoritmos e execução de programas.
  • Tipos de Dados: exploração dos tipos primitivos, incluindo expressões, booleanos, números e strings, essenciais para a manipulação de dados.
  • Fluxo de Controlo: estudo das estruturas que controlam o fluxo dos programas, como são a atribuição, instruções de entrada/saída, instruções de seleção, ciclos (repetições) e tratamento de exceções.
  • Funções: abordagem à abstração procedimental com foco na definição e chamada, apresentando o essencial da definição de funções recursivas.
  • Abstração de Dados: introdução aos tipos de dados estruturados fundamentais, como tuplos, listas e dicionários, abordando ainda a leitura e escrita de ficheiros.

No final do curso, espera-se que haja um entendimento dos princípios fundamentais da programação, tendo consciência de um conjunto de boas práticas a aplicar, e que qualquer participante empenhado se encontre apto a começar a desenvolver pequenos programas de forma bem estruturada.

Métodos de Avaliação

No final de cada módulo de conteúdo, encontra um conjunto de exercícios de seleção da afirmação verdadeira, que o ajudarão a auto-avaliar os seus conhecimentos. No final, é apresentado um exame, constituído por um conjunto de questões semelhantes às anteriores. Participantes que obtenham uma nota no exame igual ou superior a 60% receberão um certificado de conclusão (sem referência da nota final).


Tutores

Claudia Antunes
Cláudia Antunes

Cláudia Antunes é Professora Associada no Instituto Superior Técnico – Universidade de Lisboa, onde leciona desde 1998 e concluiu o doutoramento em Engenharia Informática e de Computadores. É uma das primeiras doutoradas europeias no domínio da Ciência de Dados numa perspetiva de engenharia, tendo proposto novos métodos e metodologias de Aprendizagem Automática para lidar com dados temporais. Os seus interesses de investigação centram-se na utilização do conhecimento de domínio e exploração da temporalidade para automatizar a etapa de preparação de dados, em particular no âmbito da educação. Coordenou e participou em vários projetos de investigação nacionais e europeus, tendo cerca de uma centena de artigos publicados em revistas e conferências internacionais. A par deste trabalho, orientou cerca de meia centena de alunos de mestrado e doutoramento, e tem lecionado disciplinas de ciência de dados e fundamentos da programação, tanto em programas de graduação como de pós-graduação. Produziu três MOOCs sobre Ciência de Dados e Programação, disponíveis na plataforma MOOC Técnico. Cláudia é atualmente coordenadora de duas organizações locais sem fins lucrativos: o grupo de afinidade para as mulheres na engenharia no IEEE Portugal e o Colégio de Engenharia Informática da Ordem dos Engenheiros – Região Sul.


Bibliografia recomendada

João Pavão Martins, “Programação em Python. Introdução à programação utilizando múltiplos paradigmas”, Coleção Ensino da Ciência e da Tecnologia, 5ª Edição, 2023. ISBN: 978-989-8481-47-4

Creative Commons License
Este curso e os seus respetivos conteúdos estão licenciados através da licença Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Enrollment Period:11/03/2025 - 31/08/2025
Course Start Date:11/03/2025
Course End Date:31/08/2025
Effort Hours: 40 hours

Course Details

About This Course

The course "Programming: From Abstraction to Implementation" is designed to introduce students to essential programming concepts, using Python as the main tool.

This course aims to familiarize participants with computational thinking, enhancing their ability to understand and apply fundamental programming concepts, such as procedural and data abstraction, while explaining core principles and presenting a set of best practices in this field.

Target

This course is ideal for anyone looking to understand the fundamentals of programming and enhance their skills, particularly using Python.

Learning objectives

It is expected that participants will be able to program simple algorithms. Specifically, they should be capable of:

  • Understanding and applying basic control commands.
  • Understanding and using elementary data types.
  • Grasping procedural and data abstraction concepts.
  • Working with lists, dictionaries, and files in Python.
  • Developing very simple programs in Python.

Requirements

None.

Contents covered

The course is organized around five main topics:

  • The Art of Programming: introduction to basic concepts such as abstraction, algorithms, and program execution.
  • Data Types: exploration of primitive types, including booleans, numbers, and strings, essential for data manipulation and writing expressions.
  • Control Flow: study of structures that control program flow, such as assignment, input/output instructions, selection statements, loops (repetitions), and exception handling.
  • Functions: focus on procedural abstraction with an emphasis on function definition and calls, including the basics of recursive functions.
  • Data Abstraction: introduction to fundamental structured data types like tuples, lists, and dictionaries, along with file reading and writing.

By the end of the course, students will understand the fundamental principles of programming, be familiar with best practices, and be ready to start developing small, but well-structured programs.

Assessment and Certification

At the end of each content module, participants will find multiple-choice exercises to self-assess their knowledge. Additionally, a final exam with similar questions is provided. Participants scoring 60% or higher on the exam will receive a certificate of completion, without mention of the final grade.


Course Staff

Claudia Antunes
Cláudia Antunes

Cláudia Antunes is an Associate Professor at Instituto Superior Técnico – Universidade de Lisboa (IST-UL), where she has been teaching since 1998, and she completed her PhD in Information Systems and Computer Engineering. She is one of the first European doctors in the Data Science domain from an engineering perspective, having proposed new Machine Learning methods and methodologies to deal with temporal data. Her main research interests focus on using domain knowledge and exploring temporality to automate the data science process, namely in the education context. She has coordinated and participated in several national and European research projects, having around one hundred international publications. Along with this work, she supervised around fifty students and has been lecturing data science and programming courses, both in graduation and post-graduation programs. She produced three MOOCs on Data Science and Programming, openly available through the MOOC Técnico platform. Cláudia is currently the chair of two non-profit local organizations: the Women in Engineering Affinity Group in IEEE Portugal and the Computer Science and Engineering College for the Southern Region of the Portuguese Engineering Association (Ordem dos Engenheiros).


Bibliography

João Pavão Martins, “Programação em Python. Introdução à programação utilizando múltiplos paradigmas”, Coleção Ensino da Ciência e da Tecnologia, 5ª Edição, 2023. ISBN: 978-989-8481-47-4

Creative Commons License
The following course and its contents are licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License .

Matricular