Fundamentos de Programação

Unidade Curricular / Curricular Unit
Fundamentos de Programação

Ciclo de Estudos / Study Cycle
Licenciatura em  Informática de Gestão

Nome do Docente Responsável
Pedro Hugo Queirós Alves

Nome do Docente Adicional
Fernando Teodósio, Pedro Freire

Objectivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
O objectivo desta unidade curricular é fornecer aos futuros profissionais na área da informática as bases para que possam iniciar (de um modo disciplinado) a actividade de programação.
O aluno deverá ser capaz de conhecer as primitivas das linguagens do tipo imperativa.
Concretamente, o aluno deverá conhecer a sintaxe básica de JAVA que lhe permita escrever programas simples.

Learning outcomes of the curricular unit
This curricular unit aims to provide the basic programming concepts to future software engineers, allowing them to start (in a disciplined form) the programming activity.
The student should be able to understand the primitives of imperative programming languages.
In practice, the student should know the basic syntax of the Java language and develop simple Java applications.

Conteúdos programáticos
•introdução à programação
introdução aos algoritmos e aos programas
tipos de dados nativos
operações sobre tipos de dados nativos
tipos de dados compostos
entradas e saídas
selecção
repetição
subprogramas
introdução à recursividade e programação lambda

Syllabus
•Introduction to programming
Introduction to algorithms
Native data types
Operations with native data types
Composed data types
Input/Output
Selection
Repetition
Modules
Introduction to recursion and lambda programming

Demonstração da coerência dos conteúdos programáticos com os objectivos da unidade curricular
Conhecimento e compreensão: a problemática da programação no contexto do desenvolvimento de curta duração deve ser identificada pelo aluno.
Análise em Engenharia: é expectável que o aluno seja capaz de conceber soluções tecnológicas, que essas soluções considerem a optimização básica para os problemas colocados e que sejam capazes de as testar.
Contexto envolvente: O projeto em grupo fomenta o desenvolvimento dos skills de comunicação interpessoal e de gestão de requisitos e de tempo disponível para o seu desenvolvimento.

Demonstration of the syllabus coherence with the Curricular Unit’s objectives
Knowledge and understanding: the student should be able to identify the programming problems associated with the short-tem software development.
Analysis in Engineering: it is expectable that the student is able to design technological solutions, that those solutions are properly optimized and tested for the specific problem they aim to solve.
Surrounding context: The project is developed in group, improving communication skills as well as time and requirements management.

Metodologias de ensino (avaliação incluída)
A disciplina é teórico-prática, havendo uma alternância entre métodos:
Met. 1 – expositivos,
Met. 2 – demonstrativos
Met. 3 – participativos.

Avaliação Continua:
50% – Testes
50% – Projecto
Avaliação da Época de Recurso:
50% – Exame
50% – Projecto

Planned learning outcomes, teaching methods and assessment methods and criteria
The curricular unit is both theoretical and practical, switching between:
Met. 1 – exposition,
Met. 2 – demonstration
Met. 3 – participation.

Continuous evaluation:
50% – Tests
50% – Project
Appeal evaluation:
50% – Exam
50% – Project

Demonstração da coerência das metodologias de ensino com os objectivos de aprendizagem da unidade curricular
Projecto em Engenharia: começa-se nesta cadeira a fomentar as necessidades de alinhar os requisitos dos clientes e utilizadores finais com as soluções tecnológicas conhecidas.
Investigação: Motiva-se nesta cadeira a capacidade de discutir soluções distintas para o mesmo problema e pesquisar soluções já existentes para os problemas colocados.
Prática em Engenharia: usa o contexto laboratorial para introdução a ferramentas (IDEs, etc.) que permitam apoiar o processo de desenvolvimento, optimizando o ciclo de desenvolvimento de software.

Demonstration of the teaching methodologies coherence with the curricular unit’s objectives
Engineering project: in this curricular unit, students are motivated to align requirements (from clients and final users) with technological solutions.
Research: Students are motivated to discuss several distinct solutions to the same problem and research existing solutions to the proposed problems.
Practice in Engineering: uses the laboratorial context to introduce students to tools (IDEs, etc.) that improve and support the development process.

Bibliografia Principal / Main Bibliography
– Fundamentos de Programação, utilização das linguagens de programação imperativa: C e JAVA, Sérgio Luís Guerreiro, Sebenta ULHT, Lisboa, Portugal, 2008
– Introdução à Programação em Java, António Adrego da Rocha / Osvaldo Manuel da Rocha Pacheco, FCA, Lisboa, Portugal, 2009
– Programação em scheme introdução à programação utilizando múltiplos paradigmas, João Pavão Martins, Maria dos Remédios Cravo, IST Press, 2007

Universidade Lusófona


ECATI Escola de Comunicação, Arquitetura, Artes e Tecnologias da Informação

Departamento de Engenharia Informática e Sistemas de Informação
Edifício F, sala F.1.3
Direção — 217 515 500 (ext: 683)
Serviço de Apoio Tecnico-Admistrativo (SATA) — 17 515 500 (ext: 764)


Lisboa
Avenida do Campo Grande,
376 1749-024 Lisboa, Portugal
Tel.: 217 515 500 | email: info.cul@ulusofona.pt
Porto
Rua Augusto Rosa,
Nº 24, 4000-098 Porto - Portugal
Tel.: 222 073 230 | email: info.cup@ulusofona.pt

Gestão de conteúdos por Lucio Studer Ferreira © 2022 COFAC.